Interested in working with me?

I do research in the areas of Operating Systems and Storage. I will work with students to develop systems and publish papers. Note that although developing systems is a core part of my research, these are not meant to be commercialized via start-ups. Publications will be the primary output of the research group.

What I offer

  1. Individual Attention
    We will meet at least once a week. If I am working with an open door, you are welcome to stop by for a chat. You will not need to wait to schedule a meeting to talk in person.
  2. Research Freedom
    You will have a lot of freedom to formulate your own research ideas and carry them to fruition. Of course, I will be helping you every step of the way so that you are not left without guidance. You will be the first author on any papers where you have done most of the work.
  3. Internships
    I fully support spending summers doing internships at research labs such as Microsoft Research or VMware research.
  4. Travel
    I will support (as in, pay for) your travel to conferences to present any first author publications from work we did together. Note that systems conferences are often held in beautiful locations :)
  5. Clear Expectations and Support
    Grad school can be a confusing, lonely experience. I will do my best to be clear about my expectations. I fully support recreational activities and taking time off to maintain a clear head.
  6. Mentoring on writing, presentation, and other skills
    A PhD is about more than just developing technical expertise. I will help refine your writing, presentation, networking, and other skills to help you in becoming a researcher with excellent communication skills.
  7. Support for Career Development
    I would be happy to help you develop professional connections for both internships and full-time jobs. I will support applications for fellowships and awards.

What I look for

  1. Prior Research Experience
    If you have worked previously with a professor in operating systems/storage research, you will be a good match for my research group. Note that the research experience (as evidenced by a letter) is more important than having published.
  2. Programming Skills
    Once we have zero-ed in on an idea we'd like to try, you are in charge of developing the prototype. As such, you need above-average programming skills to do this quickly and accurately. Prior experience in companies such as Google/Facebook/Microsoft is a good indicator of this.
  3. Kernel Hacking Experience
    A lot of operating systems research involves, you guessed it, modifying the operating system. Any prior experience modifying operating systems (especially Linux) is a big plus. At a bare minimum, you should have compiled a kernel. Prior experience in companies such as the Windows Kernel team is a good indicator.
  4. Initiative
    Oftentimes in grad school, nobody (not even your advisor a.k.a me) will tell you exactly what to do next. You need to be able to take the initiative and try things without being told. This also ties in with getting un-stuck by yourself on problems in your project.
  5. Tenacity
    Research is hard because things do not often work out the way you initially thought. You need to be able to backtrack and keep working.
  6. Reliability
    If you say you are going to do something by a certain date, you need to get it done by that time. Flakiness or tardiness are not qualities of great grad students.
  7. Communication Skills
    Communication skills can be learnt during the PhD, but you need to start out willing to share and learn. If you are extremely shy/do not talk up, it will not matter how smart you are or how great your work is. Err on the side of over-communicating rather than under-communicating.

Note that you don't need to have all of these skills, but you do need to show some promise that these can be developed.

This was inspired by Philip Guo's Interested in working on research with me? and Interested in being an undergraduate research assistant in my lab?

Back to the home page