Ask HN: Software Engineering Vs. Computer Science

8 points by riskish ↗ HN
My school offers both computer science and software engineering degree plans, and they are both the strongest programs we have.

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 ] thread
I have never heard of anyone treating a SE degree differently than a CS degree. Mostly because as you point out they aren't really that different. One is more theory the other more practical.
(I am soon entering my final year in a CS degree and thus may be entirely wrong)

I'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.

If you're anything like me, you'll be stuffed either way. I did a more engineering-focussed degree (10 years ago) and I'm still learning things that I would have learnt on a CS course. However, I'm also constantly using the SE knowledge I was taught.

I guess it boils down to which side you're happier picking up as you go along after you leave.

In my experience, the subjects you have listed such as QA and project planning are indeed useful in industry.

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?

On one hand, it's great that academia is finally starting to teach what people in the industry lament as a lack of engineering education in their new grads.

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).

If my plan is to start my own company (not work at one, so I would not pick up things as you mention), wouldn't the SE degree make more sense, to kick-start the formalized processes in software dev?
Sure. I'm operating under the assumption that life might throw you a curveball or two - maybe some company is offering you enough money and a chance to network with great people that you'll take them up, but get stuck in the interview process b/c you don't have enough CS. To me sticking w/ a pure CS curriculum is the least risky and what you miss in SE you can quickly make up after anyway.