Much has been said about how GenAI and Low Code platforms are set to replace software engineering as we know it. And while it’s true these technologies can already generate large volumes of code, the reality is far more nuanced.
The 80/20 Reality of Code Complexity: Software engineers typically spend 80% of their time on just 20% of the codebase - the most complex, business-specific logic. This "last mile" of coding is highly tailored and nuanced, making it the hardest to automate. While GenAI can generate the more routine 80% of simple code, the actual time saved is modest because that portion represents just a fraction of the engineering effort.
Coding Is Just 25% of the Job: Writing code is only a quarter of what developers actually do. The remaining 75% is consumed by meetings, debugging, waiting for requirements, updating tickets, reviewing PRs, handling Slack or Teams messages, explaining tech debt, managing deployments, and context-switching. Even if AI revolutionizes the act of coding, the majority of the engineering workload remains untouched.
The Debugging Bottleneck: AI-generated code introduces a new kind of overhead. When things break - as they inevitably do - developers are left to debug unfamiliar code they didn’t write. Prompting improvements quickly hit a wall, and understanding auto-generated logic can be time-consuming. Ironically, this can offset the initial time saved by automation.
The Vanishing Junior Developer: As AI takes over routine coding, demand will shift to skilled engineers who can handle edge cases and fine-tune AI output. But this raises a concern: how will developers become experts without cutting their teeth on simpler tasks? Without the experience of building, breaking, and learning, the pipeline of future talent could be at risk.
Software Engineering Is All About Trade-offs: Engineering is the art of balancing competing priorities - performance, cost, maintainability, user experience, and more. As systems become more sophisticated (think AI, big data, always-on real-time services), architectural decisions grow more critical. These decisions often require hands-on technical depth and cannot be left to automation. For more on this see my blog "Trade-offs Are Inevitable in Software Delivery - Remember the CAP Theorem" (https://bankloch.blogspot.com/2024/04/trade-offs-are-inevitable-in-software.html).
While these nuances make it clear that software engineers aren’t going anywhere, their role is undeniably changing.
Some parts of software engineering are likely to disappear fast:
Scaffolding and boilerplate code: Basic frameworks and setup logic will be automated.
Documentation: Much of it will be generated directly from the code.
And some parts will evolve:
Requirements gathering will become more interactive, driven by rapid prototyping.
New specializations will emerge, such as automatic code migration of legacy stacks, transforming AI prototypes into products, tuning AI-augmented business solutions via prompting, optimizing code for specific non-functional requirements (cfr. my blog "The Hidden Potential of AI: Minimizing Resource Consumption in Software" - https://bankloch.blogspot.com/2024/12/the-hidden-potential-of-ai-minimizing.html)
Automated testing: Unit and integration tests will be AI-generated, but still require human validation and tuning.
Finally as software will become easier to build, it is likely that open source will also move up the value chain. Traditionally focused on low-level components (OS, databases, logging, etc.), open source is increasingly expanding toward business-oriented systems. This will require a new kind of developer - one who can customize open-source solutions for specific organizational needs while actively engaging with the community to maintain the solution. Cfr. my blog "Unlocking Business Value: Moving Beyond Low-Level Programming" (https://bankloch.blogspot.com/2024/10/unlocking-business-value-moving-beyond.html) for more info.
In short, while coding itself may become increasingly automated, the ability to understand business context and make sound architectural decisions will be the real differentiator. Those who understand the "why" behind the code will continue to lead.
Comments
Post a Comment