Making the Most of Grad School for Programmers
Another week, another reader question! I feel pretty good about mostly sticking to this micro-commitment I made a while back. Today’s question is from a non-US reader planning to pursue a master’s degree in the US. Here’s the question.
I will be pursuing a 2 year masters in US. I will be using the time to build a solid profile and pursue better opportunities and it would be great to see an article about devs going back to college and how they must use the time and opportunity.
This is actually a subject near and dear to my heart. I earned a master’s degree in computer science, myself, working a full time job and getting the degree at night. During that time, I worked on interesting projects for school and got quite used to writing whitepapers and debating academic points. This blog actually started as a way to fill my time after graduation — I figured I’d just keep going on writing about topics related to software.
Anyway, I really like this question. It is suggestive of someone being deliberate about their career and a degree. I must confess that I kind of just went back to school with the idea that I fancied myself a person that should be more educated. I thought it likely I’d also go get a PhD one day because education. If I could go back in time, I’d approach the subject more like this reader.
I say this because it’s not particularly clear that earning a MS degree is, in and of itself, a path to money. There are some employers (especially the ones that do tuition reimbursement) that may confer a promotion upon completion of the degree, but I think this is becoming rarer. And, frankly, when I’m helping organizations hire or handle staff, a graduate degree doesn’t count for a whole lot these days in determining pay bands, particularly once people have a decent number of years of experience.
The question then becomes, if not salary, then what? And, is it worth doing?
Well, for worth, I really can’t speak to that. People may have all manner of different motivations, from vanity (e.g. my motivation) to logistics (e.g. it’s a way to come to the US and get a foot in the door). But what I can speak to is how to make the most out of your time in school. And I’ll do that here.
Be Strategic about Your Projects
Just about every class I took during the course of my degree featured a project whose duration was nearly the entire semester. A theme of grad school seemed to be getting students to do lengthy projects. This course capstone served not only to synthesize a lot of the semester’s learning into one project, but also to introduce students to concepts broader than the classroom.
Some of these that I can recall included implementing an AI-driven project pair selector, creating a software/hardware tool that allowed us to read a car’s onboard computer, and building a utility that created a virtual guest VM appliance of a physical host. These are some legitimately cool and interesting projects. When I did them, our main goal in my groups was basically, “let’s build something cool.” But that was (mostly) before the days of Github and open source being common.
Now, what I’d encourage you to do is think of what you’d like to be doing after you’re done with the program. Who do you want to work for? What kind of work, exactly, would you like to do? In what domain would you like to work? Chart these things out.
Then, when you think you have a grip on the answers to questions like this, pick your projects accordingly. If you think you’d like to work for an automotive company, build that automobile onboard computer reader and put the code on Github. Tweet about it and generate buzz around it. See if people will submit pull requests. Run with it.
If you are deliberate about your projects this way, you can almost use your time in grad school as a chance to work on hobby projects that you’d never normally have time for. Of course, your ability to pick what you do is not unlimited, but you do have a surprisingly large amount of flexibility.
This might not be as geek-cred inducing, but it’s important. You’re going to be spending time taking classes with a lot of people, and, more importantly, working on projects with a lot of people. What I’m not advocating is that you go to campus events where they have mediocre booze and hors d’oeuvres and schmooze with other grad students. What I am advocating is that you make the most of your collaborative assignments.
If you can, identify people to work with who seem bright and promising and who, ideally, might have connections or interests that align with what you want to do. Work hard, get good grades, and make them feel as thought partnering with you was a great decision. Connect with these folks on social media and stay in touch every now and then.
That’s really all you need to do. If they look favorably on your work and you don’t just hit them up when you want something, you’ll leave your time in grad school with a good rolodex of people that will be willing and able to help you down the line.
Choose Classes Wisely
This is probably where you think I’ll say, “pick the classes that will make you the most marketable.” That’s certainly an option, and I don’t think it’s bad advice, but it’s not the advice I’ll give here. Instead, I’ll be a little bit broader: take the classes that excite you.
If what excites you is the prospect of making a lot of money, then, by all means, take the classes that you think will help you do that. But if you really like the idea of experimenting with robotics or geeking out about algorithm theory, take the classes that let you do that. In the first place, you’ll probably have a lot of set classes that you have to take, so your electives will be relatively and precious few. In the second place, the more you’re pumped about a class, the better a grade you’re likely to earn, which is good for networking, prof approval, and your resume. And, in the third place, the key to really getting ahead in life is to align your interests with your ambition.
If you really, really like robotics, it won’t matter terribly whether robotics is the most marketable thing you can do. You’ll get into it, get excited, and innovate, and when you’re doing that, you’re more likely to be impressive. That enthusiasm will lead you to be remembered favorably and will open the door to new opportunities.
Finish What You Start
I’ll close with one final piece of advice. If you start grad school, finish it. A master’s degree is not as much of a commitment as an undergrad degree or a PhD of any kind. A professional degree is the kind of degree that you can bear down and manage, even if you feel overwhelmed.
During the years I was getting a degree at night, I certainly felt overwhelmed at times. When I wasn’t in classes, my full time job honestly felt like a vacation. It was a lot. But you’ve got to stick it out.
It’s not just that it’ll look better on your resume to finish than to list a handful of classes. It’s not just that another degree might help you stand out a bit, even if it’s not clear how much. And it’s not just that starting and not finishing would be a huge waste of money. Those things are all true. But, if you look at it as starting your story about hard work, extra projects, humans met, and classes taken, it looks a whole lot better if you cap it all off by showing that you can deliver on your commitments.