|
Computer Engineers and Computer Scientists take essentially the same software design related courses. The difference is that Computer Engineers don't have to write an Operating System, and instead dig deeper into Electrical Engineering. I had to do Software Engineering, software theory, electrical design, hardware/chip design, embedded systems design, web design, all of it. Being a Computer Engineer myself, and choosing Computer Engineering over Computer Science, I'd say the degree is tougher to earn, and you learn a lot more random things (there are a lot of quality algorithms and design approaches that Electrical Engineers learn, and it's very convenient to have been exposed to them, to have my mind open to the possibilities, and to have them in mind as I work) that give a slight edge everyday. Also, to generalize, Computer Engineers tend to be more versatile, open-ended, jack-of-all-trades types (fits with the Entrepreneurial thing), versus the specializing Computer Scientist. They also tend to keep up with new developments and look for new and different ways to do things. Of course, a crappy Engineer is a crappy Engineer, and many that make it through the Computer Engineering course end up specializing, because they can't handle it all. I don't think it's a growing trend, though, and my experience had always been similar to that of a designer's: not enough credit/appreciation. Maybe that's changing, I don't know. Also, all these random things I know, and the difference in my approach to problems has always been continually suppressed, watered down, and stomped on by management, and after a few months/years, I realized the only way to make full of my potential, my approach to things, and what I know was to branch out on my own. |
In my career so far developing software for chemistry I've made heavy use of graph theory, formal language theory, and data structures that I learned while an undergraduate.
I don't have the same assessment as you in the advantage of a CE degree over a CS degree. I suspect there's a bias error, as you did not enter a field where a CS degree would have been more useful. Nor do I think that a CS degree is specializing, given the courses I took in operating systems, programming language theory, computer graphics, databases, etc. Of course, from my perspective "electrical design, hardware/chip design, embedded systems design" are all variations of the same thing, so it's a definite matter of perspective.
In any case, after 5 years or so in a career, the specific advantages of one background over the other get pretty weak.