

Ask HN: What to do after college? Master's degree? - iamgabeaudick

I'm a business/computer science major. I may get an MBA eventually - though I'm not too sure about that. But, for right after graduating from college, what are your opinions on getting a Master's in Computer Science (hopefully from a top tier school)?<p>Would the degree be valuable and in demand for the next few years (or decades)? Would the cost of the degree outweigh its benefits? Would I be wasting my time, or using it productively? And so on.
======
strlen
A Masters degree can mean concentration and specific skills. It's not the only
way to obtain that, but it certainly pays off. It's not really the degree
itself, it's specialization. I'd also suggest specializing in something
technical (what is that you're passionate about?) rather than generic
"software engineering" (i.e., UML diagrams) or management (what are you going
to manager). These sorts of "professional" engineering masters degrees mean
more if you've already been in the industry (much like an MBA) and want to
move to people or project management.

You can also work in the industry for a few years and then go for a masters.
That has the advantage of showing you what you'd want to focus on and letting
you take risks with your career prior to a masters (additional degree lets you
reset a career). The disadvantage is that going back (especially if you are
happy with your career) is hard. It's also easy to build up an industry
arrogance (I found it in myself) and gloss over lectures when the way things
are done in industry is different -- only to realize in a few years (when
someone else builds a real-world system on an "academic" concept) that someone
in academia had an answer to a problem you're only realized you're having
_now_ 30 years ago, but you dismissed as theoretical and impractical.

You can also do what I did: work full time _and_ do your masters. Just be
prepared to have a limited social life and less sleep for the next 3 years
(you won't be able to take a full time academic load at all times while
working). Not only does this mean you don't have to go into debt (and/or
voluntary poverty) to get through graduate school, in many cases your employer
can pay for part of this (although this limits you to companies big enough to
provide tuition reimbursement).

------
geebee
A MS can be a good use of time. For me, it was a good opportunity to:

1) Get a resume upgrade. I went from having a BA in Math from UC Santa Cruz to
having an MS in Engineering (Industrial) from Berkeley. Personally, this kind
of thing irritates the crap out of me, and I don't think I'd put much stock in
it if I were hiring, but it can make a difference.

2) I got to investigate a new field. I suspect that if you already majored in
CS, you probably don't really need an MS in CS. You'll learn something, sure,
but I suspect you'd learn more just by going out there and learning. But if
you majored in Math (like me), and discovered you really aren't good enough at
math to make a career of it, you can obtain a more employable major through an
MS. A lot of MS programs will allow you to apply a certain amount of upper
division coursework toward an MS - so you've taken data structures, compilers,
operating systems - almost like you've double majored, except now you get to
say you have an MS (note: some of us are on to this trick - some grad programs
are a little easier on their students and give them a lot more leeway to
pursue a specialized interest - it's the undergrads who go through hell and
get F's if they can't hack it, so I personally don't view an MS as necessarily
"higher" than a BS in CS - it depends on what the undergrad studied and
whether he/she filled these gaps in the MS program).

3) As I said above, you can pursue your own interest. MS programs tend to be
much more flexible than BS programs. When I was in grad school, I pretty much
learned to hack. My coursework wasn't all that interesting to me - lots of
proofs about optimality in convex sets. I thought I was getting away from pure
math, turned out I was right back in the land of proofs (that's Berkeley for
you, other programs in IE are much more management-ish or engineering-ish).
But I got really into writing apps, and that was my focus. Fortunately, the MS
program is so flexible that you can get away with this - as an undergrad, I
was far too busy with, well, proofs about convex sets (heh).

It's expensive, though. Fortunately, I got in before the price went way up -
fees were only about $4k/year, and TA jobs kept the costs down. So I graduated
with minimal debt and an OK experience. But I still gave up almost 2 years of
earnings and had a small student debt at the end. If you can get this
experience through working, eh, I'd probably just do that instead.

~~~
iamgabeaudick
So has it helped you get a decent job? What do you do for a living?

Also, you mentioned that some upper division undergrad CS courses can transfer
to the Master's program for credit. Does this mean if I look into, say,
Stanford's program and take as many of the courses as I can as an undergrad,
then I'll be able to transfer those over (assuming I go to Stanford for
graduate school)?

~~~
geebee
I'm a programmer. I started by writing software closely related to industrial
engineering/operations research type systems, but now I just do it generally.

You probably can't apply a course that you took as an undergraduate toward an
MS. Double counting like that isn't generally allowed. But hey, if you've
already taken those courses, you can spend more time looking into something
that interests you and specialize.

