Interested in working with me?
I do research in the areas of Operating Systems and Storage. I will
work with students to develop systems
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
- 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.
- 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.
I fully support spending summers doing internships at research
labs such as Microsoft Research or VMware research.
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
- 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.
- 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
- 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
What I look for
- 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.
- 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.
- 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.
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.
Research is hard because things do not often work out the way you
initially thought. You need to be able to backtrack and keep
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.
- 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
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
Interested in working on research with me? and
in being an undergraduate research assistant in my lab?
Back to the home page