This page collects advice for people preparing to apply to PhD programs, especially in psychology and cognitive science. Some of it is specific to my lab, but most of it should be useful wherever you apply. For questions about applying to my lab in particular, see the PhD FAQ.
The best ways to prepare depend on how much time you have and which areas you feel are weakest so the page is organized around those two questions.
If you have about a month
If you are applying in the upcoming cycle and have around a month to prepare, I would:
- Read papers that have been produced by the lab you’re applying for. Think about whether they are addressing questions similar to the ones you would like to address in your own research. Think about any gaps in the research and questions they leave open. Are there ways you would like to extend the work in your own research?
- Think about your own research interests. The best applications have a clear vision for what kind of questions the applicant wants to address during their PhD and why the lab is a good place to investigate them. This doesn’t require creating a fully worked out research proposal! But reading some of the existing work in the field helps you understand what has already been done to address a question and how to build on that research. The more time you spend thinking about how you would address a question in practice (how would you set up an experiment, what confounds might exist and how would you control for them), the stronger your application will appear and the better you will be able to discuss your ideas at interview.
- Be honest about your weaker areas. A month is probably not long enough to build other skills in a meaningful way. It’s better to be honest about areas you are hoping to improve on during your PhD rather than cram or try to mislead the lab you are hoping to apply to.
If you have about a year
If you are applying next cycle and have around a year, there are several different kinds of ways in which you can become more competitive:
Research experience
One of the best things you can do to prepare for a PhD is to get research experience. There are many ways to do this:
- A research assistant position as part of a lab during your undergraduate degree. Universities often have lists of these positions or you could try emailing labs that are working on topics you find interesting.
- A post-bac position such as a research coordinator or lab manager (often paid and after graduation). You can find positions like this on society mailing lists and job boards (e.g. Psych Jobs wiki, Cognitive Science Society mailing list, and CogDevSoc) as well as university websites. Some labs also hire without advertising, so it is worth emailing PIs whose work interests you, although I mostly take RAs who are already at Stony Brook.
- If you are interested in AI, part-time programs like SPAR and fellowships like MATS offer mentored research experience, although the bar for these programs is often very high.
- A master’s degree can be a great way to gain research experience if you are moving to a different area. MA and MSc degrees often involve a component of independent research which is great experience for PhD applications.
You shouldn’t view this kind of formal experience as a requirement. I personally didn’t get this kind of experience as an undergrad and I try to bear in mind that other people might not have access to this opportunity. Increasingly there are informal ways to start taking part in research (especially computational research) such as running your own projects, which I discuss under Technical skills below.
Reading papers
Once you become an academic researcher, papers are your currency. You read papers to keep up with what’s happening in your field and you write papers to share your research with others.
- The best way to figure out whether a particular lab is a good fit for you is to read 2-3 of their recent papers and ask yourself whether you would be interested in doing similar work during your PhD.
- The lab website might have a list of papers, or you can use Google Scholar to search for the PI or another lab member to find recent papers. Remember, labs change a lot and someone’s most cited paper from 1997 might not be representative of what their lab is doing now. You might want to sort by year and skim through the abstracts of papers from the last couple of years until you find something that looks interesting.
- Also bear in mind that when a paper has lots of authors, it’s hard to know how involved the lab was. Papers where lab members are either the first or last author indicate that those people were closely involved in the research.
- Beyond reading papers from the labs you are applying to, it’s a good idea to read more generally to find out about what is happening in your field and ways in which people are trying to address questions you are interested in. Some top tips for finding good papers:
- Find papers that are cited in papers you are reading which look interesting or important.
- Use Google Scholar’s ‘cited by’ feature to find papers which cite papers that you think are interesting.
- Search for people who are involved with papers that are interesting.
- Keyword searches on Google Scholar can also be useful although it will involve sifting through a lot more work of uncertain quality.
Designing experiments
Once you have read a few papers, it’s good to start thinking about what kinds of experiments you yourself would run. What gaps do the researchers leave open and how would you fill them?
- Depending on how much research experience you have, this might be more abstract rather than practical but it’s still a good exercise.
- Take a question that you are interested in and ask yourself increasingly detailed questions about how you would try to test it.
- You might start by identifying an experimental manipulation or an independent and dependent variable. Then you might start thinking about how to sample participants and assign them to conditions. How many people you might need. What to measure during the study. And how you could tell whether a hypothesis was supported by the results or not.
- It’s great to combine this with reading papers. As you are reading the introduction you can ask “How are they going to test this?”. While reading the methods: “Why are they doing it like this? How would I have done it differently?”. During the results: “Are any of these results due to design flaws?”. And during the discussion: “What experiments does this make me want to run? How could I test their conclusions”.
- During your PhD, this is the main skill you will hone. It takes a lot of practice so don’t worry if it seems very difficult to start with.
Technical skills
People have wildly different advice on how to acquire technical skills so this will necessarily be quite opinionated and geared toward skills that are useful for our lab.
- Basic Python is useful for virtually any science PhD program today and is worth learning if you haven’t already. I used the How to Think Like a Computer Scientist interactive textbook which I liked because of the exercises after each chapter which force you to think beyond the material provided and problem solve.
- Learn how to call LLMs from Python. Experiment both with APIs like OpenAI, Anthropic, and aggregators like OpenRouter, as well as running local models using Hugging Face. I have a very old tutorial here which discusses using very early LLMs for psycholinguistic analysis.
- Learn how to do statistical analysis with R. This is not a requirement as many people do their stats in Python and they seem to be surviving. But personally I’m a big fan of R and especially the tidyverse. I would recommend R For Data Science for the basics and then focus on learning about linear regression and mixed effects regressions (which is the majority of what we do in the lab). Bodo Winter’s tutorial is a great introduction.
- In our lab we create websites to run our experiments (like the Turing test). Most of these websites use the same tech stack: a Python (Django) backend with a JavaScript (often Vue.js) frontend. If you already have experience in Django, it’s a huge boost to your ability to be productive in the lab, however, there are many other technologies that can work well for developing these sites (such as React).
- Django have their own tutorial which is pretty good. I would recommend some background in basic JavaScript, though there’s no need to learn Vue if you don’t already have that experience.
- The best way to build your technical skills after getting some experience with tutorials is to start a project. Come up with an idea for a tool, service, or website you would love to see. This is how I learned to code and you can still see some of my terrible early websites on my homepage. For computational work with LLMs, there are lots of interesting projects you can do yourself!