Ask HN: Software Engineering Vs. Computer Science
My interest is in developing applications (specifically web apps), so I'm reconsidering CS thinking a software engineering degree might be of more value.
For a SE degree, the degree plan contains many of the same courses as CS (Operating Systems, Comp. Architecture, Alg & Data Structures), but towards the end instead of taking Automata Theory and Programming Languages you take software engineering courses like Software Architecture & Design, Testing/Verif/Valid/QA, and Project Planning.
I don't know much about how these degrees are viewed differently in the job market. Im also unsure if I'm on track thinking software engineering would be better since I am interested in building my own apps. It seems CS is more of the traditional degree in computing/programming, but I see real value in a SE degree for my goals of really getting to building better software...am I right in thinking this? Any thoughts would be appreciated. Thanks.
7 comments
[ 4.4 ms ] story [ 31.1 ms ] threadI'd go with the CS, rather than SE degree. Although I did not enjoy or learn much from Programming Languages, Automata theory (and basic CS theory) is WILDLY interesting. I can't imagine graduating without knowing that type of theory.
The best part is that since not many schools have SE degrees, having a CS degree (rather than a SE degree) will disqualify you from exactly 0 jobs.
I guess it boils down to which side you're happier picking up as you go along after you leave.
However, they are not complicated concepts. I didn't get a degree in SE but found that within a couple of months of working after graduation, I had been exposed to all of these and been taught best practice. After one or two internships, you may find that you will have too. For most people, this is not the case with advanced CS theory which you may or may not be interested in.
Since many of the courses are common between the two, do you need to commit to one or the other right at the start?
Then again, like what others have said here, you're probably better off doing the traditional CS education for now. As much as SE in school may teach you, having an industry job where you'll learn from system architects, QA teams and project managers is probably a better education anyway. Think of the CS material as more future proofing - if you ever decide to try to get a job at a place that values computer science (think Google), having CS will let you be on par with all the other candidates (seriously, I've seen some interviewers downgrade a candidate because they didn't have a CS background).