manoel horta ribeiro

My CS PhD application process

This post is a half-guide half-memoir of my PhD application process (not very timely, as the PhD application round has just ended). I think those who would benefit the most from my ~guide~ are international applicants, yet, I believe it contains generic enough advice so that others may find it helpful. When I was deciding to do a PhD I read Philip J. Guo’s The PhD Grind, and (I think) it helped me immensely to grasp the joys and troubles of what is to come. This post is less well written and (a bit) less personal than Guo’s book, but I still think it may help to read other people’s experiences on though parts of life.

Although I believe in what I am writing here, it must be taken with a grain of salt, as, after all, this is an experiment with sample size n=1. Moreover, regardless of the sample size, it is also hard to give advice when you are unsure how each application process went and the reasons which got you accepted or rejected. Yet, applying many times and talking/interacting with many people who are going through the same process, you end up getting the gist of it.

I try not to mention faculty or institutions so much here, but I would like to thank everyone who had contact with me during this process. My interactions with professors and the administrative staff were great, even with all the challenges involved. I only applied to work with researchers I admired, and after the application process, my admiration for them only grew.

Some (better and more impersonal) guides I suggest are this, this, this & this.

Challenges Specific to International Students

Guo’s book did not prepare me for the challenges of applying to a PhD being an international student. This goes for many reasons, of which I think two are the most noteworthy:

  1. Your uni probably is not as widely acknowledged as some top US schools, like Harvard, MIT or Stanford; From my understanding, if you are a good student with a stellar GPA in one of these institutions, you are most likely to get into good programs. This seems to be less true if you are from a country like Brazil, as foreign universities may have minimal familiarity with how the university system works in your country. While I feel that, for example, US universities understand the academic scenario in India or China, from where they receive a lot of foreign applicants, I doubt that they know how grading works in Brazil or Chile.

  2. You will be moving away from your home country and will be a foreigner in another. This means you will be on a visa. Your visa situation varies widely from the US to Europe. This situation is particularly dire if you have a spouse or significant other who you want to bring with you — in the US a spouse visa won’t allow your s.o. to work by default, where in Europe, this is more likely. Also, there is a good chance you will stay in the same country (or, in the case of Europe, in the same cluster of countries) where you do your PhD. These countries have major lifestyle differences which should be taken into consideration. Although many international grad students return to their home countries, you may be very well choosing a new environment for you to live in (for longer than 5 years).

I feel these should not be underestimated and should guide both the institutions you pick to apply to and the institution you ultimately decide to go to once you have all your offers.

My Situation

Before dwelling into the details of the application process and my takes on them, it is probably worth mentioning my scenario when I applied:

  • I did my bachelor’s at UFMG, short for Universidade Federal de Minas Gerais, and graduated first in class. I’m currently doing my master’s in the same institution. UFMG is quite prestigious inside Brazil, and the CS department is known abroad. However, it is still considered far inferior to top schools in the US and Europe.

  • I have been doing research pretty much since I entered university and have had a fair amount of papers (in different areas). As first author, I had one short paper in a good conference in my area (ICWSM), two workshop papers in good conferences (WSDM and KDD), and a couple of second author papers. In addition, I had one paper in submission that got accepted (a full paper at TheWebConf/WWW), but I could only mention during my interviews.

  • I had quite a bit of international experience: 1-year exchange abroad in a good university in Australia, one software development internship and two research-related internships (in Norway and Switzerland).

  • I had reasonable GRE scores (166 quant /163 verbal) and good TOEFL scores (117/120).

You should not be too hard on yourself here. If you want to think I’m not good enough, there will always be someone on (a website which is both great and terrible) who will boast 7 NIPS papers and a Turing award and who still got rejected. Jokes aside, I think the most important is to have a profile of someone who a professor would like to work with. This can be achieved in many ways, and I feel that your TOEFL or GRE score is only useful to avoid being filtered in early steps. I have heard that this is somewhat special to CS, and that in other areas, TOEFL/GRE are taken more seriously.

UFMG may not be Ivy league, but it is pretty cool

The experiences doing research in Brazil and abroad gave me a couple of options for recommendation letters, which everyone says are very important. They also gave me a couple of papers, which I believe showed my research capacity. I think other paths that would have allowed me to do a PhD abroad are:

  • Having had prestigious internships in the industry (think Google or Facebook).

  • Having participated in competitive programming.

