CS vs CE: Which major to become a computer software engineer?

<p>Topic.</p>

<p>I feel like the answer is that either could lead to a software engineering job afterward, but maybe that computer science majors (because their curriculum focuses more on software) are preferred over computer engineering majors (because their curriculum focuses more on hardware)? Am I right or wrong?</p>

<p>Also, in broader terms, what is the difference in career prospects/long term salary trajectory between the two majors? I imagine that any difference is negligible...?</p>

<p>Thanks for any help in advance.</p>

<p>If you want to do high level software, you’re better off in CS.</p>

<p>If you want to do low level software, you can be CE or CS.</p>

<p>A forum search will pull up loads of old threads related to the CS/CE discussion. You will find more information there than you could ever care to read.</p>

<p>

</p>

<p>A whole BUNCH of them too.</p>

<p>If you want to STUDY algorithm’s, data structures, proofs, discrete math, then do CS.
If you want to study some of the above, with digital electronics and embedded systems, do CE.</p>

<p>95% of CS and 90% of CE’s end up doing high level software anyway though.
If you really want to do hardware (or even embedded) I think EE is the best choice but the courses you take are most relevant.</p>

<p>^ high level software? It’s better to have computer science and become a software engineer.</p>

<p>Right, discrete, data and alorg are studied in both CpE and CS.
The difference is that CS will have more knowledge in computational science, which is really important in becoming a good software engineer.
CpE ideally is software-hardware programming, which are usually low-level. Operating system can be one. But because of the complexity involve in software / application development, both CpE and CS are “good”. But there are probably more CS software engineers than CpE graduates.</p>

<p>In undergraduate study CS major does not learn compilers. Well this is exactly what CpE is about: when hardware meets software.</p>

<p>

</p>

<p>Actually, there are quite a few CS programs that require compiler design in the curriculum. The course title may be stated as “Language Processors” or similar.</p>

<p>Also, as a software engineer for years…almost anyone can do software engineering if they have the programming and algorithmic background.</p>

<p>Software engineering is merely a structured approach to developing software. One needs to be familiar with the software engineering life-cycle: Analysis, Design, Development, Testing & Validation, Implementation and Sustainment/Operations.</p>

<p>^ Yes. In other posts I have said that even a computer science major can write compilers. Anything, really.
You will learn new things as you move on with your life.</p>

<p>But certainly a cs background is more useful in high-level software development. </p>

<p>You can call yourself a software engineer as a self-learner. But what traditionally, there are more SE with CS background, than with CpE background.
This is the point that I am trying to make.</p>

<p>You know more than I do, but you should agree that background in CS is the shortest path to become a software engineer, i.e. Google SE, Facebook SE, or Adobe SE.
SE-ing is a series of process. A single Adobe Photoshop is a software develop by many people with different expertises, a collaboration development. The software itself can be divided into many components. Some may do the overall software design, some does image processing design, some do optimizations?
If I am wrong please correct me. But I believe this is how the industry works. Software engineer is just a general title for people who develop computer software.</p>

<p>Both majors can land programming jobs. There will be PLENTY of on the job training for a starting programmer. You will most likely not know very many programming language upon graduation and there’s a very real possibility of landing a job working with a language you know little to nothing about. However, a good employer will not be scared off by this as they will know that the core concepts of programming are rather independent of the language used and skills learned in C++ can translate well to Java, C#, Python, etc. I know some people who majored in things like history and ended up programming.</p>

<p>Most of my time spent working is programming of some sort and I majored in EE. With my current experience I would feel comfortable applying for a very programming-centric job in the future. While I probably would not want to do so, my major would not be holding me back.</p>

<p>Over time, both majors will have the exact same earning potential. Once you start acquiring programming experience that will become SIGNIFICANTLY more important on your resume than what you majored in. Eventually, the fact that you even have a degree is likely to become something of a footnote.</p>

<p>As an IT manager in a Fortune 500 company, I have hired several college graduates over years for entry level programmer jobs, and I have rarely differentiated between CS, CE, CS&E, IT, CIS, BIS or similar majors. May be it is because I focus on business application development (which is the majority of the programming work). For system software programming (like actually developing software like Oracle, Windows, etc.) the differences between CS and CE may matter.</p>

<p>While I don’t want to start a war here, but MY best experience was with those where CS was a part of the school of engineering or colleges with engg/technology departments (as opposed to where “Computer Science” was a part of the liberal arts curriculum, with no technical offerings by the college).</p>

<p>“While I don’t want to start a war here, but MY best experience was with those where CS was a part of the school of engineering or colleges with engg/technology departments (as opposed to where “Computer Science” was a part of the liberal arts curriculum, with no technical offerings by the college).”</p>

<p>Well, odd that you should say that because I attend a college that doesn’t have an engineering school and the CS department is just a part of the college of arts and sciences. It’s a pretty well respected school that has a good academic reputation - just not so much for CS. I think only about 20 CS majors graduate each year. Do you think it would be tough to get an entry level programming position out of such a school?</p>

<p>Another piece of information: my school’s computer science program is not ABET accredited. Is this a big deal? Will this make it difficult to obtain a programming job? </p>

<p>It is a pretty decent school (top 50 national university according to USNews), it just has a small CS department and no engineering school…</p>

<p>I heard programmers were prone to outsourcing…so software engineering would fall into that category?</p>

<p>Not all types of programming are outsourced…so yes, I think <em>some</em> parts of SE would get outsourced… probably not the type of programming a typical university-grad SE would be doing.</p>

<p>Any insight about the lack of ABET accreditation and how this will affect job opportunities?</p>

<p>I’m not sure whether or not employers look into the ABET accredidation of the colleges of potential employees. I think MIT is not ABET accredited, but it’s MIT…</p>

<p>EDIT: Is your college at least in the process of getting accredited? If it has no plans for accredidation and is not a well known engineering school, that could be a red flag…</p>

<p>I do not believe that it is in the process of getting accredited, there is no evidence to indicate that it is.</p>

<p>My university doesn’t have an engineering department, so it’s not known for anything to do with engineering. </p>

<p>It does have a pretty good reputation, it’s just really small and most students major in liberal arts/sciences… I’d like to maintain anonymity on an internet forum, so I don’t really want to reveal my school. It’s not MIT, but like I said it has a pretty good overall rep as it is top 50 according to USNews… I don’t know if that compensates for anything?</p>

<p>Eh, that doesn’t sound good, but you should probably look for the opinion of someone who has more knowledge in terms of being an actual employer than I do.</p>

<p>Let the record be known that I have been in software development for 20+ years (database systems is my area) and…</p>

<p>1) My undergraduate degree was in Computational Mathematics (under my school’s College of Science)…NON-ABET ACCREDITED, and</p>

<p>2) Even though I have an M.S. in Engineering…a) the degree is very interdisciplinary and b) NON-ABET </p>

<p>For the record, ABET only gives accreditation to a handful of M.S. degrees (mainly from Air Force Institute of Technology)</p>

<p>I have worked for: Westinghouse, CSC, Boeing and General Dynamics</p>