Philip Guo (Phil Guo, Philip J. Guo, Philip Jia Guo, pgbovine)

Interested in joining my research lab?

[Note: this page was last updated in 2017. I'm no longer recruiting as actively as I was back then, but email me if you're still interested.]

I'm looking for undergraduate, masters, and Ph.D. students to work on human-computer interaction (HCI) research with me. Specifically, we will build and study interactive software systems that help people become better programmers. To get a sense of my research focus, read this four-page research summary or watch this hour-long talk.

My students have published first-author papers, won national-level research awards, obtained internships and full-time jobs at top technology companies (e.g., Google, Microsoft), and been admitted into top Ph.D. programs (e.g., at Stanford and UC Berkeley). I love bragging about their accomplishments, promoting their work to my colleagues, and helping them to develop their careers.

I provide a lot for my students, but I also expect a lot. Here are the five most important traits that I look for in prospective students, listed in order of importance. I based this list on my own experiences working with dozens of students, distilling the qualities that are most critical for success in my lab.

  1. Are you a good programmer? If you work with me, you will be doing a lot (a lot!) of programming both to build interactive systems and to run computational experiments. The better you are at programming, the happier you will be.

  2. Are you super reliable? Can I count on you to get things done on time and to consistently deliver week after week at a sustainable pace? I personally don't work well with flaky students, no matter how brilliant they may be.

  3. Are you a strong finisher? It's easy to start projects and to brainstorm fun ideas at the whiteboard, but not many people have the ability to truly deliver when the going gets tough as deadlines loom. Starting doesn't matter; finishing does.

  4. Can you get yourself unstuck? You will often get stuck when working on research, so the better you are at getting yourself unstuck by exploring alternative paths, the happier you will be. Be willing to try, fail, and try again. Intellectual myopia and timidity are dealbreakers.

  5. Are you resilient? How good are you at dealing with setbacks? Every researcher fails a lot, so being able to recover from repeated failures without becoming demoralized is absolutely crucial for long-term success.

I also tend to select for students who are friendly, empathetic, and likely to get along well with others. While these traits do not directly predict individual success in research, they go a long way toward making the lab a better place for everyone.

I purposely didn't put down intellectual curiosity since that should be a given; if you're not intellectually curious, there are far better ways to spend your time than research. I also didn't include being “smart” or “passionate” – the former is ill-defined, and the latter develops over time if you find the right project and advisor.

Still interested? Read about how to get hired and then send me a good email.

What it's like to work in my lab

Like snowflakes (maybe?), every research project is unique. However, from working with dozens of students on research in the past, here's how the usual flow of a project works in my lab:

  1. We usually start with a specific research paper submission deadline in mind to anchor the project timeline. e.g., it's now January and the next relevant paper deadline we can realistically make is in September, so let's plan for a nine-month project. Sometimes deadlines may be artificial; e.g., if you're going to be away for the summer, then your deadline could be the end of this school year.

  2. If you join at the start of a project, we will spend the first few weeks working closely together to come up with a project topic that is exciting to both of us, and that also stands a reasonable chance of leading to a published paper. (If you join an existing project, this step would've been done beforehand.) This needfinding process differs depending on project, but it often involves observing how people currently work, interviewing those people, and scouring the web (e.g., discussion forums, blogs, YouTube videos) to discover what people currently struggle with in a given domain. We will probably meet once or twice per week during this initial stage.

  3. Then you will start prototyping either a software tool or a set of data analyses that begin to address the problem we identified together in the prior step. Prototypes can come in many forms – paper sketches, PowerPoint presentations, graphs and charts, interactive data visualizations, or working code demos – but their purpose is to enable you to get high-quality feedback each week. The bulk of your project time (usually several months) will be spent in the prototyping phase. When a project picks up steam, I like to meet twice a week with each student to keep up consistent momentum week after week.

  4. Four to six weeks before a paper deadline is when prototyping ends and crunch time begins. This is when we will need to take what we learned from prototypes and start finalizing the results to be written up in a paper submission. For you, this may mean running a formal user study in the lab or running the final versions of data analyses to use in the upcoming paper submission. Research is never “finished” – it's merely shipped. The goal of crunch time is to ship a publishable paper; anything that doesn't fit into the paper's core story can be shelved until after the deadline to potentially use in a future iteration of the project. When crunch time begins, our focus should be exclusively on the impending deadline, not what may or may not come afterward. Real researchers ship.

  5. Two to three weeks before a paper deadline is when super-crunch-time begins. By this point, our entire attention will be focused on writing, editing, and shaping each paper submission to be as strong as possible. We will probably end up meeting three times (or more) per week to make sure that all bases are covered.

  6. After a paper submission, it's time to rest, recover, and loop back to Step 1 :)

Subscribe to email newsletter
Donate to help pay for web hosting costs

Created: 2013-11-20
Last modified: 2017-07-02
Related pages tagged as Ph.D. student life: