My Grad School Application Odyssey: What I Learned
Created:
I’ve gotten a lot of questions about my grad school application experience. This is my attempt to pay forward the advice and kindness I received along the way.
Prelude
Around this time two years ago, I was working on a take-home task for a Harvard PhD interview and compulsively refreshing my inbox, spam folder included.
Growing up, I thought China’s National College Entrance Examination (NCEE), or Gaokao, was the most stressful exam a student could face.[gaokao] It is a high-stakes, years-long filter that shapes college options for millions of students. When I later decided to leave law school, my mom took it hard. That whole period was also rough for me because of a long-running, painful family situation.
Applying to grad school later taught me that stress can look very different. Instead of one clearly defined test, you get uncertainty: it wears you down slowly, with no obvious endpoint. You can do a lot of things “right” and still feel like you are guessing what actually matters.
That is not to downplay the NCEE. It is brutally hard because millions of students compete for a limited number of seats. But it is also transparent: you know what subjects you will be tested on, and once you clear the cutoff, the next step is usually straightforward.
Grad admissions, at least in my experience, can feel like the opposite. It is not always clear what matters most, what only matters sometimes, or what you are over-optimizing without realizing it. If you are applying from outside North America, that information gap can feel even wider.
❗Quick disclaimer: this is just my experience applying to EE/CS PhD programs in engineering-oriented areas such as systems and networking. Things can look very different across fields, departments, labs, and advisors.
What happened
Here is the full list of programs I applied to in the 2023–2024 cycle and how things turned out. The order is arbitrary.
Two quick notes:
- Some schools, including Stanford and Princeton, let you apply to only one program per cycle. Others, including MIT and CMU, allow multiple applications in the same cycle.
- Advising can be flexible across departments, but the admissions rules can differ a lot. At Princeton, ECE students are admitted by the department, rotate during their first year, and are matched with advisors afterward. COS students are admitted straight into advisors’ labs. Rotations are a great way to explore fit, but they can also be stressful.
| Program | Application Deadline | First Interview Date | Notification Date | Result |
|---|---|---|---|---|
| U Cambridge, CST | Dec 4 | Oct 27, 2023 | Feb 7, 2024 | Accepted |
| Cornell, ECE | Dec 15 | May 18, 2023 | Feb 16, 2024 | Accepted |
| MIT, EECS | Dec 15 | Feb 16, 2024 | Jan 28, 2024 (waitlist); Mar 16, 2024 (admit) | Waitlisted → Accepted |
| Stanford, CS | Dec 5 | No interview | Feb 9, 2024 | Rejected |
| U Toronto, CS | Dec 1 | Jan 18, 2024 | Jan 31, 2024 | Accepted |
| U Toronto, ECE | Dec 15 | Aug 2, 2023 | Feb 9, 2024 | Accepted |
| Princeton, ECE | Dec 15 | Jan 25, 2023 | Feb 16, 2024 | Accepted |
| Columbia, CS | Dec 15 | — | — | Withdrawn |
| Yale, CS | Dec 15 | Aug 31, 2023 | Feb 12, 2024 | Rejected |
| Penn, CIS | Dec 1 | Jan 18, 2024 | Jan 26, 2024 | Accepted |
| CMU, ECE | Dec 1 | No interview | Mar 7, 2024 | Rejected |
| CMU, CS | Dec 1 | — | — | Withdrawn |
| UC Berkeley, EECS | Dec 11 | — | — | Withdrawn |
| UIUC, CS | Dec 15 | Jan 13, 2024 | Feb 2, 2024 | Accepted |
| Harvard, CS | Dec 1 | Jan 17, 2024 | Jan 31, 2024 | Accepted |
| U Washington, CSE | Dec 15 | — | — | Withdrawn |
What actually mattered
I applied from Europe, and the information gap was one of the hardest parts. I did not always know what to prioritize, what was merely nice to have, and what was mostly noise. Most questions I get are about this, so I will start here.
Detailed recommendation letters
In my view, rec letters are the most important part of the application.
Most North American programs ask for 3–5 letters, and the portal will ask whether you want to waive your right to read them. My strong recommendation is to waive access (select “Yes”). Committees often treat waived letters as more candid, and therefore more credible.
What matters even more than “prestige” is specificity. A detailed, sincere letter from a professor who knows your work well can carry more weight than a vague letter from a famous name. Strong letters do more than list achievements. They explain what you contributed, how you think, how you collaborate, and what you are like as a teammate and researcher.
At some schools, including UofT and MIT, an internal committee may screen applications before they reach individual faculty. In those settings, detailed letters can make a real difference because they offer concrete evidence of research readiness, independence, and reliability.
Do grades really matter?
Grades matter, but they are usually not the main signal in PhD admissions.
If you are early in undergrad and considering a PhD, take coursework seriously because it builds your foundations. Just recognize that research experience usually carries the most weight. Many faculty treat grades as supporting evidence and lean on them mostly when they do not have other ways to judge your readiness.
International applicants also run into a practical problem: grading systems are hard to compare. During one University of Toronto interview, a professor told me outright that he was not sure how to evaluate my grades on the Swiss 1–6 scale.
Coursework and research are also just different beasts. Even demanding classes do not automatically build the skills you need for open-ended research. For more on how I think about this, see my mentorship statement.[mentorship]
Publications and research experience
The point of joining a lab before you apply is to get real research experience, and publications are one of the clearest ways to show it. A top-tier paper can completely change how people read your application.
That said, paper count is not a clean measure of talent. Timing, mentorship, project choice, and luck all matter. Some students get early access to well-scoped problems and strong research pipelines; others do equally good work with fewer structural advantages. Admissions often uses first-author papers as a proxy for research training, so they matter a lot in practice anyway.
This is where I have mixed feelings. I think a PhD should work more like an apprenticeship, and I will come back to that when I explain how I made my final decision.
ℹ️ As Prof. Peter Henderson has argued, the bar for incoming graduate students has climbed too high, and the diversity of students who can clear it has started to collapse …
Faculty often look for similar traits
At admitted-student visits, I kept running into the same people at different schools. It felt like we were all following each other around the country. Over time, it became clear that programs often select for very similar profiles and signals.
That makes patterns worth studying. Read a range of statements of purpose and application materials.[sop-collection] [sop-mit] Look for:
- what kinds of research experiences they had
- what kinds of projects they worked on (and with whom)
- whether they had publications (and at what venues)
- what skills and framing show up repeatedly
For a structured discussion of how PIs and committees evaluate candidates, Chapter 2 of The CS Assistant Professor Handbook[asstprofbook] is great. MIT also has a useful page on what faculty look for in application essays.[faculty-hints]
Before you apply
Beyond the information gap, international applicants may have fewer informal channels for advice, mentorship, and introductions. That makes your timeline and outreach strategy even more important.
Who makes the admissions decision?
You will often hear about two admissions models: “professor-centered” and “committee-based.” In the first, individual professors or principal investigators (PIs) have a lot of influence. In the second, a committee of faculty, and sometimes students, plays a bigger role.
In practice, faculty preferences almost always matter a lot, whatever the formal structure. The main reason is funding: unless a student brings outside funding that covers their PhD (often called a “free student”), their support usually comes from a faculty member’s grants.
To avoid hiring too many or too few students, departments usually ask faculty how many students they expect to fund in the coming cycle. If one or more faculty members genuinely want to work with you and have the money to support you, your odds are very good.
Start early and reach out
I started emailing professors and interviewing in May 2023, roughly seven months before most deadlines. My first interview was with Cornell on May 18, and it turned into one of four conversations I had with Cornell faculty.
Here are three reasons to start early:
-
You learn about programs faster and assess fit sooner.
To find a good match, you need to understand both the department and the people in it. This mattered especially for me because I was applying from Europe. Some schools combine departments, such as EECS, while others split them into CS/CIS and EE/ECE. If your background sits between hardware and software systems, several program labels may fit, but the culture and research focus can vary wildly.Even within “ECE,” departments can look very different. UIUC and Cornell ECE have a strong computing focus, while Princeton ECE spans VLSI, networking, AI, materials, bio, photonics, quantum, and more. If you are interested in optical computing, Princeton ECE might be a good fit; at another school, materials or applied physics may make more sense.
-
You learn who is realistically hiring.
Often, only a handful of faculty are both a strong fit and actually hiring in a given cycle. I withdrew several applications after learning that relevant faculty were not taking new students. Professors at UW and Columbia told me they had recently over-hired and needed to convert existing thesis students. You will not always learn that from a website, and it matters even more when funding is uncertain. -
You build interview skills through repetition.
Many faculty interviews include a short research talk and deep technical questions. Starting early gave me time to improve my slides and, more importantly, get better at explaining my work under pressure.I learned some lessons the hard way. My Yale interview was a joint meeting with multiple professors, and I struggled to answer rapid-fire questions before the conversation moved on. My slides also had flaws that experienced people spotted immediately. It did not go great, but it taught me a lot. Afterward, I scheduled one-on-one interviews when I could and improved quickly. I later got offers from every program that interviewed me except Yale, which is fine :P. If you can, use a few early interviews to get reps before the harder ones.
There is a hidden cost to reaching out early. Those interviews can feel more like “prove it now” than “let’s explore fit.” As Prof. Mae Milano noted, cold outreach may land with faculty who are naturally skeptical and quickly test whether there is a real research match and clear readiness for the work. The questions can be sharper and the conversation less forgiving than a typical in-cycle interview.
The Interviews
Here is how many interviews I had and the kinds of tasks I saw. I ranked programs by how hard the overall process felt to me, but this is one person’s experience, not a universal ranking.
| Ranking of Overall Interview Difficulty |
University | Number of Interviews | Interview Tasks |
|---|---|---|---|
| 1 | U Toronto | 5 (with 3 PIs) | • Research presentation • Coding question • Take-home project • Paper reviews (3 total) |
| 2 | U Cambridge | 2 (with 2 PIs) | • Research presentation • Research proposal (1,000 words) • Proposal Q&A |
| 3 | UIUC | 5 (2 with PIs; 3 with students) | • Research presentation • Paper discussions |
| 4 | Penn | 4 (with 3 PIs and 1 postdoc) | Research presentation |
| 5 | Harvard | 1 | • Paper reviews (2 total) • Research presentation |
| 6 | Cornell | 4 (with 3 PIs) | Research presentation |
| 7 | Yale | 1 (joint with 2 PIs) | Research presentation |
| 8 | Princeton | 1 | Conversation with PI |
| 9 | MIT | 1 | Research presentation |
People often ask why I had as many as five interviews at one university. Multiple professors can be interested in the same candidate, and they do not always coordinate closely, so you may end up talking to several of them separately.
The most common tasks I saw were:
- a short research presentation (often with slides)
- technical discussion
- and sometimes reading and reviewing papers
So practice explaining your work clearly, and get comfortable discussing papers with both praise and criticism.
Research presentation and technical discussion
Many interviews start with a short research talk. Fifteen minutes is a common target for a clear overview of your work.
If you have papers, use a few key figures and focus on the core idea, design choices, and evaluation logic. Expect interruptions and questions, especially about trade-offs, alternatives, and “why did you do it this way?”
The best advice I can give is to anticipate questions and practice your answers out loud. Once you learn what faculty tend to probe, many questions repeat across interviews.
You may also talk with senior PhD students or postdocs. I often found those conversations especially fun, and sometimes more technical than the faculty ones. They may also be thinking about day-to-day collaboration, so they are asking whether you would be a good teammate over the long run. If you know who you will meet, read the group’s recent papers and skim relevant code repos beforehand.
Paper review
Here are a few sample reviews I wrote for University of Toronto [reviews-uoft] and Harvard interviews.[reviews-harvard]
These tasks usually test whether you can:
- accurately identify the paper’s core contributions and assumptions
- offer a thoughtful critique (strengths and limitations)
- propose concrete extensions or alternative approaches
Because the papers often come from the interviewing group, PIs may be looking for a coherent “next step” that builds on their work.
A good place to start is Prof. Onur Mutlu’s paper review guide: mutlu-guide
Coding and other tasks
Some programs throw in other tasks. Several systems faculty at the University of Toronto gave me coding tasks and take-home projects, while the University of Cambridge asked for a 1K-word research proposal.
If you are curious, here is my codebase for a UofT coding interview task on implementing an SCMP ring buffer.[ringbuffer] It includes both my implementation and experiment results.
Visiting schools
At the time, I lived in Zurich, Switzerland, so flights to the US were long and expensive. Thankfully, every US program on my list except UIUC reimbursed travel and arranged a hotel.
Visits are usually 2–3 days, and scheduling conflicts are common. Cornell’s visit overlapped with Princeton and Penn, so I worked with Cornell to arrange an individual visit.
Caveat: weather can influence your experience
This is not a scientific point, but it is real: weather affects the visit. Boston was cold and rainy when I went, and even though the city is wonderful, it made exploring less fun. Ithaca in late March was snowing like no tomorrow …
Princeton, by contrast, had beautiful weather during my visit, and that plus the campus made a strong impression:

