You Can Do Research Too
You Can Do Research Too
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 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.
Read More
- 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)
- Bridging the Gap: Opportunities in Coordination-Avoiding Databases (22 Apr 2014)
You Can Do Research Too的更多相关文章
- hihoCoder 1427 : What a Simple Research(大㵘研究)
hihoCoder #1427 : What a Simple Research(大㵘研究) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...
- [转载]Three Trending Computer Vision Research Areas, 从CVPR看接下来几年的CV的发展趋势
As I walked through the large poster-filled hall at CVPR 2013, I asked myself, “Quo vadis Computer V ...
- (转) Deep Learning Research Review Week 2: Reinforcement Learning
Deep Learning Research Review Week 2: Reinforcement Learning 转载自: https://adeshpande3.github.io/ad ...
- MLA Handbook for Writers of Research Papers笔记
MLA Handbook for Writers of Research Papers.7th ed.New York:MLA,2009.print.还有一本,留待阅读MLA Style Manual ...
- A List of Social Tagging Datasets Made Available for Research
This list is not exhaustive - help expand it! Social Tagging Systems Research Group Source Year Obta ...
- What is research (1)
This abstract tells me a lot of stories about itself. Here I want to discuss two stories about it. I ...
- PHP serialize && unserialize Security Risk Research
目录 . 序列化的定义 . serialize:序列化 . unserialize:反序列化 . 序列化.反序列化存在的安全风险 . Use After Free Vulnerability -] . ...
- Computer Graphics Research Software
Computer Graphics Research Software Helping you avoid re-inventing the wheel since 2009! Last update ...
- You and Your Research(Chinese)
转自:http://lyxh-2003.iteye.com/blog/434014 这是大科学家Richard Hamming的著名讲演,于1986年在贝尔通讯研究中心给200多名Bellcore的科 ...
随机推荐
- 二叉树的建立与递归遍历C语言版
</pre><pre name="code" class="cpp">#include <stdio.h> #include ...
- Android网络开发之实时获取最新数据
在实际开发中更多的是需要我们实时获取最新数据,比如道路流量.实时天气信息等,这时就需要通过一个线程来控制视图的更新. 示例:我们首先创建一个网页来显示系统当前的时间,然后在Android程序中每隔5秒 ...
- Js-字符串截取substring,分割split,指标indexOf,拼接John
函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组例子: var theString=”jpg|bmp|gif|ico|png”; var arr=theString.spli ...
- 10 函数的复写-override
1.函数的复写:override 2.使用super调用父类的成员函数 class Person { String name; int age; void introduce() { System.o ...
- phpwind9.0模板制作教程——制作论坛风格
由于论坛模板机制和门户等模板机制不同,所以今天我就先重点讲讲论坛模板制作的大概过程. 一.先来熟悉下phpwind9.0的论坛模板机制. 其实phpwind9.0的模板机制和discuzx2.5差不多 ...
- servlet监听器Listener(理论+例子)
Listener采用了观察者模式(24种模式之一),Listener是servlet的监听器,他可以监听客户端的请求.服务器端的操作等, 通过监听器,可以自动激发一些操作.比如:监听在线用户数量 当增 ...
- xml序列化方式
public static class MySerializeXmlHelper { static MySerializeXmlHelper() { } private static object _ ...
- glyphicon halflings regular ttf 报错
一个web项目 用了bootstrap chrome开f12报错提示glyphicon halflings regular ttf找不到 为什么找不到,肯定又是path出了问题 找到bootstrap ...
- sbin/hadoop-daemon.sh: line 165: /tmp/hadoop-hxsyl-journalnode.pid: Permission denied
原来在logs下 该权限,还是不行,以root登陆可以了,但是其他节点是普通用户啊,还会出其他问题,仔细看是/tmp,就是linux根目录下的tmp,改他的权限吧,不知道重启会不会变化.
- Linux中/etc/hosts文件总是被自动修改
关闭NetworkManager服务即可. 临时关闭: service NetworkManager stop 永久关闭: chkconfig NetworkManager off 在centos6 ...