How to: apply to and decide on (CS) PhD programs

David Tao
13 min readMay 5, 2022

--

Me in one of the many robot demos during my school visits (this was at Brown!). Be prepared to see a lot of robots during your visits if you’re in CS.

Table of contents

Should I do a PhD?
Set yourself up for graduate school
What should I consider when picking a supervisor/lab/school?
PhD applications: logistics
PhD applications: statement of purpose
PhD applications: letters of recommendation
The long wait for decisions
The roller coaster that is receiving your decisions
Visits and why you should absolutely do them
Making a decision
How to reject PIs and schools
Additional resources

Precursor: these opinions are my own and reflect how I’ve come to make my decisions. Other people have done this differently — there’s no right answer to this! This is just what made the most sense to me at the time.

I’ve also omitted (most) school names and supervisor names. If you’re interested in asking me more questions about the specifics of my process, feel free to email me! Would be happy to help and chat if I’m free.

A bit of background about myself: the area of CS that I’ve focused on is machine learning, and more specifically reinforcement learning. I did my masters at the University of Alberta, so I will say that I have a particular view of the field and of supervisors/schools etc. For full disclosure, I’ve decided to go to Brown University for my PhD, mainly due to an amazing supervisor/lab fit, the fact that I like Providence as a city, and the fact that New England is close to a lot of close friends of mine.

The goal of this article is to get you accepted to a good selection of schools/supervisors, all of which you’d be successful and happy with picking. I’ve outlined this entire process chronologically below based on questions/themes that are relevant to that part of the application and decision making process.

Terminology:
— PhD: Doctorate in philosophy. You should know this if you’re reading this.
— PI: Principle investigator. Interchangeable with advisor and supervisor.
— GRE: Graduate Record Examinations. Standardised testing for graduate school. Something to avoid.

So to begin, let’s answer a precursor question:

Should I do a PhD?

I’m probably not the best person to answer this question since I’m just about to start a PhD, but I’ll go ahead and talk about the advice I’ve gotten and the thinking I’ve done over the past few months about this question. YOU SHOULD BE CONSIDERING THIS WELL BEFORE (like half a year to a year) THE APPLICATION DEADLINE.

This question essentially boils down to: do you have a good enough reason to do a PhD? Some BAD reasons to do a PhD:

  • I’m indecisive as to what I want to do, so I’ll just do more school.
  • I’ve applied and gotten into a PhD program that I feel lukewarm about.
  • My parents think I should do more schooling.
  • (More personal opinion) I like the prestige that a doctorate from a top school brings, so I’ll do a PhD.

First off — a PhD is not only “more school”. A PhD is:

  • It’s a job as a researcher and as an opportunity for you to learn more about a field and learn how to be kick-ass at doing science.
  • It’s an opportunity for you to develop your interests, curiosity and expertise towards a field(s)/subfield(s).
  • It’s an opportunity for you to answer a deep question that you think is answerable with 4–5 years of work and research.

If any of these above three factors speak to you as a next step in your life, and you’re willing to take the hit in opportunity cost (like making a proper salary) of working in your field for 4–5 years, then a PhD is maybe something you’d want to pursue. I could go on about this topic, but I think the above does a generally good job of encompassing what a PhD should mean to you.

Now that you’ve decided on doing a PhD, we should consider what you need to do to…

Set yourself up for graduate school

If you’re interested in a good program, planning ahead is VERY important as an undergraduate/masters student. I’m going to be focusing on getting into graduate school in general, so this section might be more relevant for people in their undergraduate degrees. A huge chunk of graduate school is building your network and experience in research, so getting experience in both these aspects is important early on. Here are a few things I’ve advocated for:

  • Get involved in research early! You don’t have to already be a grad student to get involved with research projects. Reach out to profs, postdocs, PhD students or even masters students about getting involved with a topic you’re interested in during your undergrad.
  • Go to office hours of professors you like! It doesn’t necessarily have to be in a subject you’re particularly interested in — professors are (in general) friendly, and getting to know them in office hours is a great way to both get good advice about your class, but also potentially get letters of recommendations for if you do end up deciding on grad school.
  • Take on summer research roles! It’ll be a great opportunity for you to try out research and see if it’s something that you enjoy.

So now that you’ve decided to pursue graduate studies, you might want to consider a masters first. A masters is a great opportunity to learn a lot about research in a short span of time, and develop interests for potentially starting a PhD. If you decide on doing a masters or not, I’ll be focusing the next few sections on the PhD application process, although some of these things will also apply to getting in a masters program.

What should I consider when picking a supervisor/lab/school?

While I advocate for taking the larger-to-smaller approach in most decisions in life, in this particular case I would highly advocate for the opposite: first decide on a (great) supervisor fit, then consider the lab, then consider the wider school and city that you’d want to work/live in. I strongly believe your priorities should be in that order.

