Switching from engineering to computer science bad idea?

<p>

</p>

<p>I think another question is why are EE grads choosing to do a programming job over EE? But to answer your question, there are many software jobs going unfilled so companies will hire anyone who can show they know how to program. Degree is usually irrelevant for a software job if the person can show they know what to do. The same could be said for EE but those topics are much harder to teach oneself plus you really need to work in a lab to understand it. </p>

<p>Also CS majors are not payed less than EE’s really. It’s pretty even.</p>

<p>

</p>

<p>That’s pretty spread out. I’d expect the nation average to be pretty similar for the two majors.</p>

<p>

</p>

<p>Most CS grads who go into software start out as “code monkeys”. It may be a couple of years before you move out of this phase.</p>

<p>Ive actually already graduated and only need a few classes to actually earn a EE degree atop my CS degree. I started out as a Computer Engineering, went about 3/4 of the way lost interest switched to CS and graduated in 1 more semester rather than another year. Ive taken all the math and all the physics. Ive taken classes on solid state devices, lasers & photonics and even a class on medical imaging. </p>

<p>I chose to move to CS because I simply liked it better. Now as to which is harder. At My university CS has a drop out rate of 73%, EE 47%, Civil 23% and Mechanical 35%. The CSE department is also quite small only a hundred or so students, though it brings in more money via grants and support than all other disciplines in the school. </p>

<p>Ive done the EE work, and in my school most CS students take the standard engineering physics, as well as 2 classes, both going pretty low. Not the transistor level, but at least to the gate level. We also all do projects where we program FPGA’s. A big employer of CS students from my school are Altera and xilinx and Atto. I wonder why?</p>

<p>I know for a fact EE is hard, ive done it. But its hard in a different way than CS. In most of the more traditional engineering majors, you can get by simply by doing well on tests and homework’s. There are labs, but they are generally small. Sometimes capstones labs are quite large, but still moderate. The Homework’s in the more traditional engineering classes are not creative assignments and neither are the tests. You are asked a question on a fundamental topic and you need to show your knowledge of it. Most of the time they are math based, so its kinda hard to go wrong if you are at least good at that(math). Sometimes there are open ended questions, where you need to use multiple fundamentals to solve a problem, but you only see those in the upper level classes. The vast majority of Engineering classes are learn and recite then forget, –> move on. next topic. </p>

<p>CS on the other hand is filled with tests that ask very vague questions, usually in the type of whats wrong with these 300 lines of code, or write the algorithm to do this in O(logn) time. Projects in CS are another story, completely different than other engineering diciplines. We have projects, some that take up to 200 hrs in a 3 week period, and sometimes you have multiple large sized projects going at the same time. When i took my OS course, we had to program a Virtual machine like Vmware, program a virtual hard drive for it to run on and then write the drivers for it to interface with the main OS. Do you want to talk about hard? We had 4 weeks to do that project and I spent well over 300hrs on it. We had 3 projects that term, the first 2 where not as bad, but they were still sizable. All of this and I was also taking a database class as well as software engineering. To say CS is easy, shows a lack of knowledge on your part. There are many very easy CS schools, but if the school makes you take 3 calc classes, linear algebra and calc based probability, as well as 2 calculus based science courses, you can bet its a reputable program. Some programs don’t even make you take calc, but those are lesser programs. </p>

<p>I have to ask supjest. What do you think a EE does all day? Il let you in on it, they work in just about the same setting as the programmers.</p>

<p>

</p>

<p>I’m in Computer Engineering and I can say the classes I spend the most time with are my CE/SE/CS courses. For example, right now I am in embedded systems software II and we are creating a temperature sensor network using Atmega32 microcontrollers and DS1620 temperature sensors. Each week we have a lab that usually involves writing a device driver or programming a subsystem. These labs usually take a lot of time due to the coding…making the code work with the hardware…and sometimes the only way to test is with an oscilliscope. </p>

<p>My EE labs on the otherhand are usually just wiring a few circuits, testing, and comparing. </p>

<p>I think the reason CE/CS labs are more work is because we are able to work on them from any location. An EE lab requires quite a bit of equipment usually.</p>

<p>

It’s fine to have whatever preconceived notion you might have but since it’s based on no experience it’s best not to offer it as advice to those seeking it. Most software engineers I know find their jobs interesting - not tedious or boring.
You’re also wrong on the point of starting salaries for CS majors. I also think you’re wrong when comparing degree of difficulty between EE and CS. They’re different and some will find one more difficult than the other although I think CS can require more work in terms of the time spent on programs due all the time.</p>

<p>Regardless, one should pick either EE, CE, or CS (or something else) based on what they find more interesting or what they think might appeal to them more. It’s not a case of one being better than the other. </p>

<p>If you want to design circuits and not design or write code, pursue EE. If you want to work with embedded systems, design systems with microcontrollers, write more firmware rather than software, then pursue CE. If you want to design software systems and write code, pursue CS. They’re all majors offering fine career opportunities.</p>

<p>

</p>

<p>Then again a lot of those are interchangeable between majors as well =)</p>

