As someone with a long history of creating applicatyions and services, I've been pondering the future of software engineering in the age of AI. It's a topic generating a lot of buzz, with some claiming AI will replace software engineers entirely. But let's take a step back and look at the bigger picture.
Throughout my 30-year career in software, from small scholarly projects to the largest federal government initiatives, one thing has been constant: writing code may be difficult, but the most challenging aspect of any project is defining what you need to do and why.
AI represents the biggest shift in software engineering since the field emerged. But I think this change will be much more evolutionary than revolutionary. The Bureau of Labor Statistics projects a 25% growth in demand for software engineers by 2032. At the same time, industry leaders like Matt Garman , CEO of Amazon Web Services, predict dramatic changes in the nature of our work.
So, what's really changing? The focus is shifting away from the know-how of writing code to include a deep understanding of domain knowledge and the fundamental purpose of the software. In other words, we're moving from just the 'How' to emphasizing the 'What' and 'Why'.
AI excels at the 'How' of things, particularly with coding. The nuance of an algorithm or elegance of a set of function calls will likely fade into the domain of AI. However, the 'What' we're trying to accomplish and 'Why' it's important will remain the domain of humans for the foreseeable future. Particularly with the humanitarian and climate work we do at Data Friendly Space, the 'What' and 'Why' will always be the most valuable skills for a software engineer.
The 'Why' of a project has always been the most critical aspect. It's what we call First Principles in startups, and in nonprofits, we call it mission and vision. I'd argue that the 'Why' may be the only true value in any initiative. I've personally dedicated my career to understanding the why, so when I look at the rise of AI, I couldn't be more excited for Software Engineers. The future of all software engineering projects will be radically more collaborative and, if we do it right, revolutionary in its impact.
The 'What' is equally complex. Anyone who has developed user requirements or a project plan knows how challenging this can be. We spend at least as much time on the 'What' as we do on the 'How', and I don't see that changing anytime soon. Again, developing the 'What' within a group is a deeply community-driven experience of normalizing priorities, uncovering assumptions, and aligning on goals.
Taken together, the 'Why' and 'What' are what we mean when we talk about the 'Alignment' problem of AI. To actually realize the benefits of AI, it has to be deployed in alignment with human values and goals. Before we can do that, however, we have to realize and agree on what those are ourselves. Working through this process could be one of the defining moments in human culture, and I see changes coming for software engineers to be a core part of the transition.
So, I agree that software engineering will change dramatically, but toward a much more human process. We'll see a sharp rise in demand for software engineers, with human engineering implicit in the job description.
To those anticipating cost savings by reducing their software engineering workforce, think again. Most organizations will need as many engineers as they have now, if not more. They'll just be able to accomplish more, assuming we understand 'What' we are trying to accomplish and 'Why' it's important. The key is to prepare for the shifting needs of the profession, helping existing engineers skill up in new areas and recognizing the evolving traits of top-tier software engineers in hiring. It's also likely that we will see as dramatic a shift in every other aspect of our organizations and society. Everyone, not just software engineers, will need to work together much more closely and clearly focus on our core goals.
Let's embrace this new era by focusing on what makes us uniquely human - our ability to understand complex domains, define meaningful problems, and create solutions that truly matter. The future of software engineering isn't about being replaced by AI; it's about leveraging AI to enhance our human capabilities and drive innovation for the greater good.
What's your take on the future of software engineering? How is your organization preparing for this AI-driven transformation?