I started as an assistant professor in 2004. Over the years, I've become increasingly convinced that the graduate school experience is most like an apprenticeship, where graduate students learn to "do research" by working with their advisors. This intensively personal relationship is difficult to scale, but I've discovered that I give the same advice over and over again. So, it makes sense to write things down. This repo is the result of those efforts. Every time I say something to a student that I've repeated before, I write it down here.
The result is the student's guide to @lintool.
Of course, every advisor is idiosyncratic (putting it mildly), and I only claim that this advice is what I give to my students. I generally agree with Oded Goldreich in there being no generic advice. There are definitely many ways to succeed, but there are no doubt "archetypes", and every graduate student starts off with his or her advisor as a reference point. As a result, I suspect that at least some of what I say to my students is said by other advisors to their students. A few may even rise to the level of "research best practices". Given the potential relevance to others, I'm publicly sharing these documents. Of course, YMMV, and take everything with the usual grain of NaCl.
- What working with me is like
- What my personal schedule is like
- Should you take my advice?
- General research tips
- Writing a research paper with me: this specifically describes how I work with my students.
- Writing pet peeves: Lots of specific writing tips.
- Thesis tips: Writing tips specifically for writing theses.
- General life tips: General life lessons.
- Working in industry is a one-way street out of academia
- Coding Style
- Be Paranoid! (Someone is working on your idea right now!) (November 15, 2019)
- Diversity, Inclusion, and a Vibrant Intellectual Ecosystem (November 16, 2019)
- Leaderboard Micropublications: A Proposal (December 2, 2019)
Advice by others I've given to my students (and things that I haven't had time to write about):
- The Craft of Writing Effectively: everything you learned about writing in school is wrong!
- Writing advice from the Kording Lab, including the idea of joint writing sessions
- Jordan Boyd-Graber's writing style guide
- Dealing with Rejection by Niklas Elmqvist
- Coping with Rejection by Aditya Parameswaran
- Attending Professional Conferences as a Newcomer
- How to Prepare a Talk: the secret to success? repetition
- Research Design Patterns
- Hanna Wallach's & Mark Dredze's How to Be a Successful PhD Student (in Computer Science (in NLP/ML)
- Managing Your Advisor by Nick Feamster
- Thoughts on Competition in Academia by Shomir Wilson
- Advice for Whiteboard Coding Interviews by Satnam Singh
I've collected other non-related odds and ends in this repo:
- Waterloo plugs: media mentions of the burgeoning tech scene in Waterloo, the Greater Toronto Area, or Canada in general.
- US anti-plugs: the opposite of above; media mentions on how the US is screwing up immigration, tech, etc.
- Chinese technical terms: a Chinese-English phrase book of technical terms that I've been slowly accumulating.
- Jinfeng Rao's job hunt experience (in Chinese)
- Performance Maintenance During Continuous Flight Operations: an interesting look into how the military manages sleep and fatigue during military operations.