"AI essentially allows you to code by intent," says Ethan Mollick, an Associate Professor of Management at the Wharton School of the University of Pennsylvania and author of *Co-Intelligence: Living And Working With AI*.
Mollick has used ChatGPT, a generative AI chatbot powered by large language models (LLMs), to assist with software development. LLMs, a sophisticated type of deep learning model, excel at writing and completing computer code.
Generative AI-driven coding assistants are already enhancing programming efficiency and productivity. "AI represents a significant leap forward for software engineering," says Mike Mason, Chief AI Officer at Thoughtworks. "The rapid adoption and constant advancement of AI tools for developers show the transformative impact this is already having, and will continue to have, on our industry."
### The Changing Landscape of Coding
What will these changes look like, and how far will they go? Are there trade-offs to consider? What does this mean for developers and the software they create?
Generative AI is inherently well-suited to coding due to the structured, rule-based nature of software and the vast repositories of existing code available for AI models to learn from. In recent years, specialized tools have emerged that can complete code from partial inputs in real-time or even generate it from scratch. These tools can understand context, write code aligned with developer requirements, and often include a chat interface for coding-related queries.
"Like autocomplete on steroids," is how Mason describes AI coding assistants. They eliminate much of the repetitive work in programming, speed up routine coding processes, detect errors, and provide instant troubleshooting resources. "There are times when it literally feels like it has read my mind regarding the block of code I wanted to write," says Mason, who began coding at age six.
One significant advantage of these tools is that they allow programmers to stay within the Integrated Development Environment (IDE), maintaining their "flow" without the need to search for solutions externally. This uninterrupted state of full immersion is associated with higher performance.
### Adoption and Impact
AI coding tools are becoming increasingly popular. By January 2024, one leading tool had 1.3 million paying subscribers and was used by over 50,000 companies. A recent survey found that 95% of developers already use AI tools to write code.
"Developers see these tools as necessities," says Andreas Nauerz, CTO and Executive Vice President at Bosch Digital. After evaluating potential risks and benefits, Bosch Digital onboarded a leading AI coding tool, using it across most of its projects. "It’s a huge efficiency booster," says Nauerz. "And it makes people happier because they can focus on actual problems, not just everyday boring tasks."
### Benefits and Challenges
Evidence suggests that code-completion tools are best seen as providing useful suggestions rather than writing finished code. A management consultancy study found that 75% of programmers using AI coding assistants reported that the tools met or exceeded their expectations, with 'speed to market' as the biggest benefit. Another survey of over 2,000 developers found that 88% felt more productive with an AI coding assistant.
However, the introduction of AI tools also brings challenges. Some studies have noted a decrease in the overall quality of code since the adoption of AI assistants. "One trade-off is their unreliability," says Birgitta Böckeler, Global Lead for AI-First Software Delivery at Thoughtworks. "The models are generic and based on extensive training data, which may not always be relevant to the specific task at hand."
Mistakes made by AI can be subtle and hard to spot, posing a risk, especially to inexperienced developers. "I worry about giving coding assistants to inexperienced developers," says Rebecca Parsons, CTO Emerita at Thoughtworks. "Experienced developers can spot small errors, but that's not so easy if you're not experienced."
Security concerns also arise, with studies showing that AI-assisted coders may write less secure code and overestimate its security. AI can also "hallucinate" fixes for common vulnerabilities, leading to potential security risks. "I see a huge risk of a degradation of coding skills for the future," says Nauerz. "The more people lose deep knowledge of how systems work, the more we lose control and are exposed to new attack vectors."
### Ethical and Legal Considerations
There are also ethical and legal considerations. AI models trained on copyright-protected data have sparked legal debates, and coding assistants face similar issues. A leading AI vendor is involved in a proposed class action lawsuit alleging "software piracy on an unprecedented scale."
### Looking Forward
To mitigate risks, companies need clear AI use policies, keeping humans in the loop and not using models incorporating prompt data. Developers should approach AI output with healthy skepticism.
The future of software development with AI is likely to extend beyond coding to include tasks like testing, debugging, user interaction, and learning new skills. AI could also influence larger creative tasks, such as defining software goals and client requirements.
"AI does a great job in coding assistance and is on a path to provide more relevant suggestions," says Amjad Masad, CEO of Replit. "But for higher-order tasks like feature building and product structuring, AI is still in its early stages."
Thoughtworks and Bosch Digital are experimenting with generative AI across the development lifecycle, showing promising results in productivity gains and knowledge-sharing mechanisms.
### Organizational and Methodological Changes
AI's integration into software development will have implications for IT departments and the C-suite. Faster coding can create bottlenecks in testing and deployment, requiring intentional management. AI may also necessitate changes in Agile methodologies, which currently rely on human intellect alone.
Ethan Mollick suggests that Agile processes may evolve as generative AI can gather client requirements or provide product feedback, making current methodologies seem less agile.
### The Democratization of Coding
Generative AI may eventually democratize software production, enabling anyone to create sophisticated programs. AI agents—chatbots that autonomously complete tasks—are being developed to manage engineering processes from coding to deployment.
In the future, these agents may handle higher-order goals, allowing users to define desired functions without specifying the detailed code, transforming the concept of programming itself.
### The Path Ahead
Generative AI is rapidly evolving, raising more questions than answers. The role of software developers will change, with their expertise increasingly deployed at higher abstraction levels.
"The world will continue to change, and we’ll face new challenges," says Parsons. "Generative AI models work on past data, but novel situations will still require human developers to map real-world abstractions to code."
Ultimately, software developers will continue to play a crucial role, adapting to and integrating new AI technologies.
0 Comments