Last week I submitted my application to Georgia Tech’s online Master’s program in Computer Science (OMSCS). I’ve been working toward that moment for the last year, preparing myself by taking many online courses in computer science fundamentals and carving out 15-20 hours each week for self-study. I’ve also gone deep into questioning whether a master’s degree is worth it, and whether this offering from Georgia Tech specifically is worth it for me.
For those unfamiliar with a career in software engineering, it’s important to understand a peculiar aspect of our industry: no degrees are actually required here. It’s quite a unicorn of a situation, to be sure. In one of the highest paying professions in America, no degrees are required to be successful! Many of my colleagues have been self-taught developers, coming from various other undergraduate programs — I myself am one. Some have not completed any college education, instead they passed through some sort of “coding bootcamp” where they’ve spent several weeks soaking up the essentials of writing software programs.
Honestly, this is one of the most endearing qualities of our profession: that anyone, anywhere — given the proper aptitude — can learn and make a comfortable living writing software. So why would anyone ever want to pursue a master’s degree in the thing?
Nuances of Software Development Industry
Taking a quick step back though, let me say this: the software industry is vast. In fact, I don’t believe there is a singular “software industry”. Rather — and because technology has consumed nearly every corner of our world — software development is necessarily a component of every industry. Sweeping generalizations like “master’s degrees are not worth it” or even “no degrees are actually required” are often only applicable to small subsets of the software career spectrum.
Some people write code for mobile games; others write code for nuclear reactors. The requirements for those two jobs are understandably different.
If you are looking for a “yes/no” answer to the question “Is a master’s degree worth it”, I’m happy to disappoint you. Frankly, there is no answer to that question, not without knowing the very specific niche you find yourself in, and even then only you can make the final assessment.
A Master’s Degree Opens Doors Otherwise Locked
It’s a fact of life that some career paths are blocked, gated in a way that unless you have a key you must find some other route. Of course, you don’t have to go through the locked gates to achieve your goal, but acquiring keys for those gates will definitely increase the number of paths to that goal.
A master’s degree in computer science unlocks many of those gates. Just take a look at job postings for “higher-up” positions in software engineering: many of them will list a master’s degree as a “preferred” requirement. Many other candidates for that position will have a master’s degree, by not having one you are at a disadvantage.
I recently laid out my 20 year plan to become a CTO (see: Zero to CTO: An Idiot’s Guide to Climbing the Software Ladder); I firmly believe there are many gates on the road to becoming a CTO, many of which are only opened with a Master’s degree. Of course, having a master’s degree does not obviate the need for professional experience — in fact there are many more gates locked for lack of experience than anything else — but it’s foolish to say that having a master’s degree doesn’t unlock some doors.
There is a huge student base at Georgia Tech
One of the less-sung advantages of the Georgia Tech program is the fact that the student base is huge. Because the program is incredibly affordable, available online, and because the admissions committee seems willing to admit anyone who is qualified without a hard cap, the program has several thousand current students.
For someone like myself, who will one day be in charge of building large software teams, the wealth of talent within the OMSCS community is remarkable. This is actually one of the biggest selling points for me, and what makes this program ultimately worth it: that if I make an effort, I can dramatically increase the size of my network within the software industry.
With apologies to all my friends in biology, I often like to re-purpose the evolutionary term punctuated equilibrium to explain why a choice like this makes sense. For much of our careers we found ourselves in a stable state, and often need dramatic events to mutate our career paths. Getting laid off, or being promoted unexpectedly into a role for which you feel way under-qualified, or being forced to take over a code base written in a completely foreign language — these events force us to adapt and ultimately change us much more effectively than any gradual, long-term efforts.
A master’s degree can be that kind of event, introducing a sort of punctuated equilibrium in our lives. I’ll be exposed to material I’ve never seen before, and be introduced to people I would have otherwise never known and I’m hopeful that these new forces will invoke a sort of evolution that would otherwise never happen.
In short, I do believe that the OMSCS program is worth it for me. It’s cheap (just about $8,000 total cost) and accessible, with it I can expand my professional network, and it aligns with my long term career goals. I’ve also already established a daily routine that leaves plenty of time to spend on coursework without sacrificing family time, so there really isn’t much of an added time cost to this degree.
If you are considering this program, I urge you to ask yourself the following questions:
- Are you prepared to spend 10-20 hours each week devoted to academic work?
- Does this program align with your long-term goals? (Do you have long term goals?)
- Are you willing to engage the student body, and not just attend class in isolation?
Ultimately, I can’t answer the question of whether or not this program is worth it for you, though I do hope my ramblings above provide a direction for you to come to your own conclusions. Good luck to all who are applying to this program!
Now all I need is that acceptance letter…