General Question

paulc's avatar

Anecdotal information on Software Engineering vs. Computing Science as a degree?

Asked by paulc (2914points) January 24th, 2008

I’ve been programming for a long time but I’ve decided to get a degree so I can improve beyond my current abilities. Software engineering is very appealing to me because it is recognized in a few parts of Canada (you can be a P.Eng.) but the workload seems a bit daunting. On the other hand I’ve been looking at straight Computing Science as an option. I’m hoping some graduates or current students can give me some advice.

Observing members: 0 Composing members: 0

6 Answers

robmandu's avatar

Sometimes I wonder if just having a degree in anything is sufficient… I work with very compentent senior-level programmers/analysts… some of whom have their 4 year degree in English(!).

And it seems like nearly every electrical engineer I meet has a programming job (that is, they’re not designing & building circuits/chips/telcos/whatever).

My suggestion is to go with the course of study that is easiest for you to maintain interest in. You’ll succeed best where you’re happiest. The career will follow.

cwilbur's avatar

Variations among degree programs are likely to be far more noticeable than variations between “software engineering” and “computer science” degrees. You need to ignore the name the school gives the degree program and focus on its content.

Some “computer science” degrees grow out of the mathematical approach to computer science – “the post-Turing decline in formal systems theory.” Others grow out of electrical engineering degrees. And some are garbage, put quickly into place because some paper-pusher realized that there would be thousands of students studying computer science to make a quick buck.

And, frankly, speaking as someone who’s interviewed software developer candidates and made hiring recommendations, the candidate you really want is the one who knows his stuff and is passionate. When you’re looking at a 22-year-old fresh out of college, the degree and specifics about it tell you a lot about the candidate. When you’re looking at someone in his 30s or 40s who has a lot of actual experience, the degree (or lack thereof) is far less important.

paulc's avatar

Well I’ve already been programming as a very lucrative career for almost 8 years now. I’m just interested in going beyond what I’ve been able to teach myself in my scant free time or on a given project. I also like the idea of being able to devote my attention to non-commercial projects.

What I find interesting about the engineering path is that there seems to be an immense attention to detail in terms of the entire process of software development. Though the course seems quite heavy I do enjoy a good challenge.

@cwilbur: I see what you’re saying. I’m quite na├»ve about the whole academic world so I guess my question seems a bit vague. The programs I’m looking at are for well-established universities (University of Waterloo and University of Alberta) so I don’t think they would fall into the “garbage” category. I’ve got to say I’m not so much worried about employment as I am about just becoming even better at what I like to do (I’ve never had trouble finding work programming) though it is somewhat comforting to think that I fall into your later (older) category.

Thanks for the replies thus far.

paulc's avatar

I just found this article on the variations of computing science degrees which was quite informative just in case anyone else around here is in the same boat as I am.

cwilbur's avatar

I’d be careful about simply assuming that well-established universities have the sort of computer science degree you want. I’ve seen one well-established state university (not one of the two you mentioned) where the computer science degree program was the result of pressure from students and the legislature to focus on “industry-relevant” skills, and as a result the undergraduate computer science degree was basically a vocational training course in corporate Java programming.

This is not to say that that’s the case at either of your two schools—just that you need to look hard at them to get a good idea about what you’re getting.

Given that you’ve got a good practical background already, you probably don’t need vocational training in Java (and if you do, you’re better off getting your employer to pay for Sun certification courses instead). You probably want a degree program that has a lot of the sort of theory you don’t get from a practical background—comparative computer architecture, algorithms, data structures, parallel processing, programming language concepts & design, operating system concepts & design. You probably also want a degree program that contains a healthy dose of software engineering stuff, possibly paired with a work practicum or internship program or taught in concert with the business school.

Any degree that covers those things will help you get ahead, whether it’s called computer science or software engineering.

inkswinc's avatar

Software engineering student at SJSU here, and I wish I’d started with computer science. When it comes down to it, the difference between the two majors is pretty much negligible (which is why I’m not bothering to switch), but SE seems to focus more on the practical side of software development while CS focuses more on the theoretical. As for why I regret taking the former, the simple fact is that I feel like CS is more what jobs are going to expect you to have learned from your degree—you can pick up (and will probably have to anyways) a lot of the nuances of practical software development on the job, while the theoretical side is probably better to be taught in a university environment. There’s also the fact that the theoretical side just plain interests me more.

In the end, a CS/SE degree is always going to involve a lot of independent study to be at all complete anyways, since the subject is so general and varied that it’s not likely to ever go at all deep into any specifics that you want/need from it.

tl;dr, if you’re more interested in the process and the software development life cycle, you’re probably better off going for SE. If you’re more interested in the theoretical stuff (data structures and algorithms, operating systems, compilers, language theory, etc.), go for CS. As for what the degree gets you in terms of resume, I’m pretty confident the two are almost identical.

Answer this question




to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
Knowledge Networking @ Fluther