The Chronicle of Higher Education has a
provocative article that strongly recommends
not going to graduate school in the humanities. The last paragraph is particularly striking:
It's hard to tell young people that universities recognize that their idealism and energy — and lack of information — are an exploitable resource. For universities, the impact of graduate programs on the lives of those students is an acceptable externality, like dumping toxins into a river. If you cannot find a tenure-track position, your university will no longer court you; it will pretend you do not exist and will act as if your unemployability is entirely your fault. It will make you feel ashamed, and you will probably just disappear, convinced it's right rather than that the game was rigged from the beginning.
While the article is specifically about graduate school in the
humanities, I feel that some of its points are also somewhat valid for computer science. The gist of the author's argument is: incoming students are not aware that the chances of getting a faculty job are tiny; further, even when you do get that prized faculty job, the job is not
that good. I personally think being a professor is
great job, but I can see how some could argue against that, especially considering how hard it is to get the job.
Let’s start with numbers. The number of people who graduate from “top 10” computer science programs every year is approximately 250. Conversely, the number of faculty positions that get filled at “top 50” research universities is about 25. That’s a ratio of about 10%, which doesn’t sound so bad (certainly not as bad as in the humanities), but there are two things that make the situation actually bad: (1) Notice that I took graduates from “top 10” programs and placed them in “top 50” programs, so this is not quite a fair comparison. The ratio becomes more like 4% if you count all graduates from “top 50” programs. At CMU, when we advertise a single faculty opening, we get approximately 500 applicants. That’s a success ratio of 0.2%. (2) The people who enroll in “top 10” computer science programs have already beaten the odds more than once. To be accepted into one of these highly ranked programs, you have to have excelled in an excellent college; to be accepted to an excellent college, you have to have excelled in high school, and so on. These are truly amazing individuals. To a large extent, they have 4.0 GPAs from college, perfect scores in the GREs, have managed to impress their professors to the point where their recommendation letters say things like “best student we’ve had in the last five years,” and by the time they graduate from college they have already published a few academic papers. All of this just to be placed in a situation where their chances of success are much less than 10%!
At this point you start wondering if being an NFL player is easier than getting a faculty job. I don’t actually know whether this is the case, but I can say one thing: a starting professor salary is about $120,000/year, and by the time you have become insanely famous or won the Turing Award, you’re making maybe twice or thrice that amount. The minimum salary for NFL players is about $300,000/year (and that's for like the rookie backup backup kicker), and if you become insanely successful, you can be making $30 million per year or more.
Ok, enough with the grim numbers. After all, things have worked out pretty well for me. Let me now give some reasons why the situation is not as bad as in the humanities and argue why going to graduate school in computer science is not that bad of a decision.
First, with a PhD in computer science, you can get a job at one of many great research labs or “researchy” companies like Google, and in many ways these jobs are better than being professor -- they certainly pay more with time. This means that the chances of getting a “good job” after getting a PhD in computer science are much higher than 10%. Second, the job of a researcher or a professor is pretty awesome: for all practical purposes,
you have no boss! Also, according to many surveys, being a scientist is one of the most “prestigious” occupations. Third, I think graduate school is extremely enjoyable: you have about 5 years to work on WHATEVER you want, with very few responsibilities whatsoever. You don’t have a set 9-5 schedule (i.e. you can stay at home for days or even entire weeks), and you get to travel throughout the world -- as a graduate student, I went for free to Mexico, Hawaii, Austria, the Netherlands, Poland, Panama, Switzerland, more than 30 places inside the continental United States, and about 5 cities in Canada.
In the end, I think getting a PhD in computer science can be a good idea provided you actually enjoy doing research. But, (a) you should not do it for the money, and (b) you should be aware of how hard it is to get a faculty job afterwards.
Thoughts?