Since I wrote a post about looking for a job, a few people told me they were interested in the reasons why was I not looking for a professor position. After all, the typical procedure for someone in my situation (a PhD with a postdoctoral fellowship under his belt) would have been to apply to as many professor and research lab positions as possible. Right now, I should be flying all over the continent, presenting my work at universities, and trying to get one of those elusive tenure-track positions somewhere or other—perhaps taking another postdoctoral fellowship (or two) if the professorship does not materialize.
However, I decided to step out of that treadmill when my time at the University of Victoria runs out. There are many reasons, but three stand out: I became a father, I got tired of the Ponzi scheme dynamics of the academic career, and, most importantly, I lost faith in the value of much software research to society.
First, parenthood. Among other things, parenthood meant, to me, that my partner and I should be more selective of where we’ll live, where are our friends, how much will I need to travel, and to what extent can I balance work and personal life. We’ve made friends in Toronto and in Victoria; uprooting ourselves again, perhaps a number of times until we finally settle, is unappealing. Furthermore, I now like keeping my evenings and weekends to my family, and to minimize travel. All of this does not agree with the demands placed on young computer scientists today: there are proportionally very few positions available, and if you want to get one, you might need to jump yearly from postdoc to postdoc, and from city to city, perhaps from country to country, and to work overtime to beat your friends to one of them—and once you get it, you’ll need to sacrifice even more to satisfy your tenure committee.
I don’t think it was always like this, for Computer Science researchers. From what I have heard (I don’t have concrete data), the field expanded pretty rapidly some 15 years ago, and for a while universities were grabbing new doctors as fast as they could. But CS enrollment took a huge hit after the bubble burst, and it has not recovered. As a result, university demand for new professors is pretty low—or even negative, in some cases: the positions of retired professors are not being refilled. The university keeps churning new doctors, though, and these doctors are taking postdoc positions because there’s nothing else available, and they build up their CVs so that new grads almost certainly need to engage in the same dynamic themselves if they are to compete. The postdoc life in North America, by the way, is certainly more comfortable than that of the graduate student, but it still does not compare to that of the industry professional. Before you get that professor position (if you get it), you’ll spend about ten years of your life, at least, earning a fraction of the salary of your wiser college friends. The skills you’ll learn in academia will also be a tougher sell outside of it than the skills you would’ve learned in industry (though I think they may be extremely valuable skills, they are not necessarily seen that way out there). All in all, there does not seem to be a strong financial case to be made for the academic path at this point in my field.
I could put up with all of that, actually—with the uprooting and the overtime and the elbowing and the living-at-the-poverty-line—if I was convinced that what we are doing in Software Engineering research is important to humanity. But over the past few years that belief has almost disappeared. The academic structure, at least in my area, only rewards benefits to society nominally; in practice, they are usually nowhere to be seen. You can scour our top publication venues for usefulness, as I do, and find, often, very little to report. (Sadly, you could scour my publications and come to a similar conclusion…)
This problem of usefulness to humanity exists when Software Engineering research fails to be pertinent, but sometimes also, ironically, when it succeeds: one of the goals of our research is to improve the efficiency of software companies, and for a civilization mindlessly depleting its resources faster than ever, it’s unclear whether the net impact of improving the performance of a software corporation is positive or negative to society. There is of course an argument to be made about indirectly aiding progress, but I’m skeptical of it. I only have one life, and if I’m going to put myself and my family through the stuff I described above, I want to make sure that it is for a good reason.
Now, I said that my belief in the usefulness of Software Engineering research has almost disappeared, and that “almost” is important. To be sure, some people working on this field are admirable, their work is fascinating, they tirelessly swim against the stream, and we’re indebted to them (you know who you are; don’t make me name you!). When I think of them I start second-guessing myself: should I not stay and keep trying to use my skills in meaningful problems? Am I not acting precipitously? And the empirical bent of much of our research today brings it closer to applicability—am I not giving up too soon?
Perhaps, but in the end, I’m leaving the university because I have not found a sustainable way to stay and help (truly help) fix the world, and I lost my patience. I’ve resolved to work for an organization that is actually built around that purpose, ideally, or for one that makes it easy for me to do it in my personal time. Given the current state of my field, either will bring me closer to my goal than pursuing a professorship.