24 Apr 2016
I was recently discussing gatekeeping and the process of getting started in CS research with a close friend. I feel compelled to offer a note.
As a practicing academic researcher, I’m personally thrilled by the degree of excitement regarding CS research today in the broader technical community. Reading papers and doing research have always been favorite activities for me, and it’s tremendously heartening to see organizations like Papers We Love and its many members sharing their excitement as well. Research is a very human way to engage with our curiosity, and curiosity deserves cultivation, celebration, and sharing.
To someone interested in learning more about research, I’d offer the following words of encouragement and advice:
No one is born a researcher
There is no prescribed way that a researcher has to look, act, or be. One of my closest colleagues started off doing technical support during the first dot-com boom with only an undergraduate degree in literature and no background in Computer Science. Today, my colleague is a tenure-track professor doing work I deeply respect and admire. Two other colleagues who are faculty at top-tier departments started their careers after emigrating as refugees, and each did their undergraduate work at non-traditional institutions. Another colleague recently started a Ph.D. after spending several years working closely with researchers while in industry, without an undergraduate degree. The CS academy is highly homogeneous, with a long way to go. But if you look closely enough, you may be surprised to find someone who looks and feels more like you than you might otherwise think exists.
Pedigree and privilege
Granted, pedigree and privilege make many things much easier. But pedigree and privilege are not strictly necessary to do great research, and they are certainly not by themselves sufficient to do great research. Among other things, great research comes from curiosity, creativity, hard work, determination, some amount of brilliance, and many failures.
Some concrete suggestions
- Read papers.
- Discuss them with friends, or strangers.
- Go to your local Papers We Love meetup, or start your own chapter.
- Try implementing what you read. Open sourcing and sharing your code is even better. There’s a good chance your code is better written than the code used for the paper.
- If you get confused, check Wikipedia. Almost everyone reads Wikipedia, including professors. In addition, consider checking out a book from your local library. Textbooks are great guides to new and unfamiliar areas.
- Ask yourself: how would I improve this research if I did it myself?
- Ask yourself: how could I produce a follow-on project?
- Blog about what you’ve learned and about questions like these.
- Spend some time trying to improve and follow on to your favorite paper(s). Write some code. Run an experiment. Or try to find a big-O improvement.
- Email authors if you have questions (or want to express your excitement about their work). If they happen not to respond, don’t worry; research makes for busy schedules, and I’d bet that your polite enthusiasm may have made their day a little bit brighter.
- Attend research seminars. Your local university should have at least one public talk series, or watch them online.
- If you’re in school, make sure to attend office hours. Ask questions. Enroll in a graduate-level seminar, ideally one focused on reading and discussing papers.
- If you’re not in school, still ask questions. Seek out a community that can help you find answers. If you don’t know of a community, I suggest reaching out on social media like Twitter.
- Don’t get discouraged.
- Trust in your curiosity.
- Be respectful, but be bold.
Some final thoughts
Make no mistake: getting started in research is hard. The above steps aren’t enough. Getting started in research requires perseverance and will over time require many people to make investments in you and your success. But you can be the first person to make an investment—by learning, educating yourself, doing hard things, and beginning to develop your skills. You have much more agency and power than you may believe.
- How To Make Fossils Productive Again (30 Apr 2016)
- Lean Research (20 Feb 2016)
- I Loved Graduate School (01 Jan 2016)
- NSF Graduate Research Fellowship: N=1 Materials for Systems Research (03 Sep 2015)
- Worst-Case Distributed Systems Design (03 Feb 2015)
- When Does Consistency Require Coordination? (12 Nov 2014)
- Data Integrity and Problems of Scope (20 Oct 2014)
- Linearizability versus Serializability (24 Sep 2014)
- MSR Silicon Valley Systems Projects I Have Loved (19 Sep 2014)
- Understanding Weak Isolation Is a Serious Problem (16 Sep 2014)