Skip to main content

How to get a Ph.D. in computer science if you're me

Recently, I've been privy to a lot of advice that people give to beginning and prospective graduate students in computer science. The "grad school survival" talk given to CMU's CS department is one that's been passed down through a few generations; PLMW at SPLASH is a workshop (affiliated with a few different PL conferences, now) with similar aims. At both of these events, I served on panels to answer questions. But by watching the main presenters' talks, I quietly accumulated critiques of the standard advice, and it occurred to me that my experiences might have value to some folks if expressed in longer form.

As the title of this post suggests, all advice is subjective. The reason that I think people give "advice," even knowing this fact, is that otherwise we're telling very personal stories about experiences that might still be raw. Advice is an abstraction over experience. But abstraction yields generalization, and generalizations require care when referring to human lives --- so I'm going to try my hardest to be honest about where serendipity and immutable facts about myself played a role in my experience.

Let's put some of those facts up front. On the privileged side of things, I'm white, cis, able-bodied, relatively neurotypical, a U.S. citizen, a native English speaker, and I don't have any dependents. On the less-privileged side of things, I'm a woman in a 90+% male field, I'm a first generation college graduate, I was raised by a single (widowed) mother with no financial security, I'm queer, and I have a history of struggling with social anxiety and depression.

Priming the Canvas

The first point I can identify in retrospect where concrete decisions led to me getting a Ph.D. from CMU was applying for federal financial aid to attend CMU as an undergraduate. Because of my mother's income level, I was able to attend a top-rated university with relatively little debt (about $23k). I also had the (in retrospect) tremendous luck that my public high school had a good CS teacher who taught two years of programming classes (my first serious experience with programming).

As an undergraduate, the next thing I did right was pursuing research experiences early, starting with freshman year. I was dating someone who happened to be a good influence on me and encouraged me to get involved in research in my freshman year, just as a code monkey on gigantic AI project. I fell in love with research and spent two more summers, followed by a senior thesis, involved in different research projects, gradually taking more of an intellectual lead. By the time I was working on my senior thesis, I had developed a clear idea of what kinds of work made me excited, and I was able to put together a genuinely excited research statement about it.

First years of grad school

Despite a mediocre GPA relative to most top applicants, I still got into CMU (and a handful of other good places). I decided to accept CMU's offer, which I earmark as a good decision primarily for the financial benefits -- in Pittsburgh, I could pay $400/month in rent for a decent apartment, and I made a decent enough stipend (about $25k/year on average) that, over the course of my degree, I was able to save up almost enough to cover my student loan debt. Furthermore, I was still able to enjoy a good quality of life through things like seeing local theatre performances, attending social outings, buying nutritious groceries, and dining out.

But at the beginning of grad school, I struggled. I had a project that I enjoyed working on, but it far exceeded the duration of my advisor's expectations: it took me 2.5 years to get it finished and another half year to get the writeup submitted and published. (In the middle of that time, my mother got severely ill, which stalled my progress in writing up the work.) It wasn't a project that could be turned into a thesis, either, so I felt that I had reached something of a dead end. This was the stage of my Ph.D. where I thought the most about quitting. I'm not a person who can use depression as fuel to bury myself in work (and I'm envious of people who can). I was not meeting the department's expectations and, worse, not sure I cared.

Eventually, I did the next "right" thing, which was turning my focus to a research problem I had devised on my own. There's a common thread in many Ph.D. success stories that are some variant on this turning point: some call it "going rogue" and some refer to it as the point when "you become the one teaching your advisor." It's necessary, but hard to give a how-to manual for it. In my case, there was another bit of serendipity: I talked frequently with my best friend who had recently completed his Ph.D. in the same research group, and he provided the encouragement I needed to pursue my own project idea. I also took up distance running with a group of highly motivated Ph.D. students (again, something I could do because my body and brain happened to get along with this activity, not at all true for everyone), which changed a bunch of things for the better: I improved my physical and mental health, I got a very concrete sense of gradual-but-clear improvement at a long-term activity (providing ample metaphors for Ph.D. progress), I had a group of people with whom I was working on something hard and rewarding, and I had an outlet through which to blow off the steam of anxiety that frequently built inside me. Truthfully, I used running as procrastination from work quite a bit during this time, but perhaps it played a similar role to a leave of absence: it helped me rebuild myself and put things into perspective.

The final turning point was when I stopped expecting internal collaboration to magically start working and sought it elsewhere: specifically, I reached out to Anne-Gwenn Bosser (Gwenn) after finding her work on topics I was interested in and suggested using tools I was familiar with to realize some of her ideas. Gwenn turned out to be an incredibly important mentor to me in the years to come and served as a vitally important external committee member.

Building momentum

At the start of 2013, three things happened at once, and they all changed my path so substantially that I can't rightly disentangle them to determine causality: I got another advisor, I started seeing a therapist, and I started dating the person I'm now engaged to. Among these things, the one that might actually be applicable to readers of this blog would probably be seeing a therapist. Of course, this depends on financial privilege and/or the goodness of your health plan. But I think it's drastically underrated and, honestly, if I had any say in it, I'd make grad programs cover therapy free of charge for all enrolled students who opted in.

A few comments about the other two changes...

