One Weird Year (April 2012–2013): How I Quit Academia for Industry then Returned
A lot happened in my career between April 2012 and 2013: I quit academia after finishing my Ph.D., took an industry job, and then almost immediately returned to academia.
Since my [Ph.D.] dissertation topic is far from being mainstream, any junior professor or scientist who tries to build their academic career upon its ideas will struggle to gain the respect of grant funding agencies, which are the gatekeepers to launching new projects, and their senior colleagues, who are the gatekeepers to publication and tenure. I will be more than happy to assist anybody who wants to take on this noble fight, but I'm not brave enough to stake my own career on it. Instead, I plan to now pursue a completely different professional passion, which might someday be the subject of a future book :-)
This article picks up right where that quote left off and tells the story of how I pursued my “completely different professional passion,” which led to one weird year starting in April 2012 ...
Near the end of April, I passed my Ph.D. dissertation defense and got my committee to sign-off on my dissertation. That marked the official end of my Ph.D., so I was relieved that it was all done.
By this time, I had already accepted a full-time job as a software engineer at a large tech company, starting in July 2012. It was the only job I applied to, since I had done an internship there the prior summer and gotten a full-time offer. Back then my self-esteem about my own research was at an all-time low, so I didn't apply to any research-related jobs in industry or academia.
I still had to remain on campus until graduation in mid-June since I was TA'ing my advisor's class. Since I was all done with my dissertation and just waiting to graduate, that's when I started writing The Ph.D. Grind as a way to reflect on the past six years.
The reason why I accepted that software engineering job was because my future boss was very interested in my Python Tutor project that I had created as a personal hobby over two years earlier. He wanted to support me in developing it further as part of my work at the company. I didn't know exactly what to expect when I started in July, but that sounded like the best option to me at the time. Plus, I was too burned out to look for other jobs.
I attended graduation in mid-June, put the finishing touches on The Ph.D. Grind, and released it at the end of the month. That document loudly proclaimed my “retirement” from academia.
Meanwhile, I was really looking forward to starting my new job next month since my “completely different professional passion” at the time was Python Tutor, which had nothing to do with my Ph.D. dissertation. I was hoping that I would get to keep building Python Tutor at the company under my boss's protection since he recruited me to his group due to his interest in that project.
I started my new job and, as promised, my boss provided the managerial cover to let me work on Python Tutor nearly full-time in the first few months. It was truly a Unicorn Job where I got paid to work on my own passion project. I'm immensely grateful that he gave me this opportunity since I knew that entry-level new-hire software engineers were rarely given this much freedom at any company. So I made the most of it!
But ... since my job title was software engineer, technically I was supposed to be available as a resource to be allocated to work on whatever the company higher-ups wanted. So I knew in the back of my mind that this Unicorn Job wouldn't last forever.
I continued developing Python Tutor at a blistering pace and improving it dramatically week by week, since I had no idea how long my Unicorn situation would last. I got amazing feedback on it from colleagues within the company and also arranged to give talks on it at outside venues too, basically doing exactly what professors do to develop, implement, and promote their own independent creative projects. It seemed too good to be true: I was enjoying a quasi-academic lifestyle within the safe confines of a big company, protected by my great boss. I even remember my friend (whom I met during last summer's internship at that company) commenting on my unusual situation: “this isn't what software engineers are supposed to do, it's what professors do.”
He was right. Throughout July and August, company higher-ups were starting up a new project that needed some engineering resources, and the few software engineers in my boss's group were the closest available ones to be allocated to it. These higher-ups didn't care who we were; they just needed some people be conscripted to write code to implement their vision. So several of my groupmates and I had to attend a bunch of planning meetings knowing that the hammer could drop on us anytime. Thankfully things moved very slowly in a large corporate bureaucracy, so it took them over two months to get this new project off the ground; that was totally fine with my groupmates and me, since it gave us more time to work on our own projects.
After three months of some of the most passionate coding I had ever done, I released Version 3 of Python Tutor (see the Version 3 section of this recap for details). I wrote a SIGCSE paper and posted about it to the company research division's social media channel, which had over 100,000 viewers. This publicity push was critical for getting the first major batch of users, which spurred its rapid growth in the coming years.
In the meantime, I had to spend more and more time in planning meetings to serve as an enlisted resource for the “official” project that upper management had just started. As one of four software engineers assigned to this new project, I also had to spend time prototyping its early features. No problem; I did the bare minimum amount of coding needed to satisfy the higher-ups and then went back to working on Python Tutor as much as possible. (My groupmates weren't inspired by this official project, either. It was a boring clone of other products that already existed on the market, designed in part so PR could say that our company was also getting into this space. It was cancelled the year after I left, so all of the other engineers' coding efforts went to waste.)
The beginning of the end. I sensed that the official project was ramping up so I wouldn't be able to hide out working on Python Tutor for much longer. But I was grateful I had gotten three months to intensely focus on it, get it released, and make a publicity push with the PR (public relations) team.
By October, I wanted to get off of this official project, and I had developed a good relationship with the company's research PR team by helping them edit some blog posts. I pitched them on the idea of switching to their team to spend 50% of my time working on PR activities and the other 50% working on Python Tutor under my original boss. That way, I could still demonstrate value to the company but wouldn't be on the hook to work on the official project that I wanted to get away from.
Although some people were politely supportive, ultimately nobody agreed to sign off on this plan because (in the wise words of my old internship friend) this isn't what software engineers are supposed to do. Software engineers are supposed to serve as resources to write code on company-assigned projects, not to define their own autonomous roles where they would do some PR work and some of their own independent work. That's what professors do, not engineers. Although most people were polite and well-meaning, I basically got the message that I should fall in line and just write code to implement what the higher-ups were designing in their big-picture project planning meetings.
Since the official project came from even above my boss's level in the corporate hierarchy, as the months went by he found it harder and harder to give us cover to work on our own passion projects. He tried to protect us from orders from above, but I probably made his job harder by overtly spending the minimum amount of time working on the official project.
At that time, a politically-savvy manager sensed that my boss was giving us too much freedom and not keeping us firmly in line. He made a case for taking over my boss's group since he probably convinced the higher-ups that he could more effectively keep us in line to work on the official project. In early November, all of the engineers under my original boss were transferred to this other manager, so I was suddenly told that I had a new boss.
During my first one-on-one meeting with my new boss, he made it crystal clear that he wanted everyone to focus fully on the official project from the higher-ups and that there would be no more support for independent work like Python Tutor. Since this new boss had full control over my performance reviews and thus my reputation within the company, it was clear that I needed to either do exactly what he said or leave. I chose the latter.
At the end of that first meeting, I told my new boss that I would look for other groups in the company to transfer to, which would free up a spot for him to hire a new engineer to replace me. He was satisfied with this plan since he just needed someone to write code on the official project. The only thing we both agreed on was that I was a bad fit since I didn't want to take orders from him :) We shook hands, parted ways, and I never spoke to him again.
While I looked within the company for other groups to join, I was also looking for outside job opportunities. The first person I emailed was a professor who was doing a sabbatical at an educational technology startup. He had contacted me earlier that year since his company was interested in using Python Tutor, so I reached out to him to ask if they had any job openings. But when I told him about my dreams of working on my own independent creative projects, he said that being a professor was one of the only sustainable ways of doing so long-term. While he enjoyed his brief time at that startup, he planned to return to his university full-time since that was the only way he could get the autonomy and freedom he desired. It is hard for both startups and big companies to support the kinds of open-ended research work that we wanted to do over the long term; sure, it can happen short-term with your boss's protection, but bosses can change overnight without warning. And starting your own company means building marketable products rather than doing nonprofit research.
Before that moment, I had never contemplated applying for faculty jobs, but I realize that there was actually barely enough time to put in applications for this year since they were due around mid-December, which was five weeks away. So I asked my mentors for recommendation letters and started working on my applications. (If my new boss had waited even a month longer to take over our group, then I would've missed this once-per-year window of opportunity. So I should thank him for acting so fast! In a weird way, he set me down my current career path.)
While I was preparing my faculty job application materials, I was also searching inside my company for another group to transfer to so that I could get away from my new boss ASAP.
I ended up joining a group whose manager had reached out to me months earlier due to my relevant technical background. I was grateful that he took me, but at the time my heart was already set on covertly applying to faculty jobs, and I just needed a place to park while waiting to see if I could get some interviews. Since it was near the holiday season and the manager of this new group was on extended leave, I could lay low there and keep collecting my paychecks. My new teammates probably thought I was totally incompetent, which was understandable since I just did the bare minimum and devoted all my brainpower to job hunting.
By the end of the month, I had finished submitting nearly all of my job applications to 24 universities around the U.S.
I continued laying low in my new group at the company while waiting to see if I would get any job interviews. Fortunately I started receiving interview invites, so I spent most of January preparing my job talk (a one-hour research presentation).
I felt like I was at a severe disadvantage on the job market since fellow applicants had been preparing for months or years for this career path, but I had just impulsively sprung this plan into action two months earlier. Also, these applicants' Ph.D. advisors often “groomed” them for a future career in academia, paving the way via their powerful connections and word-of-mouth publicity at annual research conferences. In contrast, I stubbornly worked on research that was far outside my own advisor's area so he couldn't convincingly vouch for me; and my self-esteem about my research was so low at the time that I was even afraid to initially ask him for a letter of recommendation. Finally, I was applying secretly since I didn't want to jeopardize my job in case things didn't work out; so it was harder for me to get feedback about my job apps or talk because I couldn't openly discuss it with my colleagues.
Thus, even though I had received several interviews by the end of January, I wasn't sure that I could land any offers.
By early this month, I had eight job interviews scheduled across February and March. I would need to fly throughout the country to interview on-site at these universities, so there was no feasible way that I could remain at my company; I couldn't just disappear for two months! In contrast to me, grad students and postdocs who apply to faculty jobs are able to remain fully-employed at their universities while they spent several months traveling to interviews since they had their advisors' blessings to do so. I was applying secretly, so I had no such support from my employer. Thus, I had no choice but to quit my job, which freed me to focus 100% of my energy on preparing for faculty job interviews.
As a backup plan, I also reached out to organizations that could potentially fund me as a short-term postdoc to keep working on Python Tutor. Ideally I wanted the stability of a tenure-track job, but since I was now unemployed, I needed a Plan B too. I ended up talking to the founder of edX (the MOOC provider) as well as to Professor Rob Miller at MIT, both of whom were big Python Tutor supporters who knew me through mutual MIT colleagues.
This was my second month of traveling across the U.S. for faculty job interviews, which was an intense but invigorating experience. Unlike at my industry job, I could now be 100% open about my ambitions as a professor to take Python Tutor and other open-ended research to the next level ... I didn't need to pretend to go along with whatever engineering work the higher-ups assigned while secretly carving out time to work on my own independent projects. Even from Day One as an assistant professor, I would have the autonomy that I craved to lead my own projects.
By the end of this month, I had received job offers at three universities, with a few more expressing initial interest. I had no clue whether I would succeed as a professor, but I felt in my gut that it was the best career path for me at the time given my desire to push forward on my own independent research projects.
In early April I visited a few schools again after getting offers and accepted a job as an assistant professor in the computer science department at the University of Rochester. They agreed to delay my start date by a year until July 2014, which gave me time to do a postdoc to prepare myself for faculty life. I then finalized my plans with edX and Rob Miller at MIT to work as a postdoc there. See Postdoc Year-In-Review for details about that year.
In sum, April 2012 to 2013 was one weird year. When I finished my Ph.D. dissertation at the end of April 2012, I had no idea what was in store for me over the coming 12 months. So that's how I quit academia and then returned shortly afterward. I would end up doing another (again secret!) faculty job search in 2015–2016, which led me to UC San Diego. But that's a story for another day.
Donate to help with web hosting costs
Last modified: 2020-05-02