ezyang’s blog

the arc of software bends towards understanding

Why you shouldn’t do a PhD in systems

The opinions presented in this post are not necessarily mine. I'm just one very confused undergraduate senior with a lot of soul searching to do.

When I tell my friends, “I’m going to get a PhD,” I sometimes get the response, “Good for you!” But other times, I get the response, “Why would you want to do that?” as if I was some poor, misguided soul, brainwashed by a society which views research as the “highest calling”, the thing that the best go to, while the rest go join industry. “If you’re a smart hacker and you join industry,” they say, “you will have more fun immediately, making more impact and more money.”

Time. Getting a PhD takes a lot of time, they tell me. Most programs like to advertise something like five, or maybe six years, but if you actually look at the statistics, it’s actually something that could potentially extend up to nine or ten years. That’s a really huge chunk of your life: effectively all of your twenties and, honestly, there might be much better things for you to do with these tender years of your life. A PhD is merely a stepping stone, a necessary credential to be taken seriously in academia but not anything indicative of having made a significant contribution to a field. And for a stepping stone, it’s an extremely time consuming one.

There are many other things that could have happened during this time. You could have began a startup and seen it get acquired or sink over a period of three years: six years seems like two lifetimes in a context like that. You could have began a career as a professional in an extremely hot job market for software engineers, hopping from job to job until you found a work that you were genuinely interested in: as a PhD you are shackled to your advisor and your university. The facilities for change are so incredibly heavyweight: if you switch advisors you effectively have to start over, and it’s easy to think, “What did I do with the last three years of my life?”

Money. There is one thing you didn’t do in those last few years: make money. PhDs are the slave labor that make the academic complex run. It’s not that universities aren’t well funded by grants: indeed, the government spends large amounts of money funding research programs. But most of this money never finds its way to PhDs: you’re looking at a $30k stipend, when a software engineer can easily be making $150k to $200k in a few years at a software company. Even once you make it into a tenure track position, you are still routinely making less than people working for industry. You don’t go into academia expecting to get rich.

Scarcity. Indeed, you shouldn’t go into academia expecting to get much of anything. The available tenured positions are greatly outstripped by the number of PhD applicants, to the point that your bid into the academic establishment is more like a lottery ticket. You have to be doing a postdoc—e.g. in a holding pattern—at precisely the right time when a tenure position becomes vacated (maybe the professor died), or spend years building up your network of contacts in academia in hopes of landing a position through that connection. Most people don’t make it, even at a second or third tier university. The situation is similar for industrial research labs, which become rarer and rarer by the year: Microsoft Research is highly selective and as a prospective PhD, you are making a ten year bet about its ability to survive. Intel Labs certainly didn’t.

Tenure isn’t all that great. But even if you do make it to tenure, it isn’t actually all that great. You’ve spent the last decade and a half fighting for the position in a competitive environment that doesn’t allow for any change of pace (god forbid you disappear for a year while your tenure clock is ticking), and now what? You are now going to stay at the institution you got tenure at for the rest of your life: all you might have is a several month sabbatical every few years. It’s the ivory handcuffs, and you went through considerably more effort to put them on than that guy who went to Wall Street. And as for the work? Well, you still have to justify your work and get grant funding, you still need to serve on committees and do other tasks which you simply must do which are not at all related to your research. In industry, you could simply hire someone to handle your post on your university’s “Disciplinary Committee”—in academia, that’s simply not how it works.

Lack of access. And if you are a systems researcher, you don’t even get the facilities you need to do the large-scale research that is really interesting. Physicists get particle accelerators, Biologists get giant labs, but what does the systems researcher get? Certainly not a software system used by millions of users around the world. To get that sort of system, you have to go to industry. Just ask Matt Welsh, who made a splash leaving a tenured position at Harvard to go join Google. Working in this context lets you actually go and see if your crazy ideas go and work.

Don't do it now. Of course, at this point I’m mentally protesting that this is all incredibly unfair to a PhD, that you do get more freedom, that maybe some people don’t care that much about money, that this is simply a question about value systems, and really, for some people, it’s the right decision. I might say that your twenties are also the best time to do your PhD, that academia is the correct late-career path, that you can still do a startup as a professor.

Perhaps, they say, but you need to figure out if this is the right decision for you. You need experience in both areas to make this decision, and the best time to do this is sampling industry for two or three years before deciding if you want to go to industry. After you graduate your PhD, people mentally set their timer on your potential as an academic, and if you don’t publish during that time people will stop taking you seriously. But if you start a PhD in your mid-twenties, no one will bat an eye. Everyone can have a bad software internship; don’t let that turn you away from industry. We solve cool problems. We are more diverse, in aggregate we give more freedom. In no sense of the word are we second-class.

