With all the recent hype around GenAI coding tools and the intended potential and risks that these can bring to bear on software development productivity, Codurance hosted a recent panel event featuring Codurance Co-Founder Sandro Mancuso plus speakers from our partners CodeScene, AWS and Trainline to discuss the reality of using GenAI tools such as Amazon Q Developer and what the future holds.
Below we summarise discussion and how these tech leaders see the evolution of code quality and software engineering practices in the AI age.
The Essence of Code Quality
What defines code quality? At its core, quality code is easy to understand and, therefore, easy to change. It's code that is "good enough" for the purpose it serves, and it's designed to evolve over time. Code quality is not an abstract ideal but a practical measure aligned with specific requirements, including business needs.
The Challenge of AI in Refactoring
Adam Tornhill's research highlights a crucial limitation: AI struggles with valid refactoring. While AI can modify code, ensuring that the changes don't break existing functionality is another story. The litmus test here is whether the tests still pass post-refactoring. This challenge underscores the need for human oversight and rigorous testing when integrating AI into the development process.
Skills for the AI-Era Engineer
As AI tools become more prevalent, the skills required of engineers are also evolving. Precision and methodical thinking are paramount. Engineers must become proficient in prompt engineering—a skill likely to be phased out eventually and overtaken by automation. The AI revolution is still in its nascent stages, and those who double down on core engineering skills while proceeding with caution will thrive.
Future developers will need to become hybrids, understanding both traditional code and AI-generated code. Senior developers, in particular, benefit significantly from AI as they possess the deep understanding required to leverage these tools effectively.
AI and Fact-Checking
Combining AI with fact-checking can lead to faster and more accurate performance. For example, integrating large language models (LLMs) to verify data can streamline many processes. However, the key challenge remains determining the accuracy of AI-generated outputs.
The Role of AI in Regulated Industries
In highly regulated industries, validating AI outputs is critical. For instance, while AI can achieve higher accuracy in medical diagnoses compared to human doctors, trust and verification processes must be robust. Overcoming the psychological barrier where AI is expected to be infallibly accurate is essential. Eventually, AI's proven accuracy rates—such as 98% correct diagnoses compared to a human GP's 70%—will build trust.
Organisational Preparedness for AI
Organisations must prepare to integrate AI by creating frameworks that approve team requests to solve problems using AI. Tools like Trainline can help parse data through LLMs for verification, ensuring that AI contributes effectively to business goals.
AI in Developing and Sparsely Populated Areas
AI's potential is especially transformative in developing or sparsely populated regions. Where medical professionals are scarce, AI can provide valuable services, offering significant improvements in healthcare delivery and driving adoption - when the option is for people to either see and be diagnosed by an AI-powered GP or no GP at all (and the risks of no treatment), AI will be clearly regarded in a different context compared to developed countries.
To conclude, AI in software development is not about replacing human engineers but augmenting their capabilities. While challenges remain, particularly in areas like code refactoring and validation in regulated industries, the benefits are clear. By embracing AI, honing core engineering skills, and developing robust frameworks for AI integration, we can look forward to a future where businesses achieve more, and engineers find greater satisfaction in their work.
Further resources
Read Codurance’s AI ebook
Find out how Codurance is supporting customers on their data and AI/ML journeys
Try Amazon Q Developer
Try CodeScene’s BETA ACE AI refactoring tool
Read CodeScene’s Whitepaper on Refactoring V Refuctoring