
Why (Not) Do a PhD in Computer Science? - s_kanev
http://blog.skanev.org/2013/03/why-not-do-phd-in-computer-science.html
======
vladoh
I like the reasons described in the post. I would like to add one more that
was really important for me when deciding to do a PhD in CS - learning to
write papers.

While it may seem like a burden for some people, I think that describing your
research in a very limited space (something like 8 pages) teaches you very
valuable skills. You should also write it in a way that most of the readers
will understand your ideas easily, considering the fact that the readers and
even conference/journal reviewers often have very different backgrounds. I
have seen papers with very good results being rejected because of bad
explanations and also not so impressive papers that get accepted because they
are very nicely written.

~~~
thomasjames
This is important to me. It is the reason that most of the jobs I am
interested in require a PhD. Outside of the start-up and web space, there are
actually a lot of industrial research jobs that will not even give your resume
the time of day without a PhD because you are expected to produce technical
literature and patents. I thought it was kind of funny in the article how they
still mentioned the "I want to be a professor" reason. No interest in that rat
race.

~~~
arethuza
Don't those kinds of industrial research jobs also usually require the kind of
publication track record that you have to acquire in academia to survice?

Do industrial research labs really employ freshly minted PhDs - who probably
haven't acquired the most important skill in modern research: the politics of
attracting funding/backing?

~~~
seanmcdirmid
> Don't those kinds of industrial research jobs also usually require the kind
> of publication track record that you have to acquire in academia to survice?

Yes.

> Do industrial research labs really employ freshly minted PhDs - who probably
> haven't acquired the most important skill in modern research: the politics
> of attracting funding/backing?

Yes. How do you expect freshly minted PhDs to learn the art of attracting
funding and backing?

~~~
arethuza
The black arts of attracting funding seems to be what junior academics spent
considerable amounts of time doing when I worked in academia - mind you that
is going back a bit so wouldn't surprise me if things have changed a lot.

~~~
seanmcdirmid
Keep in mind parent was talking about industrial labs, where funding is
obviously a bit different. I don't really know much about academia beyond what
I hear from peers.

------
wjnc
Never do a PhD for the money. Ever. It's not worth it, compared to using your
skills to get a good education BSc / MSc and then start your career. You miss
so many years of good income, plus income growth and will always stand out as
the theoretical type.

That being said: it's all about curiosity and people. So if you're curious and
have the time / money... go for a PhD!

~~~
sc0rb
I know of three PhD's in comp sci that went straight into Goldman Sachs (and
one hedge fund) where they immediately started earning far more than those of
us that left Uni with our Bachelors.

They work in high frequency trading mainly using Java.

~~~
simonh
Interesting. I wouldn't have though Java was suitable for HFT due to garbage
collection pauses playing havoc with your system determinism and performance
reliability.

I supported a derivatives trading system written in java that was canned due
to performance issues, and where I am now we had java FIX protocol gateways
that we've replaced with C++ components, again for performance reasons.

I'm not saying java has performance problems in general, I do understand that
for many applications it's a good and performant option, but when you're
dealing with sub-millisecond response times it has issues. If anyone is using
Java for applications like this, I'd love to know how they get round these
issues.

~~~
ironchef
Nah...there's tons of workarounds these days which make things way faster /
less latent. Couple quick examples:

* look at memory mapped data in java (basically using sun.misc.Unsafe lets you deal with things like malloc and free)

* look at increasing use of primitives and collections that utilize primitives appropriately

* properly profile / size your eden space

yada yada ... i think a lot of HN people have generally just wrote off java as
not as fast as C, not as productive as python/ruby, and not as exciting as
lisp, haskell, FOTM. Java's a fine tool like anything else...just need to use
it appropriately.

------
lutusp
You need to be aware that PhDs often make less or the same income as a
"professional" degree holder does (for a higher student loan burden). That
means if you feel that the experience will be personally enriching, the fact
that it might not be financially enriching may not matter.

~~~
barry-cotter
1\. Professional degree does not need scare quotes.

2\. US professional degrees have dropout rates of 3%, approximately. The Ph.D.
with lowest dropout rate, engineering, has a 35% dropout rate. Pretty much
everyone who can be admitted to a Ph.D., funded is a guaranteed admit to a pro
programme that will on average make them more money.

One should do a Ph.D. if one will not regret it even if one never holds a
faculty position, i.e. it's more consumption than investment, or if one got
into a TOP programme in one's chosen field. Economics seems to be in the
process of collapsing from top 5/6 to top 2, CS has been 4 for a long time,
but the principle is the same everywhere.

~~~
lutusp
> Professional degree does not need scare quotes.

That wasn't meant to attract undue attention to it, only because the term has
no universal definition.

Apart from economic issues I agree with your points. If someone expects the
Ph.D. to pay off in straight economic terms, different story.

