Hacker News new | ask | show | jobs
by 2143 927 days ago
> don’t bother with a computer science bachelors degree unless you are dead set about getting a masters

I disagree.

At least in the United States (I'm not even from the United States, but I studied there), a master's in Computer Science (CS) does not add that much more value than a bachelor's. Infact, as far as coursework go in some schools there's quite a bit of overlap between senior undergrad and grad school classes for CS.

Go for masters only if you want to go for PhD immediately afterwards. And trust me, PhD is NOT the correct path for everyone. Infact, I know a lot who join the PhD program after bachelors, realize it's not for them after a couple of years, and then exit with a masters.

As for bachelors study whatever you find interesting. Maybe that's CS. You'll also probably be just fine taking math, EE etc.

1 comments

You are completely missing the point. Ultimately, higher education is not about learning more about computers. It is only about natural language communication and research. Nothing more follows.

There are two great failures that occur from a bachelor level CS degree. There are actually many failures, but two reign supreme. First, most developers graduating with that degree cannot communicate in writing even at a child level. It is absolutely mind blowing how bad it is and completely sets the tone for the profession.

Second, the practical application of that degree is at best superficial. Many people who graduate with a bachelor's CS degree will tell you they learned so many things of such great diversity they never would have learned otherwise. In practice though, their skills appear to apply extremely narrowly, so what they claim as diverse appears to many other people as average or less and even then never applied. If you want a magnitude greater diversity of technical skills do equivalent work for the military. I can personally testify to this as I have worked in both environments, military and corporate software, for more than 15 years each.

Anybody smart enough to program, at least on real original products that ship, is smart enough to teach themselves to program. They can do that and simultaneously earn an education that teaches life skills like advanced written communication, finance, or whatever. If you want to be a beginner, or practical equivalent, with maximum career mobility then stop at that CS bachelor's. Most developers get burnt out on that after 12-15 years after learning to stop repeating the same mistakes over and over only to be burned by junior peers who cannot operate a higher capacity.

So I'm in the middle on this. And of course my opinion is colored by my person experience.

I learned to code at 12, and went to university at 19. I went in thinking "I know how to program" (and I did), but after the first few months (where they taught programming) I found so much more to learn.

I could point to specific modules (databases, algorithms, and some others) that I've used all career, but the real value came from elsewhere.

The depth of understanding in all the modules meant I felt equipped to do anything. I went to my first job and promptly used a language I'd never seen before. I wrote a function, used in production, on my first day. I soaked up the Language Reference manual in a couple weeks.

Basically uni taught me that new stuff can be learned -really quickly-. That when given a task in something new, I can approach it with confidence. Learning (especially today, with Internet resources) is very accessible.

The other thing I discovered at uni were smart people. Smarter than me. I found a group who wanted to suck the marrow dry. We pushed each other, sharing new accomplishments - competing if you like to push the boundaries. Most of our code was not "handed in" - it was tangential to the course work. It forced me to "be better".

It also showed me that helping others is it's own reward. Part of my job is training (and writing), and being good at that was a big part of my early career.

So, in my context, my bachelors degree has been my foundation. Everything that came after was built on it. But I didn't stay past my first degree - I couldn't wait to get into the world and apply it. I've never regretted that, but I've no idea how that path-not-taken may have panned out.

College is like most things, you get out what you put in. They don't "give" you anything, but they offer you the chance to "take" as much as you can.

As an aside, I wrote my first commercial program in 2nd year. It was a simple program for printing medical genetic diagrams on laser printers (this is pre Windows.) It was commissioned by our genetics department. He suggested I sell it to others. Again, this is pre-internet so I went to the med school library, found a research directory, and wrote a letter to everyone in the genetics section. Sold a handful (at $250 a pop) to universities all around the world. Now THAT was a serious rush!

Above all, the lesson I learned was that adding value is valuable. My career is built on adding value to others - which, it turns out, generated a decent living. Find the value you can add, and people are happy to pay.