To supplement the previous document, I want to record some lessons I teach to junior students over and over again.
- A research paper should certify a process, not a one-time result. Based on research papers, you might think that the goal week to week is to produce a nice result to include in a paper. However, what we are actually doing week to week is refining a process. Our tools of study are computers and algorithms, but what we do is not unlike research in e.g. chemistry, where researchers refine a chemical process to reliably produce some desired compound. For us, we can both refine the workflow (refactoring codebases to enable a wider range of experiments) or build understanding (build intuitions on the nature of our problem). The research paper only is the last product of an iteratively refined process, and the paper includes the most trusted, reliable phenomenon you observe.
- Your notes should be an organization of knowledge. While you should take notes when you have meetings, you should periodically systematize what you understand. Try to look for interesting intuitions or perspectives on what you see and link to the results.
- When you’re reading papers, look for elements that you want to incorporate into your own work. When you are conducting your research, you will need to push really hard to make sure your research includes the elements you appreciate.
- Practice communicating your results. When you meet with an advisor, typically you will have to spend a few minutes re-contextualizing the problem. Also practice presenting in lab meeting. A presentation is not just slides, it is teaching others how to think about your problem.