Applying to CS PhD Programs

July 2024

I applied to PhD programs in fall 2023. My intended research direction was distributed systems with emphasis on resource efficiency, sustainability, and a side of security. This page walks through my process and some of the advice I received from PhD students and professors at UW.

Timeline

My applications were due around December 15. This timeline is probably on the tighter side. I didn’t take the GRE; for all of the programs I considered it was either optional or not accepted (this might have been a pandemic remnant).

3 months before:

  • Made a list of potential universities and potential advisors at each program.
  • Asked three professors for recommendation letters.
  • Met with some PhD students and professors for advice on the process.

2 months before:

  • Had meetings with my letter writers to discuss my program list and get advice on statements.
  • Started writing a general statement of purpose and a personal statement (similar to NSF GRFP if you want to get two birds).
  • Checked specific statement requirements for each program.

1 month before:

  • Made a tailored version of the statement(s) for each school.
  • Had my statements reviewed by letter writers, some current PhD students, and a couple of peers.
  • Made accounts for each of the applications and ordered official transcripts.

After submitting:

  • My first interview was about two weeks after applying. Most of my interviews took place late January and early February.
  • My first acceptance was about a month after applying. I heard all my acceptences by mid February, and waitlists or rejections later.
  • Visit days were almost all mid March, with one early March.

Finding programs

I started with the top 20 or so schools on csrankings (suggested by a couple of PhD students and professors). For each program of interest, I looked at faculty websites, faculty google scholars, and lab pages. I also checked out the websites of some students of faculty I was interested in.

Based on this search, I made an initial list of schools and faculty that had interesting research. I supplemented the list with programs and people that I knew about from my prior research.

I discussed the list with my letter writers and added programs and faculty that they said I should also look into. It took several detailed passes over the list to narrow it down. Taking breaks in between passes helped clarify my thoughts.

It was important to check google scholar, personal websites, and lab/university websites to see how active professors were. For instance, some sites explicitly stated that the professor was on leave, or seeking new students. Looking at publication history also indicated if a group or person was active. My final list had 11 universities, but I knew people with as few as 3 and as many as 15.

Will I get in?

Some paraphrased advice I received about admission odds:

  • Ask your professors about application strength.
  • In most cases, it’s not worth going to a program you aren’t excited about. So, applying to a safety school (very high chance of admission) just to get into a PhD won’t be worth it either.
  • Much moreso than undergrad, many admission factors are out of your control. E.g., you’re a perfect fit but the professor isn’t taking new students that year.
  • You can roughly consider international rankings as an indication of odds for getting in.

Misc advice received

  • Other ways to find programs are a topic-based search, optimizing for groups with flexibility, or following people.
  • Consider the program’s culture range: academic and research-oriented –> industry and practical project-oriented.
  • Newer groups and professors will likely invest more in you; more established groups will help with connections and exploration.

Recommendations

Most programs require two or three letter writers. I heard from several sources that good recommendations are the most important part of the application, and that often the one strongest letter matters most. Section 3.5.1 of this writeup has a helpful example for thinking about who to ask.

I asked three of my professors for recommendations. I had been a teaching assistant for each of them and published papers with each as well. To smooth the process, I gave each of them a checklist of the applications, my most recent resume, statement drafts, and transcript.

Misc advice received

  • You should aim for an optimal coverage of what writers can say about you.
  • You can optimize a bit for things like alma matta and connections.

Statements

All of the schools I applied to required a statement of purpose, and some had an additional personal statement. The statement of purpose was typically 1k words or 2 pages, and the personal statement was typically 500 words.

I wrote a general statement of purpose (2 pages) and a shorter version (1k words). The first paragraph briefly introduces my research interests, and what I broadly aim to study in a PhD. The subsequent paragraphs discuss my research experiences and projects that I worked on. The 2 page version included a paragraph on my relevant work experience (e.g., teaching assistant). I significantly cut from this paragraph for the shorter version. The last paragraph detailed which labs and faculty at the university I was interested in working with (I typically specified three professors). It also briefly mentioned my intended future direction (e.g., research, faculty, industry). For submitting to different places, my changes to the statement of purpose were largely regarding this paragraph.

I also made a general personal statement. It was a lot shorter than the statement of purpose, and mainly served as supplement. I discussed more of the why: why research, why these interests, personal motivation, etc. However, the prompts for personal statements were more specific to the programs, so I ended up more or less writing a new one for each that required it.

Getting writing feedback from professors and current PhD students was invaluable. Some other resources I liked are these perspectives from MIT and this blog post.

The hook