> ... guaranteed admit to a pro programme that will on average make them more
> money.

By "pro" did you mean Ph.D.? If so, not any more, not necessarily. The
economics are changing, and the combination of rising costs and the fact that
a Ph.D. candidate is out of the job market longer, conspire together to make
it a less attractive option. There are cases where a Ph.D. graduate makes less
money than a professional degree in the same field.

I'm not disagreeing (and I'm not sure I understood you), only saying things
are changing and the claim isn't true across the board.

~~~
barry-cotter
My lack of communication skills strike again. Pro programme meant professional
degree programme. Doing a Ph.D. for the money is a terrible idea. Anyone who
can get into a Ph.D. programme can do another 2/3/4 years of undergrad
(MBA/JD/MD) and even ignoring the time spent getting ones degrees all of those
will have better pecuniary outcomes than getting a Ph.D. for the kind of
person who can get into a programme and especially for the kind of person who
can actually graduate with a Ph.D.

------
niggler
"I do it because I'm intellectually curious (aka I like new stuff)"

I hear that a lot, and I hear the argument that industry doesn't give you that
type of opportunity, but I firmly disagree: in many places, people with
bachelors or masters degrees are put in research positions in setups that
resemble the Bell Labs of lore. And while most software shops aren't doing new
things, a growing number of large firms are exploring new frontiers. (and even
some finance firms, god forbid)

"a PhD teaches you how to ask the right questions"

What you need is a mentor, and a surprising number of people who decided not
to do a PhD have the right mindset and actually help train people.

"Take this argument too far and you find yourself in theoretical math,"

Many of the people at the forefront of industry work find themselves delving
in theoretical math (as a really oft-cited example, functional programming
drawing from category theory)

"a lot of smart people tend to do research and PhDs. "

A lot of smart people decide that the PhD is heavily bureaucratic and that it
would be easier to do more intellectually stimulating work in industry.

"I do it because of vanity"

Fair enough :)

------
norswap
I've been recently faced with the same choice. I'm finishing my master's
degree (in Europe, where a master is a prerequisite for a PhD).

There were a combination of things that decided me. One is that a PhD is not
that much of an asset in the workplace. Especially considering the consequent
time investment. Another is that you have to deal with all the BS of academia:
doing research that doesn't interest you with your promoter, writing papers
with little to no interesting content, etc...

Academia also has that "symptom of immaturity, the dread of doing what has
been done before". There are many topics, often well studied which could use a
clarification/simplification of the theory. Or you could make a tool for a
particular domain that doesn't suck.

All in all, I think I prefer to get a "regular job", and toy on the side.

~~~
seanmcdirmid
Only do a PhD if it can get you the time to pursue topics you are truly
passionately interested in. It sounds like you shouldn't pursue one, which is
fine.

------
jheriko
... because you will learn more by working in the wild, including why many
real-world engineers have a vague disdain of academia - especially in the
genuinely difficult fields.

Maybe it differs away from software engineering - but my experience of grads,
even Oxbridge PhDs is that I will code circles around them with what I learned
off my own back in my spare time... and mainly because I learned it off my own
back - or in many cases reinvented solutions without any hints or assistance.

Sorry. I'd like courses to produce valuable, employable engineers - my
experience is that they do not.

~~~
rmk2
... because you will learn more by working in the wild, including why many
real-world builders have a vague disdain of academia - especially in the
genuinely difficult fields.

Maybe it differs away from architecture - but my experience of grads, even
Oxbridge PhDs is that I will build circles around them with what I learned off
my own back in my spare time... and mainly because I learned it off my own
back - or in many cases reinvented solutions without any hints or assistance.

Sorry. I'd like courses to produce valuable, employable builders - my
experience is that they do not.

------
YPetrov
I like some of the reasons the OP has listed (great skill set, intellectually
curious) and because of those I was planning on doing a PhD after I finish my
BSc (4th year now).

However, after careful consideration, I realized that: 1\. I am not entirely
sure if my enthusiasm will be enough to push me through a PhD 2\. You can
obtain a great skill set, meet loads of smart people and work on
intellectually stimulating problems in industry, too.

That's why I plan to work for some time and then re-evaluate my situation and
maybe apply for a PhD, who knows.

------
billy8988
Ok..I did it in the early 90s. In my case, It was nothing but a slave labor.
What I meant is, while I was doing the same kind of work that I currently do
for corporations, I got paid a pittance while the school and the project
sponsor gained much. Having said that, I would do it all over again. I really
enjoyed the campus life 5 more years! :)

------
rdl
If I could get into a PhD program in trusted computing/tamper resistance
(which basically consists of...Cambridge University; nowhere else is doing
worthwhile academic work), I'd seriously consider it, but since I dropped out
of undergrad, not so much risk of that.

------
MostAwesomeDude
Fix your site; it doesn't load at all with JS disabled.