I’ll mainly be focusing on supervisor/lab fit since I believe it’s the most important factor that determines a successful PhD. There are also a few great questions you should consider in the Making a decision section of this blog post that you might want to consider when considering a supervisor/lab.

If available, when picking what schools to apply to, the first thing that you should do is ask your current supervisor(s) what supervisors you should apply to. If you trust your current supervisor(s), then their opinion and depth of knowledge about the field and other supervisors is an invaluable resource. This is all true if your supervisor(s) is in the field you’re interested in. If you’re thinking about pivoting, then reach out to other PIs that are in close proximity to you in the field you’re interested in.

If this resource is unavailable to you, then list out papers that you like in terms of direction and the type of research they’re doing. This should give you a list of supervisors you should consider applying to. Also: don’t worry if some of the papers you like are “outdated” — it’s very likely the supervisor has branched out from that work, but is still interested in that topic in general.

Word of warning here: a lot of the time the websites/publications that PIs have online aren’t really representative of what they’re interested in. This is why other PIs that you’re familiar with are such a valuable resource — they have a much better idea of what the actual interests of most PIs in their field are interested in. It really is true that a huge chunk of graduate school is about networking.

PhD applications: logistics

While many people think this is the hardest part of PhD applications, it’s in fact one of the easier parts (at least in my opinion!). Here are (general) dates to consider when applying:

  • Mid December (normally around December 15th) — PhD applications due. This date can vary depending on the school and location. In the US this generally holds true, in Canada/UK/Europe, this might differ and be a bit later.
  • Mid February to Mid March — PhD application admissions are out. This will vary depending from school to school, year to year and even application to application. This is probably the largest source of variance in this whole process. I’ll talk more about this later on.
  • April 15th (most of the time) — PhD admit responses. This is when you have to reply to schools most of the time.

Some schools will ask for GREs. Do this at your own time/risk. My general recommendation is: unless you have a very compelling reason to apply for the school, if the school requires GREs, then don’t apply. It’s not worth your time and effort and in my opinion — I think it’s a very poor signal in terms of how good you’ll be as a graduate student in CS.

I would try and choose around ~6 schools to apply to: 2 reach schools, 2 schools that are around your level and 2 safeties. I know people that have applied to an absurd amount of schools, taking the “whatever sticks to the wall” approach. Personally I would advise against it. This is because the more schools you apply to, the less time you’ll have to make sure each supervisor/lab/school is a good fit for you.

PhD applications: statement of purpose

One of my supervisors gave some great advice on this: your statement of purpose is an opportunity for you to mention things that aren’t on your resume and application, so make the most of it in terms of this. I think a statement of purpose should really be just that — show intent in terms of what you’re really interested in doing, and convince the admissions committee that you’re a great candidate to do so. As a note, people have wildly different approaches to this — this is just what I did!

It’s hard to give advice concrete advice on this, so I’ll just have a link to my own statement of purpose so you can see the approach I took for this:

https://drive.google.com/file/d/1GZk_SMnXmq8g89inVk5Obm9KxGxIOQsl/view?usp=sharing

I stuck to a statement of purpose that didn’t focus on a particular school — I honestly don’t think it’s that important to do so. This should be a statement about yourself and what you’re interested in, not a circle-jerk about why the school you’re applying to is so great. The only thing I did in this front is add two paragraphs at the end of each statement for each school listing which PIs I’d be interested in working with. I’ve omitted that from the above document for obvious reasons.

All in all, don’t stress out too much about your statement. While it is something admissions committees do take into account, it’s more the “cherry on the cake” than the bulk of the actual application. In some cases, it can really set you apart for particular supervisors where their research direction really matches your statement of purpose (kind of happened in my case), but besides that it’s more just a chance for you to show that you’re competent (to some extent!), motivated and interested in the field that you’re about to do a PhD in.

PhD applications: letters of recommendation

This is probably the aspect of the application that requires the most foresight and planning. Ideally what you would do is have PIs you’ve worked with in the past write letters for you. I was working under great PIs for both my undergraduate and masters degrees, so I had good people who could write good letters for me. The more experience you have with a PI, the better the letter they’ll be able to write you.

If you don’t have much experience with people that could write you letters, then this is where going to office hours and building a good relationship with professors teaching courses is extremely helpful. Besides just being an amazing resource in terms of learning and doing well in your class, these professors can also potentially write you letters of recommendation if you’ve shown that you’re a capable student in their class.

Lastly, sometimes letters of recommendation will be due later than the actual application, but I would recommend giving ample time for the people writing your letter to do so. You can start your application very early on, and send our requests for recommendation letters before submitting everything else. It’s also very helpful to give a draft of your statement of purpose and your resume to the person you’ve asked to write your letter.

The long wait for decisions

