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

  1. Read papers.
  2. Discuss them with friends, or strangers.
  3. Go to your local Papers We Love meetup, or start your own chapter.
  4. 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.
  5. 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.
  6. Ask yourself: how would I improve this research if I did it myself?
  7. Ask yourself: how could I produce a follow-on project?
  8. Blog about what you’ve learned and about questions like these.
  9. 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.
  10. 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.
  11. Attend research seminars. Your local university should have at least one public talk series, or watch them online.
  12. 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.
  13. 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.
  14. Don’t get discouraged.
  15. Trust in your curiosity.
  16. 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.

You can follow me on Twitter here.

 

You Can Do Research Too的更多相关文章

  1. hihoCoder 1427 : What a Simple Research(大㵘研究)

    hihoCoder #1427 : What a Simple Research(大㵘研究) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...

  2. [转载]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 ...

  3. (转) Deep Learning Research Review Week 2: Reinforcement Learning

      Deep Learning Research Review Week 2: Reinforcement Learning 转载自: https://adeshpande3.github.io/ad ...

  4. MLA Handbook for Writers of Research Papers笔记

    MLA Handbook for Writers of Research Papers.7th ed.New York:MLA,2009.print.还有一本,留待阅读MLA Style Manual ...

  5. 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 ...

  6. What is research (1)

    This abstract tells me a lot of stories about itself. Here I want to discuss two stories about it. I ...

  7. PHP serialize && unserialize Security Risk Research

    目录 . 序列化的定义 . serialize:序列化 . unserialize:反序列化 . 序列化.反序列化存在的安全风险 . Use After Free Vulnerability -] . ...

  8. Computer Graphics Research Software

    Computer Graphics Research Software Helping you avoid re-inventing the wheel since 2009! Last update ...

  9. You and Your Research(Chinese)

    转自:http://lyxh-2003.iteye.com/blog/434014 这是大科学家Richard Hamming的著名讲演,于1986年在贝尔通讯研究中心给200多名Bellcore的科 ...

随机推荐

  1. ViewPager导航栏TabLayout

    ViewPager中加入TabLayout导航 需要导入依赖包:  'com.android.support:appcompat-v7:xxxxx' compile 'com.android.supp ...

  2. npm安装完bower,使用时提示bower不是内部或外部命令

    归根结底还是环境变量的问题,但是配了好几次没配成功,最后就直接把装好的node里面的复制到系统创建的环境变量目录下,问题解决! 问题描述:我们安装node.js,npm,通过npm安装bower一路正 ...

  3. 【POJ 1981 】Circle and Points

    当两个点距离小于直径时,由它们为弦确定的一个单位圆(虽然有两个圆,但是想一想知道只算一个就可以)来计算覆盖多少点. #include <cstdio> #include <cmath ...

  4. css后代选择器(div.class中间不带空格)

    如果我要查找<div>上用了.class的元素,查找方法:div.class:中间是不空格的. 以上这种形式为css后代选择器 参考:http://www.w3school.com.cn/ ...

  5. poj1113 凸包

    result=对所有点凸包周长+pi*2*L WA了一次,被Pi的精度坑了 以后注意Pi尽可能搞精确一点.Pi=3.14还是不够用 Code: #include<vector> #incl ...

  6. Uva11374 Airport Express

    最短路问题. 从起点和终点开始各跑一次dijkstra,可以得到起点.终点到任意点的距离.枚举使用的商业线路,找最优解. 破题卡输出,记录前驱和输出什么的仿佛比算法本身还麻烦. /*by Silver ...

  7. F7控件

    //动态给F7加过滤 waf("#costSubject").wafPromptStandard("option", "filteritem" ...

  8. 单向关系中的JoinColumn

    1.person与address的一对一单向关系: 在address中没有特殊的注解. 在Person中对应到数据库里面就有一个指向Address的外键. 我们也可以增加注释指定外键的列的名字,如下: ...

  9. Groupby - collection processing

    Groupby - collection processing Iterator and Iterable have most of the most useful methods when deal ...

  10. FZU 2193 So Hard (有限小数转换最简分数)(想法题)

    题目链接: 传送门 So Hard Time Limit: 1000MS     Memory Limit: 65536K 题目描述 请将有限小数化为最简分数. 输入 一个整数n 表示需要转化的小数个 ...