As a professional software engineer, the question of going back to school can often cross your mind. And this brings up some related questions: Is it worth it? Should I do it now or later? Can I juggle work and school?
I’ve personally done this twice. I joined Microsoft straight out of college, and a couple of years later I started the UW CSE Professional Master’s program. Then a few years down the road I went back to UW for another masters, this time in Applied Mathematics. I enjoyed both programs and feel they have helped me in my career.
So as you can image I do think grad school is both valuable and feasible while holding a full time job. With this context let’s tackle the various aspects and questions around part time grad school.
Getting motivated
The first question to ask yourself is why you want to go to grad school. Is it pure knowledge that drives you? Are you trying to move up in your career? (e.g. promotion) or are you trying to move sideways? (e.g. management, research, a new specialized field).
In terms of pure learning the world has changed dramatically in recent years. Thanks to MOOCs (Massive Open Online Courses) and other online resources, it’s now possible to learn a huge range of topics for free or at a very low cost. However, there are a couple of downsides to MOOCs when compared to traditional school programs:
- The convenience of MOOCs cuts both ways. It’s very easy to start, but it’s just as easy to quit. When life happens it’s easy to miss a few classes or assignments and quickly spiral down into dropping the course. In contrast a master’s or PhD program provides a much stronger commitment and forcing function and this should not be underestimated.
- A few courses or even a certificate/mini-degree doesn’t carry the same credibility as a traditional program. This may be particularly relevant if you want to move into positions that require an advanced degree.
And don’t get me wrong, I love MOOCs and have gone through several myself which I cover in the post: Software Engineering to Machine Learning. I just think they are a tool that serves a different purpose to grad school, even if there is some overlap.
When it comes to advancing your career I definitely think grad school can help in a big way. Note that in most companies, getting an advanced degree will not automatically yield a promotion or raise. Instead you’ll have to leverage the acquired knowledge and skills to make yourself a more valuable engineer and that may take a bit of time. However, the flip side can often be true: there are positions which require a Master’s or PhD and these doors will open for you once you graduate.
Getting started
I’m going to focus on the scenario of keeping your full time job while going to school part time, since that’s where my experience lies. You can start by understanding your options in terms of both the schools and your company:

