One inside perspective on the graduate student application process

:: academia

Around this time of year (graduate student recruiting season), I see lots of:

  1. Stress from students who are unsure about the graduate recruiting process and how their application is viewed.
  2. Reassurance from people who have been through the process, e.g.,:

What I don’t see much from professors explaining WTF.

I’ve now been on both sides of this process and wants to give a peak behind the mysterious curtain in an attempt to reduce stress from students currently going through this process, and hopefully help future students with their applications.

This started as a tweet thread; you can view the original here:

In this post, I maintain that thread and elaborate on it.


These are only my views and observations on the process at one university. I can’t speak for all, nor for all universities.

Original Thread

I’ve been on the grad admissions committee two years now. So far, almost all applications I’ve reviewed fall into one of two piles:

  1. People who probably want to do a course masters and don’t seem to realize this is a research masters program.
  2. Really good applications.

Of the people in pile 2, most “get rejected” because the professor they want to work with, or who has the best research fit with the interests expressed in the SOI, isn’t recruiting.

The rest “get rejected” because there are n slots and m > n candidates. IMHO, there’s very little rhyme or reason at this stage.

Sometimes there’s a “clear” choice: “this student has 5 POPL papers and that one only has straight As”, but not usually, and even that isn’t “clear”. I’ve seen undergrads with multiple publications “get rejected” over students with none.

The problem is there are an absolute ton of variables for what goes into a good grad student, and the application tells us next to nothing about any of them, and many professors appear to be risk averse.

So I put “get rejected” in scare quotes this whole time because I don’t feel like I’ve rejected almost any applications. I’ve merely been unable to accept many. Unfortunately, these are observationally equivalent to the students.

To all the students I’m about to “reject”, just know: I don’t reject you. It’s just that all my pigeon holes are currently full of students.

And I say all this remembering how I felt like it was somehow my fault for the MANY schools I got rejected from. Now, on the other side, I wish I could go back in time and tell myself “There was no reason. It’s no one’s fault.”.

My Process and Advice

Below, I describe my filtering process, and what I’ve observed of others. I sprinkle it with some concrete advice about how an application can best communicate to me the information I need to make a good decision accurately, and changes that we could make to our application process to make it kinder and more efficient.

Filter 0

Surely, Prof. Bowman, you’re just being overly positive here. There must exist terrible students. What about those who failed all their classes, don’t know anything about research, and don’t pass the GRE? Surely they exist!

I guess in principle such an applicant could exist, and I would reject them. But so far, I’ve not seen any application like that.

My guess would be that the barrier to applying is so high—between gathering the required documents, getting reference letters, taking tests, paying application fees—that such students self-select out.

In fact, the complete lack of applications that I might reject on merit suggests the barrier is much too high. I would guess that many great students, who think they might not be good enough, filter themselves out.

This worries me. Students, particularly from underrepresented backgrounds, maybe be more likely to underestimate themselves and never apply.

If you think you’re interested in research, you should talk to faculty members you know about research. If they encourage you to apply, listen to them. This doesn’t mean you’ll get accepted, but it does mean you are good enough.

Based on my samples, if you’ve applied, then you are good enough to get accepted.

Filter 1

In my initial tweet, I divided the most applications into two piles: “course masters” applications, and “really good” applications. This is a subjective call, made hastily while trying to make a first pass through the ~300 applications for the software practices lab (SPL) at UBC. It could be that really good students end up in the first pile.

I make this call by looking first at the statement of purpose. I don’t read it closely; I look for 2 things:

  1. Do you clearly and concisely express interest in some research area?
  2. Do you seem to have any clue what that research area involves?

Honestly, I’m looking for two sentence here. If I find them, then I look at the application more closely.

For many applications, the answer is “no”. These statements almost all says something to the effect of “I want a masters so I can get a good job in the tech industry”. I take that to mean “you want a course masters”.

If you’re a student applying to a research graduate program, put your research interests front and center. I don’t care about when you were 8 and you discovered computers, I don’t care about the classes you’ve taken (yet), I don’t want any flowery language about how beautiful you find your research area. I want to see what research area, something specific about that research area.

It’s very easy to be wrong when making this call. I’m basing this entirely on a statement of purpose, which is sometimes called statement of intent, or “personal statement”. I wager that I’m wrong some of the time because students are unsure about what we’re looking for in the statement of purpose, and we could do a better job instructing students on what we’re looking for in the application process.

For the student applying for a course masters, I really wish the application system had some way of telling them “you really need to have a real research interest for this program or you’re wasting your time and money”.

If an application is not accepted at this stage, it’s not because “you’re not good enough”. It was due some massive failure of communicate about what the applicant and the school are looking for.

Filter 2

For the rest of the applications for which the answer is “yes”, they passed the single biggest filter. Pile 1 is in the hundreds, while pile 2 is in the tens.