They might be right. I don’t know.

13 Responses to “Why you shouldn’t do a PhD in systems”

  1. Mikael Vejdemo-Johansson says:

    Here is my own — very personal — perspective:
    I did the industry run. Not for 2-3 years, but for about 1 year. I could feel my mathematical ability melting away, and was distraught by this. I had a great workgroup, interesting duties, and had a lot of fun doing what I did, but I could feel my ability to fulfill my dreams vanish in front of me.

    Now I have my PhD. It took me (with a M.Sc. in my pocket when I started) just under 3 years, though I am very well aware that this was incredibly fast. I have a 3-year postdoc behind me, and am just embarking on a 2-year postdoc. I am certainly competitive for tenure-track jobs, but have family obligations that make things more complicated.

    And I feel, for me, that this has been the perfect choice. In industry, I would have had less focus on mathematics — even in the mathematics-heavy areas. This way, I feel myself growing, intellectually, in a way I didn’t when I was a software designer.

  2. ketil says:

    I think you’ve got the trade-offs pretty well pinned down, but there will be cultural differences. For instance, here PhD pay is a real salary, and you are expected to be working independently and creatively, not as slave labor – and to finish in reasonable time. I used to work in industry for some years, and to me, it was a lot more tedious than working in academic setting.

    But I think the choice of path is down to what motivates you: is it learning and understanding a subject, or is it building and selling a product? Making money? Competition? Do you want to travel to conferences or to trade shows?

    Finally, doing a Ph.D. doesn’t disqualify you from working in industry, (and even less so in the US than here, where industry is a lot less mature). But choosing a Ph.D. topic that isn’t purely theoretical might still be a good idea.

  3. Anonymous says:

    If you care for working in the industry at all then I’d say: Go for it! As you note there are already too many people competing for academic posts and if you might be happy not getting one, why compete with others who feel less inclined to work in the software industry than you?

  4. Anonymous says:

    I’m starting my PhD at 31, after getting a MSc degree and several years of work experience (in research and commercial fields). Why? Because I can afford it (I will have a salary during the PhD) and because I don’t think you can do real research in the industry (unless you are employed as an industrial researcher – but it usually requires a PhD anyway!).

  5. Justin says:

    150 – 200K is a lot for a software engineer to earn, at least in the Northwest. Where did you get that number?

  6. John Regehr says:

    There’s no right or wrong here, just right or wrong for you. If your gut says go to industry/academia, do it. You have a reasonable take on the situation, but the generic issues don’t really have any effect on your actual life. To a very good approximation, your actions are all that matters.

    The money issue is misleading. More money means you probably get a lawn to mow and a roof to fix, a better car, and generally just more crap in your life. Making less is freeing. I lived on about $6k/year for 5 years and $20k/year for another 5 years and nearly always had enough money to drink beer when I wanted to, which is as good a metric as any.

  7. Justin: Second hand knowledge, from someone who has talked to people working at the big companies for a few years (Google, Facebook, etc.) I also have personal experience which makes these numbers, while large, certainly plausible.

    Thanks for all of the comments. I understand this is a very personal decision, and one of the reasons I wrote this up was I wanted to make sure I had understood this particular angle on the issue.

  8. anonymous says:

    As someone who took the PhD path, I’d say that there’s another aspect to PhD work which is interesting: you can basically do as much or as little work as you want. You can also set all your own hours. You can wear pajamas, come in at midnight, arbitrarily decide to work from home, etc. Your officemates will be fellow ponderers. So long as you make a trickle of progress toward your degree, and you don’t mind living minimally, it’s great.

    Unless you’re a star student AND a genius, no one is going to care much about the papers you publish and especially the dissertation you’ll be forced to write. Likewise, unless you’re a star programmer and businessman, whatever you do in “industry” is not going to change the world. In industry you have to work a lot, accept not being able to do what you want most of the time, follow a lot of rules, and hopefully get a decent paycheck. In grad school, you have far more freedom. You can sit around reading and pondering and programming. And you get compensated accordingly (i.e. very little). So pick the lifestyle you want. I disagree with the idea that a PhD is a stepping stone. If it is, it doesn’t lead anywhere important. The point of grad school is to be in grad school and have the freedom to read all day.

    I’m 5 years into a PhD program, and while I don’t regret choosing grad school, I’ve come to believe that my field is entirely pointless, and that the whole ivory tower is a bit silly. Doesn’t matter; I learned a lot of math, CS, and programming skills on the way, and it’s been great. I don’t begrudge not having “gone into industry” and made bank, because I’ve really enjoyed my freedom, and I’m confident in my ability to find decent industrial work when the time comes. The only bad parts of grad school have been having to periodically crank out “results” for my advisor to publish and take credit for, and having to humor my dissertation committee.

    Finally, DO NOT enter grad school with the expectation of an academic career. As others have mentioned, unless you are extremely lucky, your academic destination will be a hapless adjunct position or postdoc, teaching undergraduate courses for very little pay. And in contending for a tenure-track position, you have to do a lot of unpleasant things, especially humoring the antiquated ideas of the priesthood and publishing paper after paper of salami-slicing bullshit while pretending (even to yourself) that you’re doing real cutting-edge research. Even if someone handed me a tenure-track assistant professor position next year, I would not take it.

    Go to grad school to enjoy the ride, not because of any expectation of any kind of achievement or exalted job at the end.

  9. Anthony says:

    I strongly agree with the sentiment that you go to grad school to be at grad school, not to earn a PhD.

    If being at grad school sounds awesome to you, then you do it. If you view it as an onerous requirement of getting a PhD, it can turn into a nightmarish slog.

  10. Anonymous says:

    “You can also set all your own hours. You can wear pajamas, come in at midnight, arbitrarily decide to work from home, etc.”

    This exactly describes how developers work at Google, plus free food and massages. I am here after getting an applied math Ph.D., and it is very much a grad school, except no more starving.

  11. David Terei says:

    I would agree with a lot of the others that you should go to grad school only if you think you’ll enjoy the journey itself. Well this is for a PhD anway, since:

    1. Academic careers are very hard to come by and getting harder. I also think you make some very good points about tenure track and then tenure in general.

    2. I personally am doubtful of a PhD’s benefit in industry. It helps a little but isn’t worth the amount of time it takes to do the PhD. (e.g if you want to do more education for career benefits, a Masters of Comp. Sci would be worth it or doing a professional degree like an MBA). PhD, not really though, the return on investment is too low.

    So basically my advice (and like you I’ve been asking around and talking to a lot of people in industry and academia as I’ve also been tossing up future options) is that do a PhD if its either required for your chosen career path (so academia or industrial research or some other just highly specialized areas), or you think you’d enjoy the process of getting a PhD itself and just want to spend 6 years living that lifestyle knowing that you’ll go into industry at the end without much benefit over a Masters student or depending on the area and country, even a Bachelor student. It also depends a little on the kind of work you want to be doing right now and also into the future. Theoretical and mathematical work will be very easy to find in academia but very hard to find in industry.

    In terms of making a decision itself. I find it very hard to follow this advice but believe its probably the best advice I’ve heard on deciding some of these things. That is, just try to decide by thinking what will make you happy / you’ll enjoy for the next 2 years. Thinking in terms of 20 years or even 10 is too difficult. Both in that its overwhelming and a little pointless as who knows what you or the world will be like by then. (Obviously though some exceptions apply if you have a clear focused passion / long term career path like being a Professor where you will need to think in more like 6 year blocks. Most people don’t though so just think 2 years).

  12. Adam says:

    Thanks for posting these thoughts; lately I find my own eerily echoing them.

  13. Matt S says:

    I went the PhD route myself a few years ago and am relatively happy having made that decision. Took me just under 3 years after having completed a MS a few years before. I didn’t do it with any particular career path in mind though – my only goal was the vague notion of being able to “do research”, somewhere. I didn’t go the academic faculty route for one simple reason – I didn’t like a career path where I was at the mercy of chance with respect to where I could live. At any given point in time, only a subset of universities are hiring. As most of my peers ended up experiencing, you end up sending applications to a bunch of them all over the country, and take whichever ones hit. I didn’t like this idea, since I have a pretty strong preference for where I want to live and unfortunately, there aren’t a whole bunch of universities nearby.

    Industry has been an OK place having completed a PhD – not bad, but not perfect. I don’t think the degree really gives me a leg up with respect to people who write software, but it certainly makes it easier to compete for research funding. This has the added benefit of me having a bit more direct control over what I spend my time on than I would otherwise. I think the only unpleasant part about industry is the tension between doing research, and existing in a for-profit institution where long term projects with very hard to predict outcomes are hard to justify. This can occasionally be very frustrating.

Leave a Comment