<p>^^ JoeJoe - you’re right that there’s movement in careers between these majors once one heads down the road in their careers but generally, one wouldn’t hire an EE for a CS job or vice-versa. If I was hiring a new college grad for the particular areas I mentioned above, I’d pursue grads with the most closely related major.</p>

<p>“I know what the CS curriculum is, but I’ll give you that I’m actually a graduate of ECE rather than CS. When you get down to it, you learn very little skills that can be IMMEDIATELY applied to a job.”</p>

<p>It depends on where you work.</p>

<p>If you get a job working on compilers at Intel or Microsoft, you may actually get to use what you were taught in your theory classes. If you get a job at Oracle, IBM or Microsoft, you might get to use the stuff in your database theory class.</p>

<p>The usual project life cycle is functional spec, design spec, detailed design spec, implementation, testing, release. You do research and writing in the early stages and developement and testing in the later stages.</p>

<p>When you start out, you do less of the spec work and usually more maintenance and testing to get familiar with the work and development environment. As you progress, you do more of the spec and design work. You might become a project leader and technically manage a few to several people. You might become an architect and do higher-level design for a large-scale system. You might go into systems engineering, product management, release management, support.</p>

<p>You might even go into that dreaded field: management.</p>

<p>There are a lot of different jobs that CS majors can go into and the work and situations vary widely. I work with lots of CS grads that are pretty happy in their work and with how they are compensated.</p>

<p>

</p>

<p>Hmm that depends on the job and the company. Most employers won’t look any less favorably on an EE major for a software job if they can show they have the knowledge required for the job. But I was moreso talking about CE and CS.</p>

<p>^^ CE and CS usually overlap a lot and will often perform the same jobs. An EE usually won’t know nearly as much software design/development as a CS grad and usually wouldn’t compete for the same job upon graduation. Some EEs will morph their career into more of a CS function but that would usually come later if it happens at all.</p>

<p>There are jobs out there that actually use the course knowledge in the delta between CE and CS and in those jobs, the CS is going to be the better fit.</p>

<p>S is a senior. He is a CS major but he is a CS in the school of engineering. In the process he not only has a very strong programming background but he has all the engineering foundation courses: physics, chem, calc, stats, descrete math, and ee foundation. He could not be happier. Landed two great internships over last two summers and this past October already had companies looking at him as a permanent hire. Had two offers in one week and withdrew his other applications. Both offers were higher than those numbers that were posted above. In the process, he was hired for may by mid-october. That is even in this economy. Try googling “10 most recession proof jobs”</p>

<p>On Forbes.com </p>

<h1>2 Software Design and Developement</h1>

<h1>6 Network systems and Administration</h1>

<h1>8 Business Analysis, Software Implementation</h1>

<h1>9 Business Analysis, Research (though the title does not sound it they refer to software)</h1>

<p>On get rich slowly:
Computer systems analyst
Network systems and data communications analyst
Network and computer systems administrator
Registered nurse
Teacher, postsecondary (i.e., college professors)
Physical therapist
Physician and surgeon
Dental hygienist
Pharmacist
Medical and health services manager</p>

<p>Do you notice a trend here. It is kind of ironic because 4 years ago when son was entering college we were told by many to not have him do software. “There are no jobs” and the posted pay back then was lower than the engineers and ECE majors. But he has been in love with computers since he was two and we figured that we would let him follow his love. It ended up being the best choice. He knows of very few engineers who already have post grad offers.</p>

<p>I do wish you luck with your decision.</p>

<p>“#9 Business Analysis, Research (though the title does not sound it they refer to software)”</p>

<p>I worked in a company where programming teams were typically assigned one or two Business Analysts depending on the size of the project. These folks were the interface between the people in various business functions that were requesting information systems and the programming teams and contributed heavily to functional specs, reviews, some testing to see if screens and reports conformed to what users wanted, etc. These folks were very people-oriented but understood business processses well. They didn’t have much in the way of programming skills. This was in the 70s and 80s. Programming is found in many more majors today than back then.</p>

<p>“Do you notice a trend here. It is kind of ironic because 4 years ago when son was entering college we were told by many to not have him do software. “There are no jobs” and the posted pay back then was lower than the engineers and ECE majors.”</p>

<p>Some career areas move in cycles. India was not the panacea that many companies thought it was and a lot of kids don’t want to work ultrahard in an area where they perceive a lack of jobs so the pipeline for CS students dropped 50% and then demand picked up due to the dearth in supply.</p>

<p>Congrats to your son for bucking the trend.</p>

<p>We are happy for him that it has worked out. </p>

<p>BTW husband is BC 83, S’s 5 1/2 year GF is at BC currently in accounting (another Forbes top 10), sister in law and niece BC, and of course many assorted friends. The school has done well for our family. :)</p>

<p>

</p>

<p>CS is more than just being a code monkey. So is software engineering, for that matter.</p>

<p>

</p>

<p>I agree with this (that it’s uncommon, I mean), and I’m in the field (as are probably half my friends).</p>