Back to School

Oct 16, 2021

Believe it or not, I haven't always been as passionate about programming and software engineering as I am today. I've enjoyed working with computers since a young age, but I didn't have much formal computer science education prior to my college years at Northwestern University.

While pursuing my bachelor's degree at NU, I often found it difficult to keep up with the coursework; not only did I need to learn the material for the class, but I also felt like I had to play catch-up with my peers who were much more comfortable working with a variety of programming languages, tools, etc. This was challenging to say the least, and by getting thrown into the deep end I often found myself struggling to stay afloat.

I stuck it out and earned my degree, and soon after started my career in software engineering. Over the years, I've worked on some amazing projects and have collaborated with developers who taught me how to be both a programmer and a professional. With this experience came renewed passion, and with that passion came a desire to learn even more. I've often found myself wondering what it would be like to revisit an academic environment with an actual understanding of how to read compiler errors (and how to properly use StackOverflow).

These thoughts are the primary reason I've decided to enroll in Georgia Tech's Online Master of Science in Computer Science (OMSCS) program. I spent some time weighing different options and alternatively considered just continuing with unstructured learning, but ultimately I chose Georgia Tech's offering for a few reasons:

  • The course selection is excellent, as you would expect from a top-tier institution. I think there is a nice balance between practical courses that I could apply to my current work and topics that would broaden my understanding of the field.
  • The course format seems well-structured for working professionals. I know these courses will take up a significant portion of my free time, but they seem to be organized in such a way that little to no synchronous work is required. Lectures, projects, and tests can all be successfully navigated on just nights and weekends.
  • The cost is significantly less than most other graduate degree programs, by a factor of 5 or more, in fact. In most cases, a master's degree isn't necessary for software engineering positions, so it was difficult for me to justify spending $50k on a degree when it might not even make a huge difference in my overall compensation or career path.
  • The student community has a strong online presence. Of all the programs I looked into, I found the most information about OMSCS simply because of public student forums such as Reddit's /r/OMSCS and These unofficial resources give a lot of insight into the courses and professors, and many other universities don't seem to have equivalent resources in terms of content or active users.

At the end of the day, I'm mostly pursuing this degree to learn and not just to get a credential. There's a very real chance I might not make it out; from what I've seen most students who start the OMSCS program don't finish it. However, I don't have much to lose by trying, and at the very least I will hopefully grow both as an engineer and a person from the experience.



Return to Blog