How to Stay Sane while Completing a Part-time Masters with a Full-time Job

How does one balance working full-time, completing a master degree part-time while switching jobs and getting married? I was able to do all this and I’ll share what worked for me in this post.

If you’d like to jump straight to the tips that helped me get through the program click here.

My situation isn’t uncommon - a lot of students in the program I completed, 87% in the Fall 2022 survey, work while completing their degree. It can be impractical for people already in the workforce to take 2-3 years off to study on campus, especially with the current state of the job market. During the pandemic, I decided to enrol in an online masters program. After talking to a few friends, I decided that the OMSCS program at GeorgiaTech would be the best fit for me.

Why Georgia Tech?

The Online Masters of Science in Computer Science program, or OMSCS for short, was established in 2014 by the College of Computing at Georgia Tech as a way to leverage distance learning to provide an affordable high quality accredited education to interested individuals. The number of accepted students in the program has increased since its inception with the organization prioritizing a steady expansion of the program while keeping an eye on the quality of education. Effectively providing a great education to more and more folks each year. That’s a win in my book!

With more traditional programs there’s a low acceptance rate and high completion rate for students in the program, OMSCS has this flipped. The difficulty of distance learning and the lower barrier of entry for the program makes it easy for people to get accepted but difficult for them to complete the program. As a recent alumni I have firsthand experience with this, I would often have tests line up with work deadlines and school projects conflict with family gatherings. It was a tough balancing act but in the end it was worth it. I was able to learn a ton about computer science, how to manage my focus better and more than double my salary while in the program by leveraging the knowledge I gained from the class.

Dr Sebastian Thrun gave a speech at my commencement! Unfortunately I could not be there in person. Image from his speech

Who is a Part-Time CS Masters for?

I find there are two groups1 of people that benefit the most from the program:

  • People looking to switch into software development who benefit from the legitimacy a computer science masters degree provides.
  • Folks trying to deepen their knowledge in field of computer science.

I fell into the latter group, in my first job out of school I struggled to keep up with the rest of my team. I was working on the perception team at a well known Canadian robotics startup. Most of my colleagues had PhDs in robotics and were using what they knew to tackle harder problems. I would end up spending evenings and weekends reading up on the concepts brought up in meetings to keep up with the team. When I found out about the program it looked like a great way to cover a lot of ground in a structured way and catch-up to my colleagues.

My first course in the program was the Artificial Intelligence course and I noticed in the months afterward that it was much easier to follow along and contribute meaningfully to the discussions that would happen at work. A year into the program and I was starting to introduce the team to new ways of problem solving. When I was interviewing for my next job, the things I learned helped me land 3 offers on very strong teams. Next, I’ll share what I did to survive.

Tips

For anyone considering the OMSCS program, or some other online Computer Science(CS) masters program, I can give a few tips on what worked for me over the years.

  • Decide on why you’re in the program
    • Before starting the program I decided personally that throughout this degree I had two goals: Improve my knowledge of CS/Machine Learning(ML)/Computer Vision(CV) fundamentals while prioritizing my health and relationships. As the terms went on, these informed how I approached course selection, decisions on how to manage my time and even how I approached Large Language Model(LLM) usage in my schoolwork. I recommend deciding for yourself why you’re doing this program, your reasons can change during the process but it’s a great way to stay motivated and help make the right choices for you.
  • Pace yourself
    • If you have a limited amount of time to work on school work limit yourself to one course a term. If you have more bandwidth, I would recommend pairing two courses with different kinds of deliverables. I would avoid working on two courses with software as deliverables. If you write code in your day job it can get overwhelming coming to write even more code.
  • Don’t skip difficult courses
    • Don’t let scary reviews on OMS Reviews dissuade you from taking more challenging courses. They can often be very rewarding, both CV and ML were critical in forming a foundational knowledge that use regularly at work. Courses like DL helped me get more comfortable reading academic papers. I would have missed out on these learnings if I skipped these courses or substituted them.
  • Make Flashcards
    • These were the best study tools for me, I would build out the flashcard decks using Anki and review them ahead of quizzes and exams. I tried to write the questions for these in tricky/complicated ways to ensure that the concepts stuck. This was because I found some course would deliberately ask questions in more complicated ways to ensure that the concepts were understood, I’m looking at you Intro to Graduate Algorithms.
    • The flashcards also doubled as great interview prep material!
  • Take breaks
    • If you anticipate a major life event or need to recharge and touch grass, I recommend you take a term off. I took a term off roughly every 2/3 terms and it did wonders for my mental health. It also allowed me to have vacations with my wife and spend more time with family. During those terms off I would actually find myself missing school work and I would be rejuvenated at the start of the next term.
I spent a few weeks working from Mexico City during a break from school, I loved my time there.
  • Ask for help
    • There different avenues to find assistance if you need some. Search the forums, the slack, try to attend office hours or watch the recordings. You can also post a question on the class forum and get support from class mates or TAs. Try to post questions early because it might take a while to get an answer. If nothing works and you’re pressed for time you can consult an LLM tool, just make sure your use falls within the academic guidelines.
  • Drop courses(early)
    • If your life circumstances change early in a term and you think you won’t able to get the grade you need, drop one or more courses. As a working OMSCS student, you only have so much bandwidth . Save your notes from the course and enrol in the course the following term. Try not to make this a habit, you’ll only delay completing the program.
  • Don’t use ChatGPT*
    • A great benefit of a masters program is the focus on reading a research papers and textbooks, LLMs let you skip this process and still answer questions at an ‘acceptable’ level. I consider myself fortunate not to have any exposure to these tools until I was in my final year. I think they can often become a “crutch” for tired students especially with coding projects and assignments. I think students in a CS master’s program should be able to write their own code and read core course texts.
    • This is not to say that there’s no use for these tools, I found them to great for review assignments ahead of submission as a good way to ensure that you’re in alignment with the rubric. Sort of an early marking tool. They are not foolproof at this though, as I discovered the hard way.
  • Try something new
    • Try to use OMSCS as way to explore new topics or ideas. I didn’t know anything about computational photography going into the program and was skeptical about the need for such a course when there’s a CV course also being offered. It ended up being my favourite partly due to the instructor… but also because to the content itself, it was really quite interesting! I found the course on Human-Computer Interaction from Dr Joyner to also be quite excellent and it really changed how I look at design.
  • Connecting with classmates
    • Don’t forget to connect with others struggling through the degree. Join the unofficial class slack and contribute to the discussions. Answer questions on class forums and look through the program subreddit. There are often ways to meet in person as well if you can seek them out, Linkedin was a great way to find other students in the OMSCS program in my city.
    • The program also has group projects, these can be a good way to grow your network and meet new people that you have at least one thing in common. I got a job referral from someone I worked on a group project with!
Ramblin Wreck Replica, image by wikimedia user Pseudo-Seneca licensed under [CC BY 4.0]

My time in OMSCS was very rewarding, I learned a lot about myself and got to stretch myself in new ways. I was also able to cover a lot of the fundamentals that I didn’t get in my undergraduate degree and this has truly paid dividends in my career. If you decide to follow a similar path I hope you find this writeup helpful.

I’d like to thank my friend who read drafts of post

  1. There’s another group of people I encountered in the program that surprised me, I call them lifelong learners. These were people that seemed to be in the program out of a love for learning. They weren’t switching industries or angling for promotions and they tended to be further in their careers. They seemed to be curious and I reckon were in the program just to learn, an example