Strong/Weak Reasons to do a PhD in Computer Science
These are the things I wish I had known before deciding to go to grad school. Obviously take these with a grain of salt, as they just represent one man's opinion.
Strong reasons to do a PhDโ
I define a strong reason as sufficient reason on its own to do the PhD. You only need one of these:
1. ๐ฅ You want to work on something you can only do in academiaโ
When I started my PhD, interesting job opportunities in crypto companies were much more limited than they are now. Today, there are countless companies working on end-to-end encryption, homomorphic encryption, secure hardware, and many other breakthrough technologies. My friend said something similar about the robotics industry before Willow Garage and Google X's autonomous vehicle program.
At that time, the best place to work on these emerging technologies was in academia, where the ground-work was still being laid out. For these specific fields, I'm not sure if that's the case anymore, but I am sure there are other fields for which this property still holds true. If you have a passion for such a field, I say go for it!
2. ๐ฅ You love the research processโ
The research process is a very particular game of writing papers, and your career will depend on your ability to publish to premier venues. Every publication venue has their own (sometimes opaque) criteria that they use to judge whether a paper is sufficiently novel to include in their journal or proceedings. If you haven't already, read lots and lots of papers from your favorite venue. There are conferences for every field of computer science. Do you find these papers absolutely enthralling and captivating? If not, you should probably stop here.
If yes, find a professor working in that space and volunteer your time. Don't limit yourself to just coding (that is only a tiny part of the research process). Find a way to get involved in the writing and editing process. Be there to wipe up the tears when the paper gets rejected. Stick around for the many paper iterations to resubmit to the next conference. Try writing a novel paper yourself. Does it fill you with joy when some experts half-way around the world consider your work good enough? If so โ a PhD might be for you. If this process fills you with loathing, you might want to reconsider spending the next 5+ years of your life on it.
Note: I did not talk about novelty or freedom. There are countless ways to build novel software that doesn't exist yet (e.g. in industry or open source communities), or get more freedom to pursue new ideas (e.g in startups). The research process is a very particular process.
3. ๐ฅ You want a shot at eventually becoming a professorโ
This is an obvious one, in the sense that for most schools, a PhD is a hard requirement. If you love to teach and want to do it at the college level, this is the way to do it. However, faculty positions are an incredibly scarce resource. Just think about how many faculty exist in your department and how often that changes (compared to the students). It is significantly harder to land a faculty position. If you do manage to land one of these positions, be prepared to potentially relocated to a location you never expected, or at a lower tiered school than you hoped for.
Weak reasons to do a PhDโ
I don't mean that they're bad reasons per se. Rather, each individual reason on their own is generally not enough to keep you going through the difficult journey.
1. โ๏ธ You want to earn more moneyโ
There is a high opportunity cost to doing a PhD. For top-performers who plan to go into industry, you can often expect to make less after a PhD, than if you had gone straight into industry after undergrad. In other words, it will likely take you much less time with the same amount of work ethic to get the promotions you would need to be at the level you'd be interviewing for at the end of your PhD. For example if you decide to go to Google, you'd probably start at L3 after undergrad vs L5 after your PhD. Plus, the skills you learn during your PhD are often not the ones that will make you more valuable as an engineer in company. Of course, there might be some exceptions to this based on your expertise level and field of expertise.
2. โ๏ธ You need time to figure out what you want to do with your lifeโ
PhDs require a lot of time and you will be doing no less work than at an engineering job (often times more). Yes, you will be exposed to new fields through classes, but I'd recommend folks to take more classes in their undergrad or masters programs. When you become a PhD student, you'll likely be expected to start working on papers on day 1. There is a chance you may find out that you want to do a PhD during the PhD, but you can also figure this out elsewhere (like I did during my first job after undergrad).
3. โ๏ธ You want those 3 letters after your nameโ
No one is going to care that you have a PhD. It is not going to be a determining factor in any job interview, except for professors (see above). Especially in computer science and engineering, your skills, ideas, and reputation will be your best assets. You can gain those in or out of a PhD.
4. โ๏ธ Someone (e.g. parents/teacher) told you to do itโ
Your parents aren't going to write your papers for you. Your professor or your peers aren't going to write your papers either. The open secret is that the first author of most multi-authored papers wrote 95% of the paper and a PhD takes a lot of effort and focus. The motivation needs to be intrinsic. Doing this for someone else will probably not motivate you enough to go through the grind when things get tough.
5. โ๏ธ You're a masochistโ
When someone tells you how hard something is and how most people fail, does that draw you to the challenge? My group used to joke that the best PhD students are the ones that after being told they shouldn't do one, continue to do it anyway. Marc Andreesen has said the same thing about startup founders. They say these things to elicit that feeling of, "do you think you're good enough for this?" Don't fall for that trap! It is in their best interest that more students/founders try and fail by casting a false dichotomy of success vs failure. For any individual person, not going to grad school may be way better for your career and falling for this narrative is a terrible reason to commit years of your life.
6. โ๏ธ You want to learn new technical topicsโ
In your PhD, you will spend a lot of your time reading papers. You'll read some in group settings with other colleagues interested in the same subjects, but you'll also read a lot on your own. I love that PhDs give you the time to read and engage in deep discussions about a topic with other like-minded folks. The PhD did teach me how to pick a brand new subject, learn enough to become an expert at it, and discover new insights.
However, I list it as a weak reason in itself because I think of this as a life-long mindset that can and should be developed regardless of where you are. As a thought experiment, if I wanted to do a career change and start working in computational biology, would I do another PhD? Of course not! I would read papers, find good mentors and colleagues in the field, and start doing work in the space.
If you ask me if I regret going to grad school, I'll always answer no and share reasons why the experience was valuable to me. Without the ability to A/B test my life, I also won't be able to definitively tell you that my life could have been better or worse. However as a recovering masochist that went to graduate school because I thought it was about "academic freedom", I really underestimated just how difficult the journey would be, its impact on my mental health, and the wide prevalence of depression (1, 2, 3, 4). I hope these tips might help you recognize what your motivations are so you can make better decisions for yourself.
If you agree or disagree with any of these, please leave your comments below! I'd love to hear how others would think about this decision. Join the conversation on:
Thanks to Ian Vo, Calvin Ardi, Dan Butler, Brandon Holt, Dimitrios Gklezakos, Rahul Banerjee for their feedback!