AI can write code, too: this is how it helps programmers
In 2023, 63 percent of programmers introduced artificial intelligence (AI) tools to their work routine. Optimizing repetitive processes, detecting errors early and suggesting alternative code are some of the uses that have made this technology the ideal working partner for developers. This lets them focus on the more creative and complex tasks.
AI is undeniably revolutionizing the way we work: in 2023, 33 percent of media, technology and telecommunications companies used generative AI tools regularly, while 37 percent did so on a trial basis, says McKinsey's 'The state of AI in 2023: Generative AI’s breakout year' report. Streamlining administrative tasks, processing large amounts of data or hyper-personalizing services are some of the ways startups are now using generative AI.
This technology, which has experienced a boom in recent months with the launch of ChatGPT, is being applied in a range of sectors. But beyond generative AI, large companies and startups are using artificial intelligence to streamline administrative tasks, process large amounts of data and hyper-personalize services. Developers will also benefit from this technology: 80 percent of them claim that AI will enhance their potential and productivity, while 70 percent believe it will provide them with access to new programming tools, according to the 'State of the Developer Nation Q3 - 2023'. report.
"Artificial intelligence is a tool that will dramatically improve programmers' efficiency," says Carlos Ibáñez Cuadal, co-founder of the startup Nuwe, a gamified platform for coding challenges and contests. But what tasks can artificial intelligence help them with and how will it redefine the future of their profession?
AI support in programming
GitHub, a collaboration-based software platform for creating source code, says in a report that 88 percent of its users feel more productive when using its artificial intelligence, Copilot. In addition, 74 percent of respondents say it allows them to focus on more satisfying tasks and 96 percent say they perform repetitive tasks faster.
AI can mainly help with the following tasks:
- Concept for a new functionality. AI is able to query the state of the art of the problem to be solved and summarize existing information. In addition, generative AI tools, such as ChatGPT, can be used to produce documentation on a specific project. "You type in the code you've written and it directly generates the necessary documentation, which explains what that code does," explains Ibáñez Cuadal.
- Design of the software solution. AI searches large amounts of data for previously used solutions and patterns. The very nature of AI enables it to automate repetitive tasks after being fed with data, detecting patterns and replicating them. This means developers can perform higher-value tasks, such as project creation, design and architecture. "This lets programmers focus on more complex problems [...], that require critical thinking, results orientation, previous experience and creativity," explains Yanelis Serrano, Full-Stack Lead Instructor at Adalab, an academy that focuses on encouraging women in this profession.
- Contributing new ideas. Although not highly creative, AI algorithms can also help with brainstorming. AI provides "a flow of ideas that you might not have had otherwise and brings you perspectives you might not have considered," says Nuwe's Ibáñez Cuadal.
- Code creation support. Artificial intelligence "helps developers automatically fill in code snippets," says Serrano.
- Monitoring the implemented solution. AI algorithms detect error patterns in logs--text files that chronologically record changes within a computer system--and user behavior. One of the options that programmers value the most is that the tools can instantly detect bugs and suggest functional alternatives. "It's very useful for doing code reviews or detecting development problems in real time," Serrano acknowledges.
These functions may be expanded over time. In this context, at the third annual DataFest, an in-house event at the bank, Jon Ander Beracoechea, Global Head of Advanced Analytics at BBVA, encouraged the bank's developers to imagine how they could revolutionize the functions and processes of the future. "We are in the middle of a once-in-a-decade revolution," he said. "Don't just think about banking services as they are today, but also about what they could become.”
AI tools in the programmer's toolbox
To start using artificial intelligence in their daily work, developers can use a variety of different tools. Serrano specifically mentions:
- GitHub Copilot. This assistant is able to predict and auto-complete code in real time as the coder writes: it can suggest code in advance based on the programmer's specific prompts given in natural language.
- ChatGPT. OpenAI's chat LLM is useful as a " coder's oracle," says Rebeca Méndez, Backend Developer at Manfred, a recruitment and selection firm for technical talent. Developers can use ChatGPT to obtain code samples and documentation associated with a programming project. It also lets them run typo checking and improve the quality of the developed work. Ibañez Cuadal also emphasizes its role as a co-pilot when brainstorming, as it can provide different strategies for approaching a project.
- Code Whisperer. The tool developed by Amazon Web Services provides real-time recommendations and suggestions and embeds user feedback into its workflow.
- Microsoft Copilot. This newly launched productivity tool leverages large language models (LLM) combined with company-specific data to enhance user experience in Microsoft 365 applications such as Word, Excel, PowerPoint, and Outlook. It provides intelligent assistance tailored to business needs. For developers, the tool offers integration capabilities with third-party applications and services. Through Microsoft Copilot, developers can utilize ChatGPT add-ins, Teams extensions, and Microsoft Power Platform connectors to create and enhance applications.
What will the future of programming look like?
As artificial intelligence advances, will it replace the work of developers? Emad Moustaque, CEO of Stability AI, a company specializing in open-source generative AI, predicted that coders will become obsolete in the next five years. However, all the other interviewees disagree with this statement. They believe that AI will not replace their work but will instead serve as a valuable support tool.
"Artificial intelligence alone cannot replace the work of a developer [...] we humans must monitor the results it returns to see if it matches what we have asked for," says Manfred's Rebeca Méndez. Adalab's Serrano agrees: "Artificial intelligence empowers programmers to focus on the most complex and creative problems. It supports developers' role, but does not replace it.”
Despite developers continuing to focus on the most relevant tasks, Ibáñez Cuadal emphasizes the importance of training in AI: "Programmers who do not incorporate artificial intelligence into their daily work will fall behind and be unprepared for future job demands."
Currently, artificial intelligence serves as a tool for software developers, shortening production time frames and increasing efficiency. As Manfred's Backend Developer puts it, this allows them to "focus on what is really important: the business." AI that writes code supports programmers, enabling them to concentrate on adding value to their solutions.