Generative AI’s Impact on Developers

There is a growing belief in the developer community that future software development will be performed by machines rather than humans by 2040. Software development will undergo a radical change with the combination of machine learning, artificial intelligence, natural language processing and code generation that draws from large language models (LLMs). Most organizations believe that there will be a 30-40% improvement in overall developer productivity with AI. While these arguments have some merit, I do not believe developers will be fully replaced. Instead, I believe generative AI can augment developers to support faster development and higher-quality code.

I’ll address the impact of generative AI on the development community under three pillars:

  • Automation and productivity
  • Quality engineering and compliance
  • Ways of working

Automation and Productivity

  • There will be a focus on increased automation all the way from business planning to operations of applications.
  • LLMs can help provide better alignment of user stories to business requirements. In fact, one of the best use cases for generative AI during planning phases is to auto-generate user stories from business requirements documents.
  • Since ambiguity of requirements or guesswork is taken out of the equation, one can expect a clearer “definition of done” through the auto-creation of acceptance criteria.
  • In a typical development cycle, 15%-20% of coding defects are attributed to improperly defined requirements. Generative AI augmentation can result in significant reduction of those defects.
  • Generative AI augmentation can help developers with better planning and estimation of work. Rather than relying on personal experience or home-grown estimation models, LLMs can better predict the complexity of work and developers and continually learn and adapt through multiple development sprints.
  • AI-augmented code creation can allow developers to focus on solving complex business problems and creative thinking rather than worrying about repetitive code generation. Over the last decade or so, the perception of software development as a creative pursuit has been a dying phenomenon. With AI, I think that more and more younger developers will be attracted to the field. AI will put the “fun” back in coding.
  • AI-assisted DevOps and continuous integration will further accelerate deployments of code so developers can focus more on solving complex business problems. Deployment failures due to human errors can be drastically reduced.
  • Elaborating on the above, newer and less experienced developers can also generate higher-quality code with AI-augmentation, leading to better overall consistency of code in large programs.
  • Overall, from a development standpoint, I think AI augmentation will free up 30% of developers’ time to work on enhancing user experience and other value-added tasks.

Quality Engineering and Compliance

  • In a hybrid cloud world, solutions will become more distributed than ever, making system architecture more complex.
  • LLMs can assist in regulating design documents and architecture work products to conform to industry/corporate standards and guidelines. In essence, LLMs can act as virtual Architecture Review Boards. In a typical development life cycle, architecture/design reviews and approvals make up 5%-8% of work and augmenting the process with generative AI capabilities can cut that time in half.
  • Ssecurity compliance for cloud-based solutions is imperative. LLMs can assist in ensuring such compliance very early on in the development life cycle, leading to more predictable deployments and timely program delivery.
  • Generative AI-augmented test case creation can optimize the number of test cases needed to support the development while increasing the overall code coverage for quality.
  • For greenfield development, there can be a 20%-40% increase in overall code quality through automatic bug-fixing embedded within a DevOps pipeline. Developers can focus on bug avoidance rather than bug fixes.
  • AI-augmented test data generation can increase testing cycles by 25%. Proper test data availability has been a big pain point for quality engineers for decades.

Ways of Working

  • Developers will have to shift their focus to understand how to use the right AI models and prompts to generate documents, code, test cases etc. rapidly. This is a change from writing everything from scratch. Picking the right model for the right use case is very important from an overall efficacy standpoint while also remaining cognizant of the trustworthiness, security and data lineage of the models. This is why I don’t think developers can simply be fully replaced (at least not in the near future).
  • Generative AI is not magic. It does what it is trained to do based on the examples it is provided and how well it is prompted. Developers will need to quickly learn and adapt to this new paradigm.
  • This requires different sets of skills and training for developers. It is also incumbent on management to ensure developer enablement happens so they can succeed in this new world. Simply having an AI technology strategy without a developer enablement strategy means a failed overall strategy. The outcomes will not be fruitful.

AI-enabled development is here to stay, despite the nervousness in the developer community. Of course, there are some good reasons to be nervous. Generative AI, unlike many other revolutionary technologies that have emerged in the recent past, doesn’t just enable work but creates “things.” And there is a school of thought that believes this creation will displace developers. It won’t. Generative AI-augmented development will provide developers with a pathway to higher creative thinking, which really is one of the fundamental aspects of software development.

My message to the development community: Don’t fear generative AI; embrace, learn about and from and enjoy creating with generative AI.