In November 2021 I thought I might want to leave my PhD program. To help clarify my position I wrote this post and its companion from the perspective of my future self having already made the decision. Eventually I chose to finish my PhD, and successfully defended in December of 2022 While I have a different perspective on some things now (I became an applied scientist instead of an engineer!), I think these posts are a good look into how I thought about grad school at the time.

I’ve decided to leave my PhD program.

I ask myself whether I should stay in grad school regularly to make sure I’m spending my time well. Most of the time, the answer has been a quick “yep” and a return to work. Recently, though, it’s been harder for me to find reasons to stay.

I came to grad school with two goals in mind. First, I wanted to be a part of the machine learning field because I had seen it do things that I never thought possible1. However, while I had some theoretical background from taking a grad-level ML course, I had little practical experience. I was concerned that recruiters would throw out my resume if I were to apply to ML engineering positions, especially since I had a weird major they had never heard of before. I knew I would have a much better shot getting a spot in a comp bio or bioinformatics lab and working on ML projects while there.

Second, I had read papers and watched videos from scientists working in computational biology and believed in what they were doing. I bought into the idea that all biology was computational biology, and that the resulting ability to scale would change the world.

I’ve accomplished my first goal. I’ve learned enough DL to walk students through an entire grad-level deep learning course. I wrote a three-hour tutorial on transfer learning. I’ve posted thousands of commits to projects at the intersection of machine learning and biology. I started this blog, and I even authored a paper on good programming practices in ML. While I may not be as attractive a candidate as someone who has worked in ML for years, I’m past the point of getting my resume thrown out.

As for the second goal, while I still believe biology will eat the world, I don’t think I’m the person to make it happen. I’m too far on the computer science side of the CS <-> Bio sliding scale in computational biology. While there are interesting computational problems in comp bio, I don’t find the biology part as compelling. As a result, while I regularly read random ML papers for fun, I find it painful to read the biological background papers for my projects.

All that’s left, then, is the degree, and the question of whether the degree is worth the cost.

Coming out of a computer science undergrad program, I thought I had a high tolerance for failure. Like most people, my code didn’t run correctly first try, and I was very familiar with having my computer tell me that I was objectively incorrect. Grad school is on an entirely different level. In my computer science undergrad program, a challenging project would mean that my program didn’t work for weeks. In grad school, a project failing for years is completely normal.

Worse, the failure is indefinite. It could be that your experimental design skills aren’t up to snuff or that there is a pernicious bug in your code, or what you’re trying to do might just be impossible. You can keep trying or switch projects, but neither way has a guarantee of ever succeeding.

Banging my head against the (metaphorical) wall has left (metaphorical) bruises. I used to love programming, and I still do when I start new projects that are different enough from my thesis work. But if something is too similar to my thesis project, I find that I’ve been conditioned to avoid working on it. There is a reason that I use a different IDE to write blog posts than I use for PhD work.

All of that pain is for an uncertain payoff. The institutions underpinning research strongly incentivize specialization over generalization. As someone who loves learning new things, the incentive structures of the field would work against me if I were to try to study what I find interesting rather than choose a narrow domain and work there forever. I believe that success comes from working hard on things you enjoy, so I’d be setting myself up for failure by trying to become a research scientist.

Ultimately I worry that if I decided to stay, it would be out of a fear of change. I’m not fully convinced that that is the case, but I’m aware that I’m heavily biased towards inaction over action. I want to change that, and the best way to start is to leave.


  1. Still true now, but even more true in 2016-2017 when I was deciding what to do after graduating undergrad