Unfortunately, “tens” is still greater than the number of positions available. This year, for example, we’re admitting about 10 for all of the SPL—software engineering and programming languages, combined. 10 out of 300.

The next major filter is: does this application fit with any of the research projects of any professor currently recruiting. A lot don’t. I not-accepted at least 10 great applications this year because their expressed research interest matched one of faculty who has no more slots. Some applied expressing interest with something no faculty is currently working on.

This filter is especially disappointing because it seems so solvable. If we could somehow collect this information from faculty and give it to students before they hit submit on that application, we ought to be able to cut this number down to 0.

If you’re a student and you really want to work with a particular faculty, or on a particular project, you might just send them an email. Make it short. Something like “Are you recruiting graduate students this year for this project; would it be a waste of time applying at all?”. Some faculty might be interested in hearing more, but some will just want to see your application materials in the system. Some faculty might want an email explaining why you’re a good fit. Personally, I get so many of those that are clearly spam that don’t know my research area that I delete almost all of them unread. Keeping it short enough to fit in the subject and/or message preview gives you a good chance of getting read.

If an application is not accepted at this stage, it’s not because “you’re not good enough” It’s because (we think that) there is no research fit. There is no one to advise you to do what (we think based on application materials) you want to do.

Filter 3

Now we’re at a relatively small pile indeed, but still more applicants than there are slots. At this stage, judging applications gets pretty random.

I start looking at the following:

  1. I want to know what have you done related to the research area you’re interested in, and what do you see yourself doing in the future. I don’t expect you to have done a lot, and I don’t expect your predictions about the future to be completely precise or accurate. But I do want to know what your thoughts are, so I can better judge whether you’re a good fit with some faculty member.
  2. Do you have good grades? I don’t put too much stock in this, because it’s so hard to compare grades across schools (and countries). I mostly look for outliers. Did you get a low grade in a math or CS course? That’s not a deal breaker if you can explain why, what you found challenging about that in particular, or what you learned from the experience—preferably in your statement, but I might call you and ask if the application is otherwise promising.
  3. What do the letters say? Many letters are pretty useless and say “they did well in my class”, or “they were a good team player at their internship”, so I skim these, looking for employers who give concrete examples, or faculty with whom the applicant worked closely as an RA or TA.
  4. Do you have software engineering experience? This is pretty valuable for some research areas, so I like to see date ranges for all industry work in your resume.
  5. Do you have research experience? This is kind of rare for undergrads, although it seems to be less and less rare. If you do have it, I want see in the statement a brief explanation of the project, what you contributed, and a little about the bigger picture of the research.

It’s a pretty subjective and random process at this point. I don’t put more or less weight on any of these things. Personally, I’m trying to figure if this is a person I can work with and train on problems that I care about.

The answer to that question isn’t about you, but about us. You might be a great applicant for someone else, but not for me. And I might be completely wrong about my assessment.

It’s hard to give concrete advice at this stage, because it seems that faculty (at least at UBC, and myself included) are now optimizing for things outside of “merit”. All things being equal, they seem to choose applicants that they think are more sure of having a good research fit, more likely will stick around, and more likely to work well with their advising style.

This is pretty reasonable, I think. I don’t want to work with someone for the next 6 years who isn’t actually interested in what I’m (and therefore, they) are working on; they’re likely to switch advisors, or switch programs. At the very least, they’ll be less than happy with the work. That would be a waste of everyone’s time and money and happiness. I don’t want to work with someone I feel ill-equipped to advise; that wouldn’t be good for either of us.

The only thing I can recommend here is try to communicate your interests and needs clearly.

If an application is not accepted at this stage, it’s not because “you’re not good enough”. It’s because (we think, based on the application materials, that) we’re not a good fit for what is a serious commitment.

Filter 4

After that, there remains a final filter: there are still only so many spots. We only have a limited amount of funding, and a limited amount of time. We literally cannot accept everyone.

At least 5 great applicants expressed interest in a faculty member who had 1 slot. That faculty member turned down multiple applications with top-tier conference publications as undergraduate students, straight As, great references, and great research fit, who (based on the application materials, believed) they were willing and able to advise. Not because they weren’t good, but because 4 of 5 people literally could not be accepted.

If an application is not accepted at this stage, it’s not because “you’re not good enough”. There’s just a limited numbers of spots.


Throughout this process, I haven’t rejected anyone. But after this stage, all applications not accepted get exactly the same “rejection” letter. Some admin staff and crappy IT systems are responsible for this.

There’s no way for me to tell you which stage you made it to, to provide some transparency on the process. Given the number of applications I have to look at it, I’m not sure I would or could anyway. That would require a lot of emotional drain and time. I’m also not sure how many students would want that kind of feedback.

So let me just reiterate: If an application is not accepted at any stage, it’s not because “you’re not good enough”