How I chose
People still ask why I chose Princeton, especially after I spent so much time interviewing with other programs and faculty.
It was not an easy decision. I got deep enough into the science of making hard decisions that I made a video[decision-talk] about it. A few friends found it helpful:
Looking back, three things mattered most.
-
I did not love how “job-like” many interviews felt. I understand why selection is necessary when competition is fierce, but parts of the process rubbed against a core belief of mine: a PhD should be an apprenticeship. If applicants are expected to arrive with every skill they need for the PhD, what exactly is the program meant to teach them?
This stood out because I also had a big-tech job offer at the time. I wanted a PhD precisely because I was looking for a different kind of learning and growth.
Funny enough, I initially thought my Princeton interview went badly. It turned into an intense research discussion: I never got to present the slides I had prepared and practiced a million times. Instead, I got a stream of probing questions that required real-time reasoning. When it ended, I could not tell how I had done because the PI, now my advisor, kept a neutral expression throughout. Later, I learned that this is just how she looks when she is thinking deeply.
I think she saw potential in me without putting me through a long list of tests and checks. I am deeply grateful for that trust.
-
The people and the environment mattered a lot.
During visits, I especially enjoyed meeting my current group members. They were consistently kind, supportive, and thoughtful, and I could picture building a good working life with them. Culture is hard to measure from the outside, but it matters enormously once you are actually doing the PhD.After visiting many schools, I also came to feel that Princeton was closest to my mental picture of a classic American campus. After all, the word “campus” originated at Princeton.[campus-word]
-
I wanted to lean into a new research direction.
Most of my offers were in software or hardware systems, unlike my advisor’s area. I appreciated that she welcomed me even though I did not have a deep background in the particular subfield I would work on during my PhD.I have always believed that early in your career, it is worth trying something different before settling into a field. This TED talk makes a similar point: david-talk
ℹ️ Money should not be the only thing you consider, but it matters a lot in practice. If you are constantly worried about making ends meet, it is hard to focus on research. Check stipend levels alongside local cost of living before you decide. Here is a ranking of CS/EE PhD stipends in the US.[phd-stipends]
Looking back
Somehow, it has already been over a year since I started my PhD at Princeton.
Did I make the right choice? I do not think there is one “right” choice in the abstract. You make it right through what you build from it. All I can say is that I have enjoyed every day of my PhD so far. I am grateful for my advisor, the research, and the people around me.
Is it still worth pursuing a CS/EE PhD in the age of AI? That deserves its own post. But if you want a PhD for money or status, do not do it. The PhD has to be for you. And if you do choose it, doing one somewhere like Princeton is an absolute privilege and, in my experience, a real joy ~
Acknowledgments
Thanks to Prof. Mae Milano, Seungju Lee, Constantine Doumanidis, Mathew Madain, Peilin Xin (CMU), Khánh Vũ, and Fengshi Zheng for their helpful comments on an earlier draft. I am also grateful to Prof. Keith Winstein for sharing his advice as a reference.[winstein-advice]
Resources
- Advice posted by Prof. Keith Winstein under the “Writing” section.[winstein-advice]
- The CS Assistant Professor Handbook.[asstprofbook]
- A collection of CS PhD statements of purpose.[sop-collection]
- MIT CommLab guide on writing statements of purpose.[sop-mit]
- Paper review guide by Prof. Onur Mutlu.[mutlu-guide]
- CS/EE PhD stipend rankings (US).[phd-stipends]
- MIT EECS page on what faculty look for in application essays.[faculty-hints]
- My talk on making hard decisions.[decision-talk]
- My UofT interview paper review examples.[reviews-uoft]
- My UofT take-home coding project.[ringbuffer]
- My Harvard interview paper review examples.[reviews-harvard]
Leave a comment