Why all programmers should earn their master’s

The wunderkind of Silicon Valley are rare.
The wunderkind of Silicon Valley are rare.
Image: AP/Eric Risberg
We may earn a commission from links on this page.

There exists a common misconception that working before graduate school makes smart career sense. Many assume that a higher degree will still be waiting after a few years in the industry and will be of greater value when bolstered with real-world, working experience. For software engineers, this may not be the best choice.

Working before returning to graduate school might be the best option for students who need immediate income or simply aren’t attracted to graduate study. But if your goal is to have a career as a software engineer, a one-year master’s degree program usually leads to better opportunities, career growth, and compensation. For example, starting salaries for engineers with a master’s degree can be as much as $17,000 more a year compared to those with a bachelor’s degree, according to Indeed.

The idea of returning to graduate school after a few years on the job also may be less feasible than expected. During my more than 30 years as a software engineer at Bell Labs, Intel, and Microsoft and then as an entrepreneur, I’ve met many entry-level engineers who intend to return to graduate school. In reality, few do.

The fast money trap

For a young adult with a computer science degree, having four years of college debt and a desire to eat something other than ramen noodles makes a salary tempting. And, opportunities are abound for engineers coming straight out of college with a bachelor’s degree. Companies are desperate for engineers to fill their ranks (and often to push out relatively overpaid engineers in mid-career); they will pay young talent what seems like a generous salary. In reality, these graduates often get a bad bargain.

During the years of student living, we become accustomed to its inherent financial limitations. However, along with a full-time job often come nice restaurants, a bigger apartment, a lease on a new car, and expensive toys, which are now affordable. While these luxuries were out of reach as an undergrad, they easily can become hard to give up. It may simply become too difficult to return to student life.

Then there are all the unexpected events that life brings: meeting someone, getting married, having kids. Suddenly, it becomes impractical to take the income hit required to head back to grad school, even if this helps build the skills needed for a career boost. Other responsibilities take priority. I have often encountered young engineers who entered the work force after a bachelor’s degree and lost the opportunity to return to grad school after a few years. It’s hard to see this trap looking forward, but it happens all too often.

The degree you need

Silicon Valley is paved with the myth of the software engineering wunderkind, a programming genius who reaches heights of success without a graduate degree or maybe even an undergrad degree. In reality, this wunderkind is rare. A far better choice for most people is to obtain the foundational knowledge and design skills required for sustained career growth.

While talented grads with a bachelor’s degree may have the knowledge necessary to fill an entry-level position, they often lack the in-depth knowledge and design experience necessary to take on challenging assignments that would lead to rapid advancement. By definition, the course work for a bachelor’s degree comprises a wide array of general studies combined with a limited set of major-specific classes. This provides the grad with important preparation for wide-ranging career choices but limited expertise in a specific field.

In contrast, a master’s level graduate program in computer science offers students the opportunity to tackle advanced topics, such as distributed computing and operating systems, and to obtain the design skills required to architect and implement complex systems and applications. This provides important preparation for a highly rewarding career in industry and the opportunity to progress past the middle-management ceiling into leadership roles. Early success in difficult projects leads to even higher levels of responsibility and faster career growth. The extra year in grad school earning a master’s degree can pay dividends over three decades. It also helps avoid a plateau mid-career—first in line for the next round of layoffs.

Unless you are pursuing a career in academia, a PhD (or even a thesis-level master’s degree) isn’t necessary and may take several years to complete. In fact, my experience after obtaining a PhD showed that this degree might be counter-productive in industry. It can create the stigma that an engineer is overqualified or unable to make practical design choices, and many new doctoral graduates command unrealistically high salaries given their relatively low level of work experience.

Stay in school

As the founder and CEO of an in-memory computing company, I look for candidates with the knowledge, skills and, design experience required to immediately take on challenging assignments. This lets them shoulder the responsibilities needed to make significant contributions to our company’s technology. In my experience, that almost always requires a master’s degree.

At the end of the day, whether and when to pursue grad school is a highly-personal choice, and everyone’s goals and perspectives are unique. That said, if the goal is to embark on a long and rewarding career as a software engineer in industry, earning a master’s degree immediately after college can offer the highest probability of success.