19 Dec 2011
For the 2011-12 school year, I'm serving as a student blogger for the Computing Community Consortium's "A Day in the Life of a Computer Science Graduate Student" blog. In the interest of archiving my posts, I'm cross-posting them here.
Link to original post
Link to original post
Why am I in graduate school? Different students have different answers to this question--passion, research, lifestyle, startup incubation, you name it--and others may not have an answer. In the final lecture of CS262, our entry-level graduate systems seminar, our professor, Eric Brewer, emphasized the importance of having a purpose in one's graduate education. I agree, and I also think it's important for someone considering graduate studies to think about why they'd like to spend five or more years on research.
Graduate school may be the logical "next step" for you, but, if you're considering a Ph.D. in Computer Science, you likely have other options. Someone aptly described the financial opportunity cost of five years of graduate school to me as roughly costing a house. From a strictly financial perspective, a grad student makes $30,000 or less per year (not including summer internships and external employment), while the going rate for engineers in the Bay Area is easily $80-100,000+ per year. Over five years, that's at least $250,000, and that's not including salary increases, benefits, stock appreciation, and bonuses. At the least, that number alone should make you think twice about grad school. Of course, there are salary benefits from getting a Ph.D., but it's doubtful whether they're financially worthwhile (see the link to Matt's blog at end of this post).
I thought I'd share three of my personal reasons here. Maybe after five years I'll be jaded, but I hope to retain my optimism and will do my best to make it last.
I get to work on (almost) whatever I want. As a grad student, you can work on whatever you can convince your advisor to let you work on. If a project has research potential and intellectual merit, you can probably convince someone to let you work on it. If you're able to choose your advisor, your options are as broad as your department. Moreover, while your advisor typically funds you, external fellowships and funding give you additional freedom. This freedom is a double-edged sword: if you don't like what you're doing, it means you (likely) chose poorly! I consider myself lucky because there are a ton of exciting projects at Berkeley and because I received external funding. In fact, I changed my initial plans to defer enrollment for a year (and, in doing so, turned down enticing compensation from an industry position) to keep my external funding and the freedom it provides me.
The people are great. Being around passionate people is invigorating. Learning from and debating with other people in my field who are thinking about problems I also find stimulating is irreplaceable. I think you can find this kind of concentrated community in many areas of society, but, at its core, I see science as a collective effort towards greater human knowledge that (at its best) lends itself to interaction and collaboration. In CS in particular, reseachers have chosen to sacrifice monetary gain (especially at the top of the field, often working as hard or harder than they would in industry) to be in academia. Maybe this means we're all a little crazy, but my colleagues give me a lot of energy.
I get to (try to) change the world. This is quite optimistic, but, in the very long tail of the distribution of researchers, you'll find people who changed the way we view and interact with the world. I don't anticipate being one of these select few, but I want to try my best to make a difference. Academic CS is in an odd position where there's an industry making money on the field as well, often coming up with better ideas than academia does. However, our goals are different: in academia, we don't need to make a profit, meet a bottom line, or ship production code. I think this affords us the opportunity for longer-term research and impact. As academics, we don't always get this right, but I think the struggle is worthwhile. I do believe that one can make meaningful contributions and have real-world impact in industry--it's probably easier to do so there as well! In fact, having good entrepreneurship skills is quite similar to having good research taste and execution ability. However, even if I don't change the world directly, I have faith that my (would-be) future students will!
I'm sure these reasons will evolve as I continue in graduate school, but, to me, having reasons and understanding why I'm here is fundamental to getting what I want out of the experience.
Matt Welsh has a particularly good overview of some additional reasons why or why not to go to graduate school on his blog.
You can follow me on Twitter here.
- Causality is expensive (and what to do about it) (05 Feb 2014)
- Stickiness and client-server session guarantees (13 Jan 2014)
- On consistency and durability (10 Dec 2013)
- Non-blocking transactional atomicity (28 May 2013)
- Communication costs in real-world networks (17 May 2013)
- HAT, not CAP: Introducing Highly Available Transactions (05 Feb 2013)
- When is "ACID" ACID? Rarely. (22 Jan 2013)
- Using PBS in Cassandra 1.2.0 (14 Jan 2013)
- Doing redundant work to speed up distributed queries (20 Sep 2012)
- Safety and liveness: Eventual consistency is not safe (27 Mar 2012)