Hello! This is my first blog post, so bear with me while I try to find my writing style and overcome writer's block. Overall, I intend for this blog to be a place where I can freely share my thoughts and experiences. A little bit about me beyond what my homepage bio says. I grew up in a Virginia suburb of Washington, D.C., where I first discovered my interest in technology when my dad took me to work and showed me all of the cool hardware they were building for the Mars rover program. Outside of research, I enjoy powerlifting, playing tennis, snowboarding, reading, and exploring NYC with friends.
For this post, I wanted to share some of the lessons I took away from my first year of PhD. They are not in any particular order.
1. Make friendsThe best asset of a PhD is the people you meet. This advice has probably been repeated many times, but I really found it to be true. It has been refreshing to be surrounded by people who are at least as passionate about machine learning research as I am. The benefits of making friends during your PhD is too long to list. However, some I think about: (1) research is much more fun with friends, (2) having diverse perspectives can lead to new insights, (3) on the days when my mind is empty, someone nearby definitely has a good idea.
2. Scale via collaboration and mentorshipToo many ideas and too little time, energy, and headspace. In order to scale up my research agenda and the number of questions I can explore, I have to build a team, even as an early PhD student. This requires initial investment on outreach, mentorship, and project setup, but I believe will be well-worth in the long run. In the next few years, I hope to learn how to do these tasks effectively, and mentor and collaborate with other motivated researchers.
3. Convey information clearly and quicklyConfusion amongst a team can be extremely detrimental, potentially causing errors in decision-making and weeks of wasted work. On the flip side, everyone has limited bandwidth in today's busy world. The ability to convey information clearly and quickly is essential to being an effective researcher.
4. Play around with new thingsYou may not realize the limitations and nuances of a method until just take it out of the box and actually do things with it. It can also be a great way to brainstorm new ideas by trying out the state-of-the-art and identifying moments where you feel constrained by the technology. And along the way, you will most likely get a deeper understanding of how the method works!
5. Learn how to visualizeVisualization is the best way to figure out if things are going well or poorly. It is also a very effective communication tool and with LLMs, there should be little excuse for not having visualizations of your project. Visualization is also a benefit of working in computer vision — pretty pictures!
6. Be cautious of flexibilityThis is a lesson from my work on PooDLe, where I often tried to make the code as flexible as possible for future changes. This flexibility often made the code very complex, hard to read, and buggy. Many times, a single main script and hard-coded parameters works fine, at least to start. However, I still want to avoid the stigma of researchers having ugly code.
7. Keep healthy snacks at the officeHealthy body, healthy mind, healthy experiments!
8. Share clean codeEveryone wants to build on top of a solid, easy to use codebase, so sharing clean code is a great way to increase the impact of your work. It's why I enjoy starting from Meta's repos — they are very clean, easy to use, and simple. Now, time to clean up my own codebases...