In general, for most schools (that aren’t huge), PhD admissions are kind of case-by-case. So expect the unexpected until you get a reply for every single school. Even after that you might still run into a few surprises (especially for schools in the UK from personal experience).

Some general advice: the information on the Grad Cafe is generally reliable, and schools are generally unreliable. Be patient and know that you’ve done all you can after submitting your application. I won’t say too much about this, since this is the one time where overthinking doesn’t help you in the slightest.

The roller coaster that is receiving your decisions

You will probably not receive all the necessary information until a few days before the decision deadline (this is depending on the schools, but in general holds quite well). That’s really the biggest piece of advice I can give you. Throughout the time period that schools hand out decisions, your decision making process will change drastically week-by-week.

Visits and why you should absolutely do them

Do visits if you can. They are by far the best signal you can get for whether or not a supervisor/lab/school/city is a good fit for you. It’s going to be an exhausting few weeks of travelling, but this is a huge decision and getting as much information as possible is a good idea. It’s also an amazing opportunity for you to network with people in your field! I’ve met some amazing people during my visits, and I don’t doubt that these same people will be close collaborators sometime in my future.

Do them early if you can. This will ensure you have ample time after the visits to ask follow-up questions to everyone you met during the visit.

If you do end up doing visits, be proactive and plan meetings with individuals in the lab, or even to meet the lab as a whole.

Some schools will have very organised visit days — in this case I highly recommend trying to see the lab you’re considering joining separately. It’s very likely the PhD admit visit will be catered towards ALL CS PhD admits, and not the lab you’re particularly interested in joining.

You might also have to plan visits with the lab you’re interested in joining directly — DEFINITELY do these!

A word of caution — after visiting a school you’re most likely going to be leaning towards that program more. These advisors, labs, and schools will all be trying their hardest to get you to join their program, since good PhD students are actually quite hard to come by. Be aware of this and temper the excitement you have towards a school by maybe writing down your experience after you’ve visited, and coming back to it after a few days/weeks.

Making a decision

I’ve been told before that a supervisor in a PhD is like a second marriage, and I can’t agree with this more. You’ll be working incredibly closely with this person — so a few things to consider when picking a supervisor:

  • How aligned are your research directions? (This goes for the lab too!)
  • How much do you like the supervisor(s)?
  • How hands-on is the supervisor(s)?
  • Are there other PIs I could work with?

Now a few questions to consider when considering the supervisor’s lab:

  • How much support is there from the lab in your field/particular area?
  • How much project diversity is there in the lab?
  • How capable are the students?
  • How collaborative are the students/lab in general?
  • What are the prospects like for alums?

This is probably one of the toughest decisions you’ll have to make if you’ve done a good job in all of the above. Deciding on a school is a big decision, and if the decision is tough that probably means you have a bunch of great choices that will all be great programs for you. Deciding between them is essentially optimizing for that last little bit of things like location etc.

I didn’t put school prestige above as one of the considerations, but it is something you might want to consider. The only thing that school prestige might bring you is better opportunities for faculty positions after your PhD. This is a serious consideration if you potentially want to be a professor in the future, but I would say what you get out of your PhD in terms of learning and the research you do should still be top priority.

Many people around you will give you different opinions on things — your job is to be aware of their biases and take that into consideration when thinking about what program to pick. Your parents might care more about the school name (as my Chinese mom did). Your current lab might want you to stay. If you’re considering staying at your current lab, then also consider that going to a new lab and learning how to do science in a different way might also be something you want out of your PhD. Other people’s opinions and advice will all still be good, but it’s your job to balance out their biases.

I just want to say one thing about this: there are no wrong decisions here (or in life in general). Trust yourself that you’ll make the best decision with the information and time that’s available to you. Make a decision and move on with your life — the only thing that thinking about counterfactuals in life decisions will bring you is regret. Be happy with the decisions that you’ve made and where it’s brought you!

How to reject PIs and schools

If you have multiple schools you’ve gotten into, then at this point you’re probably in a very special situation where you’re going to have to reject other supervisors and schools.

In general, send emails to all the PIs that you’ve talked to! Tell them how thankful you are with their time, and maybe even tell them the school/PI that you’ve decided to go with. Thank them for their time and tell them you’ll hope to collaborate with them in the future! Leave your doors open — these are potential colleagues you’ll be interacting with for years to come that will shape the field you’ll come to work in.

I’ll pass down some great advice I got from my supervisor in terms of responding to the institutions themselves: don’t give the schools a reason as to why you’ve decided on the other school, unless it’s actionable feedback to the schools w.r.t. logistics and NOT factors such as “strength of the department” etc.

Additional resources

Great website for CS rankings for grad school related things (such as rankings, stipends etc.)

https://jeffhuang.com/computer-science-open-data/

--

--