Effectively starting an essay is difficult. I was highly influenced by this blog post. My first two sentences were essentially “x interests me” and “I am fascinated by y”.

Misc advice received

  • A good essay is a good story on particular problems and why they matter.
  • The first paragraph should give a synopsis of your research areas of interest - this helps it get routed to the right faculty.
  • Having a concrete, specific agenda might not be helpful when applying broadly; it might be better to be spartan.
  • Let the advisor imagine you as their student. Potential advisors want to know that you can articulate an orientation of interest, but if you’re specific about how it is different from theirs, they might find it harder to see you as their student.
  • Focus on your personal impact and role when talking about projects.
  • View the application as the start of a conversation to see where interests overlap.

Interviews

My interview requests were relatively spread out. I heard the first about two weeks after applying, and then at scattered intervals after. A vast majority of the interviews were with professors that I had explicitly mentioned in my statement of purpose or elsewhere in the application. They were typically 30 minutes to an hour. All of my interviews were remote video calls.

To prepare for interviews, I reviewed my previous research projects and papers, my ongoing work, and occasionally technical concepts. I had several prepped answers for questions like “what was the largest challenge in project x?” or “why do you want to do a PhD?” I also reviewed the program’s information as well as the interviewer’s background and some of their recent papers. I prepped questions about the school and interviewer’s research as well.

I was never asked arbitrary technical questions (e.g., industry-style coding problems or “explain how Paxos works”). All technical questions were directly about my research experience and projects. I’ve heard different stories for other fields, so this is probably not representative.

All of the interviews started with brief introductions, and in most cases I was asked to summarize my background and research projects. The bulk of the interview typically involved follow-up questions about my research experiences. Different professors were interested in different projects, so it was good to be ready for each one. My experience with industry internship behavioral interviews applied well here - the star method is one common approach.

After discussing my experience, the last part of the interview often involved asking the interviewer questions. Although this may seem like a formality, I think it is very important to be highly engaged here. I liked to bring up aspects of their research that I was also interested in, or specific papers of theirs that were meaningful to me. Sometimes the interviewer would “pitch” their current research; when this didn’t happen, I made sure to ask what they were currently interested in. I tried to ask follow-up questions on specific technical details, and propose some broader future implications or questions. It was also nice to connect their research to my background experience when I could.

In general, I tried to turn the last part of the interview into a balanced discussion on open questions rather than a one-sided Q&A. I think this is a helpful way to show the professor that you are motivated and that you would work well together.

Misc advice received

  • Interviews are like job interviews.
  • Professors will mostly ask about your work (and maybe theirs) and your interests.

Visit days

Most schools had visit days in March. Certain sets of schools will coordinate visit day dates to avoid overlap, but I still had to prioritize.

A typical visit involved some social events with other prospective students, one-on-ones with professors and PhD students, research talks, and lab visits. Since you’re already admitted at this point, visits are primarily for you to get a better sense of the program and people. Even so, I did some brief preparation for one-on-ones so that I could get the most out of them.

The questions I asked potential advisors mainly focused on future research, expectations, and advising style. I asked PhD students about lab culture, life outside of school, and academic pressure. The students were typically very open and comfortable talking about downsides.

Some of the broader questions I asked professors were:

  • Going forward, what research are you most interested or excited about?
  • Do you have longer term research projects or directions planned?
  • What research would I do if I worked with you?
  • Do you collaborate often witih industry or other programs?
  • How do you find new problems to research?
  • What type of guidance do you give students? Are you more hands-on or hands-off?
  • Why drew you to this school? Is there anything particularly unique about it?
  • How often do you meet with your students?
  • What are your expectations for progress?
  • When do you consider a PhD student ready to graduate?
  • Are you supportive of internships?

Some of the questions I asked PhD students were:

  • How do you like working with your advisor?
  • Did you get to decide your research projects, or were those assigned?
  • How do you like living in this city?
  • What is the lab culture like?
  • Do you feel a lot of pressure? What are your advisor’s expectations for progress?
  • Are there any negatives about your advisor or this program?
  • Are PhD students happy here?

I found that this blog post had some helpful questions too.

It was very useful to carry a notebook during visit days. I took notes in all of my meetings and made bullet lists of impressions after each visit. I referenced these notes extensively when making my final decision later. Visit days were helpful for getting a sense of school “vibe” and judging if I felt comfortable there.

Misc advice received

  • Make sure to talk to the students of your potential advisor(s). They have the best perspective on what working with the advisor(s) would be like.
  • Visit days can be very tiring. Be careful about over-scheduling.