If you're an undergraduate/recent undergrad who wants to understand what doing research is all about, resources on this page should help you get a sense for it.
Tags:
Currently, undergrads in science and engineering ought to be exposed to the following milestones in landing on a career in research/a researchy job.
There exist the following twin problems which undergrads face.
In colleges/universities which do not emphasize research (for example, >99% of the universities in India), majority students have no idea about point 1 and 2 mentioned above. The possibility of doing research, and an understanding of what that career may offer is not even in their vocabulary. Consequently, they are just not aware of points 3 onwards.
A few outliers in such universities are aware of points 1, 2, but have no idea how to operationalize that desire into specific skills which will be valuable to their research trajectory. They are largely unaware of points 3 onwards, will try to reach out to faculty from various other universities by cold-emailing them without appreciating step 4, may end up with weak research stints at local universities, and will likely then rush into step 6–applying to grad schools.
This problem is definitely persistent in universities with a good research ecosystem as well (say, a few IITs etc. in India). Around 60-70% (based on my estimates after having interacted with undergrads at MIT) have no clue about steps 1, 2.
Further, there’s a dual to this problem seen in universities with a good research ecosystem–of those students who largely appreciate points 1, 2 have a broken sense for point 3. There’s an overemphasis of “doing research” to pick up those LORs and to add it to one’s CVs, so that they can apply to the “best” grad schools. However, the introspective aspect of whether they truly appreciate the nuances their chosen field has to offer, are genuinely excited by some problems, trying out a good breadth of concrete projects, not being cowed down by peer pressure to apply to different grad schools, etc. don’t seem to be conveyed/reinforced. In India, there’s this added peer pressure to apply to “the best universities” outside the country.
To the best of my knowledge, there doesn’t exist any institutional interventions addressing points 3, 4 at the undergrad level. Currently, both 3 and 4 seem to happen after joining grad school/an pre-doctoral program. And that is unfortunate.
Some ad-hoc resources for points 5 and 6 exist, and depending on the quality of these resources, some students currently inductively figure out points 3 and 4.
The aim of this document is to address each of these points in some detail. This document is a work in progress (WIP).
I am yet to complete this section. WIP.
If you’re generally curious about how the world works, and have an interest in understanding details of how things around you work, you should definitely give research a shot. If you’re an undergraduate at a school with a vibrant research community, it is that much easier to give it a go, and to see if you enjoy it.
From experience, if you’re interested in your coursework, and have a curious mind, and if you end up disliking research - then it is most likely the case of poor mentorship. Your mentor did not show you the ropes well, and did not give you the time you deserved. Please do not be discouraged by it. Give it a shot anyway! It can be a lot of fun.
(Note - there’s a reverse ask here as well. If they do give you that time, what can you do to ensure they feel their time is well spent on you. Doing research is definitely more commitment than doing courses. Read Jason Eisner’s article below to learn more about this.)
This article, penned by Prof. Jason Eisner at JHU, is an excellent primer on how you can equip yourself in having a fruitful research experience. I strongly urge you to read it, and imbibe the recommended steps in your research stint. In his famous talk ‘You and your research’, Richard Hamming describes the process of doing good research.
This talk transcript I have hosted on this site is a clone of https://www.cs.virginia.edu/~robins/YouAndYourResearch.html
If you’re an undergrad at a school like MIT (or some other xIT in your country), which is primarily known for its research, you should definitely give research a shot to get your money’s worth. Making the most of your xIT experience != taking more grad classes – these classes are pointless after a while. The best bang for your buck is in doing a UROP (undergraduate research program).
Every PI (principal investigator) in such colleges is super accomplished at what they do, and is at the bleeding edge of defining their field. They maybe bad teachers in the classroom, and even bad research mentors - but they definitely know their field well. You stand to learn and gain a lot.
So, do give it a shot, and see if it works well for you. It is very likely you’ll work with someone in their group (as against directly working with them, and that’s fine), and that someone can spur your interest in research.
Here’s an informative article on how to accommodate research in your otherwise busy undergraduate schedule – making the most of an undergrad at CMU
The Jason Eisner article in the section above provides great information on what to keep in mind while you start off your research project.
If you are an undergrad/aspiring young researcher from India reading this - it’s great you are interested in research!
If you are from a college where there is a good culture for research, read the above section on how to make the best of it.
And importantly - if you are not from a “tier-1” school, where research opportunities do not exist for undergrads, worry not :-) I didn’t have such opportunities either, and I made it through just fine.
The catch is - it’s a lot of work. Lot more than it usually takes to do research.
* I believe the information that follows applies to most countries with an education system similar to India - very few top univerisities where world-class research happens, and a long tail of engineering colleges which focus on teaching and not research.
The summary of it is – earnestly understand your undergrad course material. During undergrad, or right after, work as an RA in a relevant lab in India to gain concrete skills and experience in research – this could be through a summer research program (see the Resources section for links), or by you reaching out to labs you think are interesting. Doing this will require you to first learn concrete skills and technologies. See the talk/slides below, and email 1, email 4, FAQs for details.
If you ended up having an excellent RA experience at an academic lab, or at pre-doctoral programs offered by the likes of Google, Micrsoft, etc., and you now have a strong sense for what you want to work on and who you think will best be able to guide you, then you should just go ahead and apply for a PhD with them.
But if you are still not sure, liked your RA experience, and want to explore this further, then consider one of –
Hence, your best bet is to do a solid masters degree where you will be exposed to advanced coursework, and state of the art research.
In this process, figure out what problems in a particular research area really bother you which you see yourself solving, and then consider who are the best researchers in the world who might support you to solve that problem. You should then consider applying to them/their university and doing your Ph.D. with them. Don’t worry too much about the “name” and “prestige value” of the school you apply to - people matter more. You are significantly better off doing your Ph.D. with a professor whose research interest matches yours but is at an “okay” university, than doing it with a professor with unrelated interests but who’s at an “elite” university. See also this note by Prof. Charles Sutton on how to use websites which rank different universities and departments. He reaffirms some of the points I’ve summarized above.
Details. [top] This talk provides more details.
These are the slides I use in this talk.
Also see the FAQs where I’ve responded to common queries which aspiring researchers typically send out to faculty. See also Prof. Shriram’s talk listed in the Resources section which gives you a perspective on how faculty evaluate Ph.D. candidates and applications.
Feel free to reach out to me if you have specific questions. When you reach out, make sure you have read the link on the slide on how to write effective emails (it’s towards the end of the google slide deck I’ve linked above). A post detailing best practices to follow when writing out emails is long pending. I’ll get to it one day.
M.S. (outside India) vs. Ph.D. At this point, you may be quite confused about why I’m dwelling on the specifics of Ph.D. programs. After all, you may have a bunch of friends who head out to the US to do their masters/M.S. degrees who didn’t seem to follow most of the resources provided on this page. How are these degrees different?
Short answer – it is totally different, as these programs neither expect nor will train you with the skills a Ph.D. demands/trains you for. These M.S. programs are meant to be professional degrees which promise to teach you skills which you can directly use in the industry. Most people join these M.S. programs not to improve their skills in doing research, but to land a job in the country they do their M.S. in (mostly the United States)—it’s the most established route to land such jobs in another country.
Perhaps the biggest tangible difference is the finances involved – in a Ph.D. program, you are being paid a modest salary while you produce knowledge, and on the other hand, you pay upwards of 2-3 million Indian rupees for your masters degree (which they expect you will earn in 2-3 years on joining their workforce upon graduation). Note - these MS degrees are different from degrees which also support an honors thesis (typically offered by universities in Canada, and a few in the US, Europe). See point 2 in the summary above.
I intend to keep the lists below updated. Feel free to write me an email in case you come across any more such relevant resources.
I strongly recommend you go through this talk by Shriram if you aspire to apply to Ph.D. programs in the US. [top] While he talks about computer science specifically, a lot of what he talks about should hold for other disciplines, and will help you understand what faculty look for when reviewing applications. Importantly, it will help you appreciate the intellectual maturity that is expected of you as a Ph.D. candidate.
Led by Prof. Himabindu Lakkaraju, various faculty got together and spoke about the admissions process for machine learning related Ph.D. programs. Again, while this maybe machine learning/computer science specific, it gives a sense of the general set of signals faculty look for. [Youtube video]
Prof. Fadel Adib has a tweet thread on applying to Ph.D. programs. [Twitter thread]
Prof. Zach Lipton tweeted about other qualities their group looks for when hiring Ph.D. candidates. [Twitter thread]
Chaitanya Joshi curated a list of similar resources in this tweet of his.
Note - There’s a sizeable overlap in the contents of each of the resources shared above. Do go through each of them nevertheless.
In case this is helpful, this is my statement of purpose / SOP / academic statement which I had submitted when applying to CMU (and from where I had an offer).
This is Jeremy Lacomis’ application material, who was accepted to the Ph.D. program at CMU. It contains links to other materials which inspired him.
Note - Adding keywords like PhD CS computer science SOP statement of purpose sample example MIT CMU Stanford Berkeley
so that it gets picked up by search engines.
Ubadah Sabbagh tweeted a thread with links to useful summer research programs for undergrads (mostly in the US).
Himanshu Ahuja maintains an excellent repository with links to undergraduate research programs in India and around the globe.
I mention a few more in Email 1 and 4 listed in the FAQs section.
I don’t know a lot of product research groups where academic-style research happens, with publications at good venues as one of its goals. The orgs I list below may no longer maintain active research groups/fit the above criteria. You should definitely reach out to the founders directly (these are typically small orgs) and check with them. Also note - these are mostly jobs in computer science, since that’s the field I’m most familiar with. If you come across any more, please do write to me.
Sharechat , Aspiring Minds Research , Sensara.tv , Gram Vaani , Qure.ai , Nirmai , Strand life sciences , Ati motors
This excellent blog by Achu Wilson documents what it took him to publish his first research paper in one of the best conferences out there for robotics. Achu did not have typical RA-like opportunities during his undergrad.
Jason Eisner has this excellent page on writing your first paper.
Note - a publication need not be necessary to be successfully admitted to an MS/Ph.D. program/a research job. Instead, writing will teach you to make cogent arguments, and go through the process of scientific peer review. If you do end up in a career in research, you would end up regularly writing and communicating your work. Writing a paper during undergrad is a great way to test whether you enjoy this process. Additionally, papers are not the only way for you to learn and test this skill–you could perhaps write out a blog, a tech report, etc. which will serve the purpose equally well.
See my talk/slides above on where to publish–most academic conferences and journals out there are outright fraudulent. If you’re not sure, aim for a workshop at the top conference in your field, or a student-friendly journal/conference to begin with. These generally encourage student submissions, and have high quality peer-review processes. If not, a thoughtful blog post or tech-report should work equally well.
My responses to some queries I have received over email and other social media over the years. My responses echo most of the content mentioned on this webpage.
I did not have a great undergrad research experience. I wanted to, but I was too ill-equipped to learn how I could have gained quality experience. I had a scholarship in my junior year to do a research internship at the CS dept. of one of the IITs in India. While I learned a couple of things there, I knew right away it wasn’t a “high quality” experience. My undergrad thesis experience was great - I had a great advisor, I learned a ton of things, but it didn’t train me to do quality research, and I was painfully aware of this limitation.
Thereafter, I put in a great deal of effort in finding such opportunities. By the end of my senior year, I was writing horrendous emails to academic research groups I wanted to work in. I was not skilled enough to demonstrate what my value addition would have been to a group that potentially hired me. Despite all of this, I managed to land a great first job upon graduating, where I “made my bones” in research. That’s right - I was fortunate to have a job right out of undergrad which had a strong research component to it. I learned to do good research there, and went on to managing a small team of researchers on a variety of interesting and innovative projects. Had I not landed this specific job, I’d likely have applied for a full time RA with professors I’d marked out as doing “interesting work”. I had offers from other good places for a generic software engineer’s role - I knew I did not want to explore those options.
Looking back, I was an absolute fool at most times in my research journey. I would be stuck on silly things, I would ask trivial questions, I would just not understand certain concepts, I would not see the big-picture until a long time had passed, etc. But I kept at it because I thoroughly enjoyed learning these bits. And importantly, I had a great mentor who was patient enough to show me the ropes and indulge my inadequacies, while being encouraging.
I am where I am because of a bunch of such people who showed me the way. And I would love to support others like you who want a taste of this experience.
Over these years, I’ve worked on and developed an expertise in problems in machine learning, data science, program analysis, natural language processing, and systems building.
Thanks to the following for their very helpful feedback on this page.
Srishti Yadav , Jeevanjyoti Chakraborty , Neeldhara Misra, Anna Ivanova, Vivek Seshadri, Greta Tuckute, Kaveri Iychettira