I’m saying that because a colleague of mine, also doing his master’s at UFMG, did that, and he was very successful in his PhD application. It is worth noticing that he also has research papers and is, from my understanding, an out-of-the-curve guy.

Choosing Where to Apply

After realizing that (a) I wanted to do a PhD abroad and that (b) I was probably capable of doing so. I started doing the first thing I think everyone should do: deciding where to apply. It is worth mentioning that this happened while I was in Switzerland doing a research internship, and my lab mates there were very supportive of me.

There are some excellent sources/strategies which may help you with finding nice places:

  • csrankings is one of them (although it has some weird stuff like University of Washington not being represented there at all);

  • Talking with other people. In my case, I was fortunate to have Lucy Li as a labmate at EPFL. She was an encyclopedia for both NLP papers and CS faculty in the U.S.; If you don’t have other people in your school or your work that you can talk to, go online!

  • If you are already more or less familiar with the area you want to work in (or the areas), I think is very important to look for the actual research that the professors you will apply to did/are doing; You can do so looking at who is publishing where, and browsing their websites. However, this may bias your search towards younger professors, as some old professors have a smaller internet presence.

I had a very faculty-oriented PhD application process. I only ended up applying to places where I was sure there was someone I wanted to work with. This may be a bigger problem if you are unsure what you want to do during your PhD. However, it is worth noticing that this has advantages. There are amazing groups outside of the top k most prestigious universities. This may be more feasible given your CV, and you may still get to do world-class research. This is particularly true if you are in a super hyped area like Computer Vision. You have people with multiple papers in top-tier conferences rejected by top universities. These people would be very likely to get into fantastic research groups that are not in the most famous institutions. The advantages of being in these hyped institutions are not so determinant (at least in my opinion).

After countless hours, I decided to apply to 9 programs: 7 in the U.S. and 2 in Europe. Several people told me this 6-8 was a good number. Something to consider here is that U.S. application costs a lot of money, especially considering you will be paying in USD, which may be pretty annoying if you are in Brazil. Your master’s scholarship is something around 300 dollars. European universities usually don’t charge anything for you to apply. In all that madness, something that helped me keep my sanity was to create a sheet with all the places, deadlines, etc.

You won’t regret making sheets to organize yourself.


So in case, you did not know… Surprise! You will have to take these two exams if you plan to apply to the US. It does not hurt if you take them to apply for Europe. Most places there require the TOEFL and many places allow you to submit your GRE score. (Edit 2022: this is less and less true, many universities in the US are dropping these requirements.)

I feel there is way too much material written about these exams online. Maybe the problem is that there is SO MUCH material that: (i) it may feel that they are the most critical part of the application and (ii) you may not know where to start. Moreover, it is expensive to take the exams (and maybe re-taking them) and depending on where you live, you may have to travel to take the tests (for example, if you live in the countryside of Brazil).

I strongly believe that the most important thing is to take mock exams for both exams. I didn’t pay for ~exclusive websites~ because I found the amazing post: “33 Free GRE Practice Tests That You Should Definitely Take!”. This, and a handful of books you can find in your local library 😉 should probably be enough for that.

I have taken the TOEFL once, which was not a big deal due to my reasonable English skills, and I ended up taking the GRE twice. On the first time, I scored 163/170 on the quant part of the test, and I was told that it was too low. Looking back, I kind of regret that I retook it. 163 was good enough and scoring 166 changed nothing in my life (except for making me a hundred dollars poorer). I feel that there is enormous pressure for people to ace the GRE (and I’ve heard that this is particularly strong for international applicants from places like India and China), but that in the end, it is used only as a “sanity check”/filter. Overall, I dislike the fact that I needed to do these exams. An interview would clearly show my English skills, and I’m not sure what capabilities are unmasked by the GRE.

All in all, these exams are necessary, but IMHO you should not waste too much time with them. Also, they last for quite a bit (in the sense that you can use the results for some years), so if you are ahead of time, try get this done!

Personal Statement

You will need a personal statement. It should have around two pages and be very well written. It should include stuff like:

  • What are you interested in?

  • What have you done? Cool projects? Cool research?

  • Why do you want to do a PhD?

  • Who are you interested to work with in the institution you are applying to, and why?

If you google stuff related to this, you will be widely advised not to get too personal. Although it may be cool to say that: At age 3, my father brought home our first computer, and I disassembled it and then put it back together. You probably should not.

