Back when I was deciding what to do about grad school, I found hearing what others did and why to be incredibly helpful. I hope I've been able to return the favor to others along the way. Having officially finished grad school not too long ago, I thought I'd take a moment to tell my story in the hopes that it will help others. Most of the people I talked to said something that boiled down to "do what I did." In this post, I'll continue the tradition.

Should I work first or go straight to grad school?

I worked first. I stressed out about this decision a lot.

A lot of people said if I didn't go right into grad school after undergrad that I would never get around to it. They said I'd get too used to the paycheck, or that I'd start a family and never have the chance to go back, or that it's hard to get accepted if you don't go in right away.

Some of the best advice I got was actually during a job interview, where I mentioned that I was still trying to decide which way to go. My interviewer told me that if it was really important to me to go to grad school, nothing would be able to stop me.

So I went to work keeping in mind that it was temporary and that I would eventually go back to school. I took advantage of tuition reimbursement to take some graduate courses and get a better idea for what I wanted to focus my research on. I saved money.

As far as the initial concerns go, someone told me that going back to grad school sometimes meant taking an 80% pay cut. That's actually in the ballpark of what I took. It wasn't actually as bad as it sounds though. If anything, I think my standard of living actually went up. First, that number is only counting my grad student stipend. I supplemented it with summer internships and some of my savings. Second, the cost of living in Bloomington was way less than it was in Redmond.

I didn't have a family in grad school, but I have friends who did. Some either were married or got married. I think a few even had kids, but that was less common. To be honest, I have no idea how they did it. But, in keeping with the "everyone says to do what they did" philosophy, they'd probably tell you it was wonderful.

I think getting in to grad school may have been harder because I didn't do it straight out of school. Definitely keep in touch with professors from undergrad, since they will be a huge help for letters of recommendation and stuff. I doubt me working was really the challenge though.

So what was the benefit of working? I think the biggest thing for me was the experience I gained. I was a far more capable programmer after working full time as a software engineer for three years. In college, the largest programs I ever worked on were around 5,000 lines. In industry I learned to handle codebases with millions of lines of code. I also got way better at using the debugger. There was very little in undergrad that I couldn't fix with printf. In industry I spend the majority of my time in the debugger. This experience made most of the homework assignments feel trivial, especially the ones that had significant amounts of coding. I got that sense that among my friends, those who also had worked first had similar benefits compared to those that didn't.

Of course, writing a thesis is a whole different beast.

Another benefit is that having worked before, I knew what it was like. There were definitely times when I found myself thinking "why am I still doing this? I just go get a job and things could be so much easier." It helped that I knew I had made a choice to leave my job in order to get a Ph.D.

Was grad school worth it?

Definitely. I had a ton of fun with it. I'm definitely glad to be done with it, but I'm really glad I did it.

Staying up to date with and contributing to the state of the art in computer science was exciting. I got to meet a ton of interesting people and do a surprising amount of travel. I got to explore a ton of different ideas. I loved the amount of ownership I had in my own work. You get a ton of flexibility in how and where you spend your time.

Of course, this flexibility worked the other way too, in that I pretty much always had school work tugging on the back of my mind. Even on school breaks, I always had this nagging feeling that I could be doing something towards my dissertation. The concept of normal working hours seems largely missing from academia.

I'm really glad to be able to say I finished a Ph.D. You lose sight of this in grad school, since most of the people you see on a daily basis either have a Ph.D. or are working on one, but this is something that very few people accomplish.

Even though I'm not primarily doing research anymore, I think my time in grad school opened up far more interesting work to me and given me a much richer set of tools with which to do it.

What about afterwards?

Just like how in undergrad the big question was "do I go to grad school or work?" the question in grad school is "do I go to academia or industry."

I chose industry.

I think the question ultimately came down to "what do you most enjoy doing?" A big part of grad school and academia in general is publishing papers. I really enjoy the finished product. I like seeing my name on a paper, and I like how official everything looks. I love going to the conference to present it, and being able to talk to people about the exciting things we got to do in the paper.

That said, I hate the paper writing process. Conference papers are typically due on some date anywhere on Earth, which worked out to around 6am in the time zone I was in. We always said we'd try to finish the paper sooner, but of course we used every available minute we had.

Maybe paper writing would be different now. Some of my coworkers recently submitted a paper, and I mentioned how much I didn't like pulling all nighters for papers in grad school. My coworker responded, "we are not in grad school anymore."

Anyway, the other thing I realized professors spend a lot of time doing is writing grant proposals and finding other funding. This is also something that I don't enjoy doing.

Eventually I realized that in academia my career advancement would depend on my least favorite parts of grad school. Instead, I enjoy writing awesome code, and this seems to be much more what industry rewards.

Overall, grad school was a lot of fun, and I'm glad I did it. I got to learn a lot, explore a lot, and get to know a lot of different people and communities that I might otherwise not have.