Adding an advisor: this was my first advisor's requirement for pursuing my chosen thesis topic, since I was building on ideas I'd learned from advisor #2, and advisor #1 wasn't as well versed on them. It turned out largely for the better because advisor #2 is extremely good at being an advisor. I don't really see this experience as providing any usable advice, though, because "choose an extremely good advisor who cares about being good at advising" (a) may not be an option and (b) may not be deducible from preliminary introductions to professors.

Dating: romantic & domestic partnerships have substantial interplay with success in research (and other) careers, and I'm often quite frustrated when people pretend otherwise or don't even bring the topic up. Occasionally, you'll see a straight male professor quietly acknowledge his wife in the introduction to his book, or -- if he got his Ph.D. in the '70's -- he may even deign to mention that she did all of the typing! But it's undeniable that if someone else is doing the majority of domestic labor, you can free yourself up for undisturbed research in a way that you simply can't if you're single or (especially) the primary domestic laborer.

Since women in straight relationships are still largely expected to be the primary domestic laborer, it shouldn't be much of a surprise that whether or not being married helps your career is gendered.

I'm extremely fortunate that my partner was already well-versed in gender politics when we started dating, and we have managed to create mutually favorable terms in which we can pursue our careers in an equitable way. I'd encourage other academically-ambitious folks who might wind up in heteronormative relationships to keep in mind that social defaults are pernicious, and make sure you talk about expectations with your partner up front.

Final steps

The final steps of my finishing grad school were the thesis proposal and dissertation writing. There are two very concrete decisions I made in the process that I feel very good about:

I chose only nice people for my committee, and

I wrote my dissertation over a six week period during which I refused all other obligations. Six weeks was exactly the right amount of time to be able to put all else aside while still being achievable. I kept up regular (twice per week) therapy, as well as physical therapy (so, substantial exercise) during this time, and I made sure to get enough sleep and eat well. It seems to have worked.

So, those are the broad strokes of what got me through Ph.D. school. If you're curious to know about any of these pieces in more detail, especially if you're a woman or come from a financially-disadvantaged background, I'd be happy to talk about it by email (see my website for contact info).


  1. The domestic labor thing is so true. I couldn't be in grad school right now if I didn't have a partner willing to do basically ALL the cooking, cleaning, grocery shopping, etc. for a couple years.

  2. This comment has been removed by the author.

  3. This is very encouraging. There's hope for those who are planning to be a hubby, daddy and a phd candidate at the same time. Great article you wrote there and thanks for reaching out to us.

    1. Well, to be clear, I never said anything about being married or having kids while doing a Ph.D. -- that wasn't part of my experience. However, I know people who have done it (including the pregnancy part), so there's at least some evidence that it is possible!

  4. I'm lucky to have read this on the first month of my thesis (also in Interactive Storytelling); thank you for sharing your experiences with us! Greetings from Geneva.

    1. Forgot to ask: You mentioned that you wrote your thesis over a six-week period. How was your daily work/life routine during this time? I'm just curious about it. Thanks!

  5. Programming is very interesting and creative thing if you do it with love. Your blog code helps a lot to beginners to learn programming from basic to advance level. I really love this blog because I learn a lot from here and this process is still continuing.
    Love from Pro Programmer


Post a Comment

Popular posts from this blog

Using Twine for Games Research (Part II)

This preliminary discussion introduced my thoughts on using Twine as a tool for creating prototypes for games research. I'll start with documenting my first case study: a hack-and-slash RPG-like setting where the player character has a record of attributes ("stats") that evolve through actions that turn certain resources (money, health, items) into others. I've selected this hack-and-slash example because it falls outside the canonical "branching story" domain thought to be Twine's primary use case, but it is not too much trickier to implement. It relies crucially on the management of state in ways that simple branching stories would not, but it does so in a fairly straightforward way.

If all goes well, this post may also serve as a tutorial on the "basics" of Twine (links + variables + expressions). In particular, I'll be using Twine 2/Harlowe, and I haven't seen many tutorials for this new version published yet.

To me, the main "…

Why I don't like the term "AI"

Content note: I replicate some ableist language in this post for the sake of calling it out as ableist.

In games research, some people take pains to distinguish artificial intelligence from computational intelligence (Wikipedia summary), with the primary issue being that AI cares more about replicating human behavior, while CI is "human-behavior-inspired" approaches to solving concrete problems. I don't strongly identify with one of these sub-areas more than the other; the extent to which I hold an opinion is mainly that I find the distinction a bit silly, given that the practical effects seem mainly to be that there are two conferences (CIG and AIIDE) that attract the same people, and a journal (TCIAIG - Transactions on Computational Intelligence and Artificial Intelligence in Games) that seems to resolve the problem by replacing instances of "AI" with "CI/AI."

I have a vague, un-citeable memory of hearing another argument from people who dislike the…

Using Twine for Games Research (Part III)

Where we last left off, I described Twine's basic capabilities and illustrated how to use them in Twine 2 by way of a tiny hack-and-slash RPG mechanic. You can play the result, and you should also be able to download that HTML file and use Twine 2's "import file" mechanism to load the editable source code/passage layout.

Notice that, in terms of game design, it's not much more sophisticated than a slot machine: the only interesting decision we've incorporated is for the player to determine when to stop pushing her luck with repeated adventures and go home with the current spoils.

What makes this type of RPG strategy more interesting to me is the sorts of decisions that can have longer-term effects, the ones where you spend an accumulation of resources on one of several things that might have a substantial payoff down the road. In a more character-based setting, this could be something like increasing skill levels or adding personality traits.

Often, the game-…