Is Software Engineering Still a Good Career Path?

The landscape for software development is changing dramatically

When I started as a software developer in the late 90s, the tech industry was booming. Opportunities were plentiful, salaries were skyrocketing, and it seemed like the good times would never end. Fast forward to today, and the landscape has changed dramatically. As a parent of college-age kids with technical inclinations, I find myself questioning whether software engineering is still the golden ticket it once was.

Let’s examine the current state of affairs:

The job market has shifted significantly. While online forums often paint a rosy picture, the reality is more complex. Businesses, once obliged to pay top dollars for tech talent, now have options available to reduce costs. Low-code solutions, offshoring, and mature, configurable packaged software are all strategies employed to minimize the need for high-priced developers.

Moreover, there’s a perception problem: developers are often viewed as arrogant and overpaid compared to their business counterparts. Rightly or wrongly, this has led to a certain level of resentment within organizations, further complicating the relationship between tech and business.

On the supply side, we’re seeing a massive influx of new talent. According to the Wall Street Journal, the number of U.S. students majoring in computer and information science has jumped 40% in just five years, surpassing 600,000 as of 2023. This surge in graduates is creating a more competitive job market, especially for entry-level positions.

But perhaps the most significant factor changing the landscape is the rise of generative AI. While still in its early stages, AI is already radically altering how software development is done. Developers who can effectively leverage these tools are seeing dramatic productivity gains – some report improvements of up to 10x. This leap in productivity is narrowing the gap between average developers and good developers, potentially commoditizing certain aspects of software engineering.

So, we have a situation where supply is increasing rapidly, productivity is soaring due to AI assistance, but overall economic growth is at normal levels. It doesn’t take an economist to see that this equation doesn’t bode well for the job market.

Optimists argue that there will always be demand for innovation, and software engineering is at the heart of this innovation. However, this argument fails to recognize that most software engineering jobs aren’t focused on groundbreaking innovation. The majority of business-related software development involves relatively routine tasks: displaying data, capturing input, applying business rules, and storing information. These are precisely the types of tasks that are most susceptible to AI-assisted development and automation.

Given these trends, I believe the outlook for software engineering as a career is challenging. We’re likely to see increased job market saturation, with competition for positions intensifying. The most rewarding opportunities may shift towards highly specialized roles that are less susceptible to AI automation. In many ways, software engineering could follow the path of hard sciences, where many jobs become predominantly academic, with fewer industry positions available.

This shift will likely have global implications. Emerging economies, which have benefited from outsourcing trends in recent decades, may be hit particularly hard by these changes; labor cost arbitrage is less compelling when AI can make nearshore or domestic workers more productive.

It’s with this perspective that I’ve made the difficult decision to advise my own children against pursuing computer science as a major or software engineering as a career. While it may seem counterintuitive given the current demand for tech skills, I believe the long-term prospects are concerning.

To be clear, I’m not suggesting that software engineering will disappear as a profession. There will always be a need for skilled developers. However, the days of it being a reliable path to a high-paying, secure career may be coming to an end.

For those considering a career in software engineering, it’s crucial to enter with eyes wide open. The field is undergoing a profound transformation, and success will require constant adaptation, specialized skills, and the ability to work effectively alongside AI tools.

As we look to the future, it’s essential for educators, industry leaders, and policymakers to recognize these shifts and adapt accordingly. We need to ensure that we’re preparing the workforce not just for today’s job market, but for the realities of tomorrow’s technology landscape.

The software engineering world I entered in the 90s is gone, and it’s not coming back. The question now is: how do we navigate the new reality that’s taking its place?