Schools:
- What are the options for part time students? Many universities offer programs specifically tailored for working professionals. For example, they may stream the lectures so that you don’t have to commute. Or perhaps the classes are in the evenings. Being in such a program means that your classmates will be in a similar situation to yours. This can come in handy when you have to do team projects. It is also interesting from the perspective of meeting other professionals in your industry. Both of the masters I did were this type of program and I benefited from all of the above.
- What is the program’s policy for taking leaves? Life and work can get busy, so having the option of taking a quarter off can be a big benefit. I actually took a year off from Applied Math when my second son was born. Both my wife and I were glad I did!
- What’s the cost? Be sure to check the eligibility for in-state status as the tuition for out-of-state can be 3X more expensive. Also note that if you are on a work visa that can often put you in out-of-state status regardless of how long you’ve lived in the state. I was in this situation and even with Microsoft’s tuition support I was paying some tuition out of pocket.
Company:
- I’d encourage you to discuss your educational goals with your manager. This shows that you are driven, plus your manager’s support can be important. For example, you may need a letter of recommendation or some schedule flexibility once you are in. Don’t have a good and supportive manager you can trust? Then you should find another manager! But that’s a topic for another post …
- Is there a tuition reimbursement program? Find out as much as you can about the guidelines, reimbursement limits and eligibility criteria. If not, does your department have a training budget that could cover some of the cost?
- In particular if you work for a large company, try to find other people attending the same university or even the same program. This can help with things like carpooling or selecting teammates that may live or work close to you and have similar schedules. This is also a good networking opportunity.
After you’ve figured all of this out you are ready to select a program and apply. This should be pretty straightforward, but note that there may be a few things that are different for you vs a full time student just coming out of college. The first is that you may have lost touch with your professors, so it could be a little harder to get letters of recommendation from them. A good alternative is current or previous managers and most professional graduate programs will gladly take letters from them. Another is that getting your official undergrad transcripts can take some time, in particular if you studied abroad as they may need to be shipped and perhaps translated. So know the admission deadlines and allow yourself plenty of time.
Also take a look at the admission requirements and don’t be afraid to ask for flexibility. For example, when I went back to UW for my second masters I was able to use my old GRE score even though it was officially ‘expired’. One reason is that by then I already had a graduate degree from UW, but the point is it never hurts to ask.
Getting through
The last few pieces of advice are about making it through the program and getting the most out of it.
First of all, enjoy it! Yes, sometimes there will be a lot of work, but remind yourself you are getting a chance to improve and learn in a field you like. Part of this is being intentional about the classes you take. This is something I didn’t do quite right. Some quarters none of the classes offered were something I was passionate about, but I took one of them anyway because I wanted to keep making progress. In retrospect I could have waited for the classes I really wanted to take, event if the degree would have taken longer.
Try to find synergies between work and school. Provided there are no IP or confidentiality issues, you might be able to use part of a work project for a class or create a work stretch goal based on what you are learning. For example, I did this by doing an algorithm analysis for a feature I was implementing at work and presenting this analysis as part of a class project. Just be open with both your professors and your management about this.
Finally, give yourself as much flexibility as you can. Perhaps you can worry less about grades now vs college? (I did). Are you really short on time? Ask if you can implement your class project using whatever language you use at work (it’ll be easier). Have you been meaning to learn some new language or technology? Do your next class assignment with it! For my NLP class I did all my homework in F# as a way to learn the language.
I hope you find this useful. If you have any other questions about this please leave them in the comments. Happy learning!
Hi, Thank you so much for sharing your experience. I am a new hire SDE in a big company and I am thinking about applying the same CS program as you did. The biggest concern for me is I am from Math and Stats background and don’t have too much CS background. Will it block me from getting admitted into this program?
Thank you!
Hi Stephanie, glad you found this helpful. I don’t think you’ll have a problem with your background. I was in a ver similar situation because my undergrad is in Physics. Best of luck and don’t hesitate to reach out if you have any other questions.
This was a really great read and definitely felt like a breath of fresh air — especially compared to what sometimes feels like overarching opposition to pursuing further graduate studies when one has already secured a software engineering position and made some progression in their career 🙂 I’ve just hit over one year in my first full-time software engineering role after college and find myself wanting to go back to school as well.
A few questions — what led you to pursue two masters degrees instead of a PhD?
And RE: “I’d encourage you to discuss your educational goals with your manager”; what are some tips for feeling out how appropriate it may be to bring this topic up with manager? While I’d hope my manager would see this as a positive thing, I can’t help but worry that embarking on a graduate program may come off as negligence when it comes to my work duties and my ability to give it all to the team and to whatever deliverables/projects are on the horizon. Almost a betrayal of sorts.
Additionally, what are your thoughts on taking a leave of 1-2 years from full-time work to pursue a MS in CS full-time instead? Does the gap in income (and delay of career growth and development of critical technical & leadership skills) make this a very bad idea?
Hello Rose,
Glad you liked the article! Regarding your questions:
Re – Ph.D.: I thought about this a lot! The biggest factor was that it’s much easier to do an MS part-time than a Ph.D. The other was that I was working at Microsoft Research, so I felt like I was already getting some of the exposure to research that a Ph.D. program would have (certainly not all). I also realized I didn’t want to become a researcher.
Re – talking to your manager: This is a tough one, so let me give you some factors to consider to decide how to approach it:
– How good is your relationship with your manager? How much do you trust him/her?
– How’s your job performance? This is an easier conversation if you are performing great and getting good feedback. Do you have time outside of work to devote to studying? A lot of my schoolwork took place on nights and weekends.
– What’s the culture around advanced studies in your team/company/country? I’m from Mexico and I can see this being perceived differently there vs the US. Are there any teammates with advanced degrees and can you identify how this helps them in their work?
– Does the company have a tuition reimbursement/support program?
You could also test the waters by proposing taking an online course and gauge the reaction.
Re – leave of 1-2 years: This is definitely a viable option. From a career progression perspective, I think you can ‘afford’ a couple of years, in particular since you’ll be studying CS. I.e. no one will look down on your resume because you’ve been in grad school. The money aspect is highly dependent on your income and the rest of your financial situation, so it’s hard to comment without getting into specifics. But taking the leave has the added benefit of giving you the full grad school experience, which is something you don’t get as a part-time student.
Best of luck and don’t hesitate to reach out if you’d like to talk about this in more depth: https://codepointers.com/tech-career-consulting/