Another thing you probably should not do is to try to mention every achievement in your life. I feel that is the case because people have your CV, and that, by doing that, you are wasting maybe the only part of your application where the professors can get to know you a bit more personally.

I spent a tremendous amount of time writing this and had a dozen people read it for me. As I was applying for different places, I made different variations of the statement of purpose. For each institution, I made minor tweaks in the text in general, but I also changed the two latter paragraphs, where I stated my intentions during the PhD, and the faculty I was interested in.

You can read my personal statement to EPFL here. I won’t discuss other documents like CVs, but you can check my application CV here.

Recommendation Letters

You will also need three recommendation letters (apparently, this number may rise if you are applying for a fellowship in the US, but I do not know anything about this).

I was fortunate to have quite a few people to ask for a recommendation letter. I ended up asking for letters from my two advisors in Brazil, Meira and Virgilio, and from Bob, who I was working with at EPFL during a big part of this madness. Valuable advice on this I found/received were:

  • Get letters from people that know you well, and that won’t merely state “he/she/they did good in my class.” You want these letters to come from people you have done a cool project with.

  • It makes a difference if the admissions committee knows the recommender or if the recommender is famous.

  • Give material for people to write the letter for you. Send them at least your statement of purpose and your CV.

This part of the process is very opaque to the student, but I think I felt comfortable because I liked the people I asked for recommendation letters (and I thought they liked me too, hehe).

The Waiting

The waiting months for the PhD present many challenges. I think that the thing that helped me the most with coping with the anxiety was traveling — if you are in the southern hemisphere, January is perfect to go to the beach :)

This is definitely a nice place to be when you are waiting for your PhD application decisions.

Jokes aside, some practical advice from someone who ended up checking the phone way too often:

  • Limit your access to Check it once a day at most.

  • Try to focus on other projects or start some new project.

For me, many things happened to my personal life during these waiting months. The most important is that my fiance (and back then girlfriend) decided that we would remain together during my PhD — which is a drama I feel many people experience. After all, 5 years is a looong time (for most but not all!).

Me and Jessica, also at the beach!

Choosing Where to Go

This is another tough step of the “PhD application journey.” It is also really hard to give advice because it is very personal. In my case, I was accepted at 5 out of the 9 programs I applied to. I was pleased with my results, but still, it sucks to be rejected, and it often ruins your day when you receive that e-mail.

Something that annoyed me a bit is that I received some of the offers very late (2 or 3 weeks before the deadline). This is very hard because often you think: “Ha! I have finally made my decision!” Only to receive an e-mail hours later saying you got accepted to another place.

Boston has a nice river (left), Lausanne has a nice lake (right).

I was fortunate enough to attend two open houses in really nice places (I wish I could have gone to more places, but some of my offers arrived late, and some of the dates clashed):

  • At Northeastern, I was received by the Network Science Program. The people were was amazing and welcoming. I was very impressed for two reasons: (i) it is truly interdisciplinary, and (ii) you can feel they are playing a significant role in “defining” the future of network science.

  • At EPFL, I was received by the EDIC program. They had very cool events to get to know Lausanne (which I already did because I spent a summer there) and get to know the professors. EDIC feels bustling, and everyone seems to be doing excellent research — from privacy to machine learning.

In the end, I spent quite a bit of time deciding where to go. Somethings I considered included:

  • Whether I visited the city and met my prospective advisor(s) in person.

  • My interest in the research the prospective advisor(s) had been doing.

  • Funding, cost of living in the city.

  • The city itself.

  • Whether I could bring my S.O. in a good visa condition.

Ultimately, I realized that I would be fine in all the places I was approved. I think I did a good job tracking down cool professors to work with. Unfortunately, this only made the decision harder. I ended up choosing to go to EPFL, where I did an internship last summer. I liked everything about it there: the city, my perspective advisor, my colleagues (which I knew from the summer), etc.

Last summer was pretty cool.

At the end of this whole process, I had this eerie feeling in my tummy: I was happy I had made a decision, and I was glad I succeeded in my PhD application season; Yet, at the same time, I felt sad that I would never get to know what would have happened if I had taken a different decision. Jorge Luis Borges has this short story called “The Garden of Forking Paths.” It revolves around a fantastic novel where decisions taken by the characters would create multiple (possible) plots. Taking this decision felt like choosing one path among many in this “Garden of Forking Paths.”

Written on April 16, 2019