

Ask HN: Is a computer science or computer engineering degree worth it? - genieyclo

I'm a high school student who is fortunate enough to be in a fully-state-funded college program at his local community college. I can take as many courses I want for the next two years while I'm in high school, and the state will pay for it all.<p>Naturally, I'm trying to take advantage of this and beat Sally Mae to how much I can save before I have to sell my soul to it.<p>The only problem is that I'm indecisive as to whether a degree in computer science or computer engineering is worth it; is there a reliable job market for it that I can fall back on in hard times?<p>I'm currently taking 18 credits this first semester with my declared major being Biology. This was at the insistence of my parents who assured me that this degree would ensure job security for life.<p>I'm having second thoughts about this, especially because of the fact that this is not very appealing work or study. I would be happy to code for a living, yet am not sure whether it is a very practical move on my part.<p>Advice?
======
makecheck
At least a BSc. is a very good idea (I have computer engineering), but I would
definitely back it up with experience, too. For example, try to make some
open-source thing in your spare time, or write a web site, or tinker with
electronics in your garage, while you go to school. Definitely do internships,
every summer at someplace new. _Do not_ mow lawns, talk to companies and get a
4-month commitment to do something cool. Failing that, talk to professors and
see if you can help with their projects over the summer.

Engineering degrees open you up to jobs across the spectrum: software
architecture, CAD tools, embedded systems, circuit design, logic design,
power, and so forth. What's more, even if these better jobs aren't available
in a bad economy, you are _also_ qualified to do jobs that are "just"
programming, which is a nice safety net.

Sometimes, "any" engineering degree is enough, it shows you have discipline
and can handle responsibility. For instance, I've seen civil, mechanical and
chemical engineers in places I wouldn't expect. So pursue what most interests
you.

The degree programs cover topics that are favorites for interview questions.
For example, many people ask about algorithms, and while you could buy a book
on them or examine existing software projects, the computer science courses
will really teach them to you well.

------
_pius
_The only problem is that I'm indecisive as to whether a degree in computer
science or computer engineering is worth it; is there a reliable job market
for it that I can fall back on in hard times?_

In my experience, definitely. I've never had a hard time finding work as
someone with a computer science degree.

Also, computer science is one of the few degrees that, along with relevant
experience, makes it _very_ easy to do lucrative, independent contracting work
right out of school. That's something that practically no other science,
engineering, or humanities discipline can give you.

------
bavcyc
Any major with lots of math will have a better payoff than one without math.
As an engineer I can do what a computer scientist does but a computer
scientist can not perform all engineering functions (specifically the case of
work requiring professional registration).

With that said, what do you like to do? Find a way to make that your major. If
you like programming, then major in programming. If you like hardware and
software then computer engineering. If you like hardware then electrical
engineering. If you like rocks then study Geology. The key thing is to learn
to learn, to do research and solve problems.

I chose EE as it provided the most long-term flexibility. Although I'm working
in a 'static' area of EE (power engineering), I use a lot of computer
programming knowledge in solving problems that I run into.

Other than working for yourself, there is no guarantee that you will ever have
a job or that your abilities will land you a job (Jack Gansle has a good
column on this). As such you are much better off focusing on learning as much
as you can that will help you to continue learning which should give you more
options as time passes.

------
CyberFonic
Whilst you can learn programming from a book, you can't learn software
engineering from a book. The difference is like being able to build a dog
kennel in the backyard or a forty story skyscraper. It takes serious knowledge
and experience to build the skyscraper. If you get the kennel wrong, the dog
will continue to sleep on your couch/bed, get the skyscraper wrong and ...

If you don't have a passion for biology, then you might not enjoy it as a
career. However, college experience and corporate experiences are very
different.

My vote for an engineering education is that it teaches you to be aware of how
little you know and how much work it takes to increase your knowledge and
experience just a little bit.

~~~
jamesbritt
"Whilst you can learn programming from a book, you can't learn software
engineering from a book."

I have a CS degree, and I'm not so sure I learned software engineering in
school. But I still think my time and money were well spent. I did learn a
good deal of math and theory that has, over time, informed my progress as a
developer.

I was also exposed to things that helped me learn what I _don't_ want to do as
a career.

I learned to be better writer, too, thanks to some kick-ass English profs. (No
thanks to the guidance consoler who was against my minoring in tech writing,
though.)

BTW, I started off as EE, but didn't care for the abundance of physics courses
(the math was kicking my butt). I was required to take an intro programming
class, and that made me change majors.

Why fight with the facts of the real world when software gives you your own
opinionated reality? :)

So, you never know ...

------
omouse
Get a computer science degree. There should be almost no difference between
the two aside from maybe more hardware things on the engineering side.

Just remember that computer scientists used to build their own machines,
compilers, etc. They were flexible in terms of what they worked on and you can
be too. You just have a lot of reading and work to do (but that's true no
matter what degree you go for...if you don't put in much effort, you won't get
much out of it)

------
wisty
Biology? That's fantastic. I'm not sure if it's as secure as CS / CE, but it's
a lovely degree. Look into Bioinformatics - where all the cool research is
being done. It requires programming (especially numerical algorithms and
visualization), math (especially statistics), and biology. That's a nice mix
for somebody who can't make up their mind.

If worst comes to worst, you might get a job modeling health programs for the
government, or insurance companies.

~~~
bbgm
With exceptions, you will not get a job doing algo development or hard core
informatics without a PhD. You do have the choice of doing a CS degree and
working in the life science space (there is a dearth of good application
developers)

------
iterationx
I can't think of a degree that's more resilient to hard economic times than a
programming degree. That being said you should look at the job boards now and
decide what kind of work you want. For example a lot of .NET jobs want 2 years
ASP.net. So if that's your cup of tea then get started programming ASP.NET
sites now, and in two years it should be a piece of cake.

------
rolf_nelson
If you care about salary in addition to job security, the chart on p. 16 of
this OOQ makes a good case that a computer science degree is a defensibly
practical choice:

<http://www.bls.gov/opub/ooq/2008/summer/art02.pdf>

