Over the six months tåhat I’ve been writing this blog, I’ve gotten a bunch of email from people asking about what it’s like working as a researcher in industry vs working in academia. It’s a good question, one which I’ve spent a lot of time thinking about. So I thought it was worth turning into a post.
Industry versus academia is ultimately a tradeoff in a couple of different dimensions. I’ll go into a bit more detail on each, but the basic tradeoffs as I see them are:
* Freedom: industrial research is much more constrained than academic; academics have more freedom that industrial folks.
* Funding: industry people do not need to spend nearly as much time on money chasing as academics.
* Time and Scale: there are types of work that you can do in industry that you couldn’t in academia because of resources and scale.
* Products: the kinds of end-product of your research are very different in academia versus industry. In academia, you have two requirements: get money, and publish papers. In industry, you’re expected to produce something of value to the company: software, hardware, patents, etc.
The kind of freedom I’m talking about here is the freedom to set and pursue your own research agenda. This is something that’s usually very important to researchers.
In theory, academic researchers are free to work on whatever they want, so long as they can arrange to get grant money to support that work. The good part of academia is that freedom; the bad part of academia is that grant requirement. (But more on that later.)
In industry, you’re constrained by the needs of the company. You can’t just decide that you want to do “X”. You’re expected to work on things that are at least *potentially* beneficial to the company. It actually ends up being not *that* different than academia in this sense: the way that it ends up working is that in an industry job, you can do whatever you can get people to cough up money to pay for. The main difference from academia is *who* you get the money from. In academia, it’s generally grant programs, either from the government or from interested industry groups; in industry, it’s product teams from within the company. But that’s a big difference: industrial product development groups are generally *extremely* focused, and will not bother with things that are irrelevant to their *current* needs.
In academia, you’re pretty much required to arrange all of the funding to do your work. The end effect of that is that many academics end up spending at least half of their time doing work related to getting the grants they need to do their research. (And that means that they’re not nearly as free as the general statement above about being able to do what they want would imply: academics can do what they want *provided they can get someone to pay for it*; but getting someone to pay for work is *very* hard; and getting someone to pay for something very different from what you’ve done before can be close to impossible.)
And as I said above, in industry, your funding generally comes from product development groups within the company. As an industrial researcher, you are indirectly working for the product groups. This tends to mean that you spend much less time going around and begging for money; it also means that you have a lot fewer choices about who to send an application to. If the product group for your research area isn’t interested in what you’re doing, you’re going to have
to find a new project.
Time and Scale
This one is a really interesting tradeoff. Academic researchers can set very long-term research agendas and pursue them. It’s rare to find an academic researcher who doesn’t have a rough plan for *at least* the next five years of their research. In industry, you can’t plan that far ahead: a project is usually expected to start showing *some* results within a year. The project can go on for many years (the longest project I know ended up lasting around 15 years!), but you don’t have the ability to plan for that kind of time when you start.
But on the other hand, in industry, you can do work on a scale that’s unimaginable for an academic. Spending four person-years working on infrastructure to make your system work on a really large code base would be pretty much out of the question in academia. In research, it’s not just possible, but it’s often expected.
In my field, software engineering, academics usually run their tests on what they call real systems: generally a couple of thousand lines of code. In industry, we run on hundreds of thousands to *millions* of lines of code. One of my first projects involved writing compiler analysis of templates for a C++ compiler. The code base that I got to test my analysis on was 1.5 million lines of code. And I’ve gotten to run tests on larger things than that since! Academics generally don’t get to do that, both because they rarely have the time to build code that can handle things that large; and even if they did, they rarely have access to code bases that large: companies don’t go handing the source code for their products to academics!
By products, I mean what your research project produces as a result.
In academia, you’re under a huge amount of pressure to publish *publish* **publish**! The main product of your research is the papers. You design your agenda around produces papers on a regular schedule, and you work insane hours (especially before you get tenure) making sure that you get enough done to write the papers you need to write, and then actually doing the writing in the breaks between applying for grants.
In industry, the common saying is that research can produce three things: products, patents, and papers (in that order). To be successful you need to produce at least two of those three; and the first two are preferred to the last one. Publishing papers is nice, and you definitely get credit for it, but it just doesn’t compare to the value of products and patents.
Why do I work in industry?
When I started working on my PhD, I had no intention of going to work at an industry research lab. I went to get my PhD specifically because I wanted to teach.
The way I wound up in industry is a combination of strange factors – my obsessiveness about programming languages; some really *good* luck; some really *bad* luck; some coincidences, and the fact that I’m married to someone smarter than me. I originally started writing out the whole story, but it would have turned into the longest post in the history of this blog by a factor of three or four. So I’m going for the short version.
Because of my obsessiveness about programming languages, I knew about a somewhat obscure but extremely cool programming language, which I used for doing some exploratory development when I was working on my dissertation proposal. As a result of that experience, I wound up getting a summer internship at the lab where I now work.
I had a *great* time working for them that summer. Without that, I never would have considered industry; but my experience working with them for the summer helped me realize that an industry research lab was a lot more fun than I would have expected; and that there are some real advantages to being in industry instead of academia. What I learned was that industry researchers weren’t nearly as straight-laced as I’d expected; they had more freedom than I’d expected (although still not as much as in academia); and they had *access* to people and materials that would be nearly impossible for an academic person.
When graduation time came, I had a lot of solid experience in research and building systems; but I didn’t have as many publications as I would have liked. (There’s an interesting story in there about research politics, but that’s a story for another day.)
The folks I’d worked for in industry were very interested in hiring me; and I’d had a great time working with them, so I interviewed with them, and got the job.
It was a place I thought I’d enjoy working, and it was well-located, so there were plenty of places not too far away where my wife could find a job. (That was a *very* important factor; we met while working on our PhDs, and she’s a better researcher than I am. So making sure that we weren’t stranding her in order to give me an opportunity was a big deal.) And that was that.