Grad School Tips for Undergrads
If you're an IIT undergraduate interested in doing a PhD in systems, you should come talk to me (students from elsewhere wondering what I look for in a PhD student should see here). Research can be incredibly exciting and fulfilling, but is also challenging. It requires a lot of hard work, motivation, self discipline, and “learning on the job.” The best thing you can do to inform decisions about graduate school and research is to try it out as an undergrad!
What does it take?
Research requires discipline, focus, motivation, creativity, resilience, and probably most importantly, curiosity. Different students will have different strengths among these traits, but all must be there to some degree. While you may not see yourself as having strength in one or more of these areas, a good PhD advisor will help you cultivate them during the course of your PhD. Note that I didn't mention here genius or a quick wit. These can, of course, help, but they won't get you through. Even the most naturally intelligent students will encounter failure and rejection during the course of the PhD, so being “used to succeeding” will not help you.
In my opinion, graduate school should not be something that you undertake as a “matter of course.” Just because you got into the program doesn't mean you should go. You should seriously consider your motivations before entering a graduate program. You should ask yourself the question, Why do I want to go? If your answer is that you have a deep passion for computer science and that you like to solve interesting problems, great! If you think it will improve your career prospects, get you a better salary, or more respect from your peers because of a fancy title, you should spend some more time thinking. There are better paths if these are your goals. Ultimately, when the going gets tough during the PhD, having a passion and driving curiosity for your subject is what will get you through. Your best bet to have a more informed decision is to actually try it out. Again, come talk to me if you'd like to do some research in systems.
Why should I do it?
To me, a career in research has been very fulfilling. I love that I get to think about cool problems, steer my own research agenda, interact with brilliant people, mentor students, and teach classes. I still look back on my graduate school years as some of the best years of my life, and a time of significant growth. You will learn more than you probably ever imagined, you will push your own boundaries, you will learn to face rejection and failure, you will build confidence and competence, and you will likely make new friends and have a lot of fun.
That said, not everyone has a cheery graduate school experience. You must consider both sides of the coin.
Why shouldn't I do it?
If you want a high-paying job, going full academic is not the most cost-effective route. A PhD can certainly increase your earning potential, but the benefits likely do not offset the costs of having a pretty small income during your PhD years. If you're doing a PhD, you should be prepared to see your peers who went off and got industry jobs making significantly more than you. By the time you're on the job market, they may have already reached senior positions with six-figure salaries. Even if the salary isn't what you're after, you should seriously consider how it might affect other goals you may have, e.g. buying a house, raising a family etc.
Graduate school can impose a lot of pressure on people, though how much varies a lot from department to department and advisor to advisor. You will work a lot. This is a pretty universal expectation from faculty of their students. That said, ideally what you're working on is something that interest you anyway. Unless you have your own external funding source (e.g. a fellowship), you will have to initially work on something your advisor chooses or at least something that you both agree on. If this is a problem, you likely chose the wrong advisor. Learning how to deal with the pressure is part of the experience, but you should be aware of how the experience is affecting your health, both mental and physical.
Others have documented the pros and cons better than me. Do much more research than just reading this. The Chronicle is a good publication on various topics in higher education. CRA puts out reports periodically that document statistics related to graduate school and academia in CS, including tracking PhD hires in industry and for faculty positions.
What are some things I should consider when applying?
Picking the right advisor is probably the single most important decision when going to graduate school. This is a person you will spend countless hours with, and who you will hopefully form a long-lasting relationship with. When meeting or talking with potential advisors, it's more important to try to get a feel for how you might work with each other than how famous they are or how smart they seem. This is of course hard to gauge from short interactions, but if you get a bad vibe, take it seriously. It will help to get a clear picture of what their expectations are for their graduate students. You should also be clear with them what your expectations are. If you are looking for a decent home/work balance, but they say “I expect my students to work Saturdays and Sundays and answer my texts in the middle of the night,” then you should not work with that person, even if they are a world-renowned expert in whosits and whatsits. Again, this is important; far more important than what school or location you choose. Some other aspects of the advisor you should consider: are they tenured? How big is their group? (read: how much time will they have for you?) Where and how often are they publishing? Having a famous advisor may give you a slight advantage in some respects, but you want to consider your style. If you expect to be getting a full day's worth of guidance per week from your advisor, picking someone who is traveling most of the time or splitting their time with 15 other students and postdocs would be ill-advised.
Consider what you want your life to look like during grad school, but outside of your studies. Do you like to work in coffee shops? Do you like to be able to see your parents often? These kinds of questions will help guide you toward potential programs.
If you cold-email potential advisors, do your homework. Actually put in the effort to read their papers and understand what they work on. Tell them why you're interested in working with them (even better if you can point out specific parts of their research you like or have insight about), how your background experience is relevant, etc. Try to keep it short while hitting these points. You can find other info on this here, here, and here.
Having some research experience is usually the best thing you can do to increase your prospects. Having published a paper when you send in applications is even better, even if it's a workshop paper, or even if it's a poster you present at an undergrad research symposium. Having submitted a paper (maybe the decision is out, or maybe it got rejected) is still a big leg-up.
If you're looking for perspectives on grad school, David Andersen's article is a pretty good resource. Matt Might's blog also has some good articles on grad school, both on what you should know and how to get through it.
If you've already decided to go to grad school, now you just have to get in! I recommend reading through Mor Harchol-Balter's great writeup on applying to graduate school.