Generative AI (gen AI) is changing how movies are made, how marketing is done and how games are being played. While much media attention is focused on what gen AI can do in terms of digital transformation, content creation and productivity gains, less attention is paid to how it can make writing code more satisfying, even fun.
Generative AI serving as a coding assistant is not just helping software engineers do their jobs more quickly; it is also boosting developer satisfaction and engagement. Developers are using gen AI to write boilerplate code and help define basic formatting, allowing them more time to concentrate on the creative aspects of the job such as problem-solving, creating new logic and designing unique systems. These higher-level creative tasks are often the ones that coders love to perform.
A McKinsey study found that developers using gen AI tools were more than twice as likely to report overall happiness, fulfillment and the ability to reach a flow state at work.
Imagine a developer who has been assigned to build a new web application for an e-commerce platform. The developer gets to design a user experience and implement features such as a recommendation engine and dynamic pricing. However, before they can even start on the interesting elements of the design, the developer has a mountain of grunt work to accomplish.
They need to set up the backend, which requires writing the same boilerplate code they’ve written dozens of times before, running initializations, defining basic routes and configuring middleware. None of it is unique to the project, but each element is necessary to the application. After the groundwork is finished, a connection to the database needs to be established and database drivers need to be set up together with schemas for products, customers and orders, along with countless other noncoding, nondevelopment assignments.
Though the developer might be excited to get to the core features that will make the platform unique and delightful to users, boilerplate work consumes much of the project timeline. While it’s necessary to lay that solid foundation, developer productivity might slow down as this routine work feels like a chore compared to the more creative aspects of coding.
Coding is time-consuming and error-prone. It requires significant time and resources to produce high-quality results. Studies show that, in the traditional development cycle, developers spend an average of 1 hour a day on actual coding, while repetitive, undifferentiated activities consume most of their time. These tasks often involve dealing with legacy codebases, documenting processes, writing tests, managing releases, debugging errors and identifying security vulnerabilities. For example, a typical day for a programmer might start with code reviews or reviewing a pull request. This might be followed by troubleshooting a bug reported by a quality assurance team and then drafting a deployment plan—all before they can write a single line of new code.
“Generative AI allows developers to automate the tedious and mundane tasks that take time away from building software, says IBM data scientist Anna Gutowska. An example is something as simple as a bot that runs scripts first thing in the morning and generates a “health check report” for your software. This means less time is spent running manual scripts and more time putting skills to use.”
Developers also face the challenge of staying up to date with changing technologies and frameworks such as React, Kubernetes or Flutter. This is no small feat, as the landscape of software development evolves rapidly. Keeping pace with these advancements demands a significant time investment in continuous learning and experimentation, leaving less time for the creative and rewarding aspects of development. The constant need to juggle these responsibilities, combined with the pressure to deliver robust, error-free code, can make coding a stressful and overwhelming profession.
Generative AI tools also play a role in DevOps workflows by assisting with deployment automation, continuous integration and monitoring. Beyond coding assistance, generative AI can provide data analysis and help programmers interpret complex datasets to better gauge the impact of architectural decisions and system optimizations.
Okay, AI might not "love" boring tasks, but it excels at finding and replicating complex patterns, making it an ideal solution for automating the repetitive aspects of coding. Tasks such as boilerplate code generation—those tedious but necessary scaffolding pieces—can be generated in seconds by generative AI tools. AI can also assist with application programming interface (API) integration by autogenerating endpoints, handling authentication and structuring requests and reducing manual coding effort. Another example, as described in Wired, is an AI tool called SWE-agent. This AI tool identified a bug in a GitHub repository, located the relevant file and amended the code correctly, saving hours of potential debugging time for the amateur developer.
These tools aren’t just assistants; some are akin to expert-level mentors. Generative AI systems can provide real-time explanations, examples and guidance, allowing developers to spend less time troubleshooting and more time innovating. This shift enables them to focus on writing quality code, such as designing creative solutions or improving system architectures, while reducing the cognitive load associated with repetitive problem-solving. By automatically detecting and refining code changes, AI helps prevent regressions and ensures that new implementations align with best practices.
“IBM watsonx Code Assistant™ was able to identify several potential vulnerabilities, memory leaks and bad coding practices…and provided recommendations for improvement.” - Client feedback on IBM® watsonx Code Assistant
Generative AI also accelerates learning for developers. It helps them quickly grasp new programming languages, frameworks and paradigms while offering insights into complex or unfamiliar codebases. For junior developers, the benefits are particularly striking.
“We had no grand expectations, but we were pleasantly surprised by how good it was," says IBM full stack developer Asher Scott, referring to watsonx Code Assistant. "It helped me take my skills to the next level.”
Junior developers report significant boosts in productivity and skill acquisition, which help them grow their expertise and confidence faster than traditional methods allow. By removing barriers to entry and streamlining the learning process, AI is empowering developers at every level to tackle challenges with more excitement.
According to a KPMG survey, half of the programmers surveyed believe that AI and automation have positively impacted their careers by enhancing productivity and opening new opportunities. Similarly, an OpenAI ChatGPT survey revealed that 50% of developers reported improved productivity by using AI, with 23% experiencing significant gains.
A GitHub survey shows that these productivity gains offer greater efficiencies to a coder’s existing workflow. Developers using AI coding tools report increased satisfaction due to their ability to automate repetitive or tedious tasks to focus on solution design rather than boilerplate code. Code assistants help reduce mental strain and can potentially prevent burnout. They help developers meet performance standards more easily, leading to improved code quality, faster outputs and fewer incidents.
Generative AI's impact on job satisfaction stems largely from its ability to provide insight and streamline tedious development workflows. For example, AI-powered development tools, such as watsonx Code Assistant (WCA), GitHub Copilot and SWE-agent, have demonstrated the power of real-time code generation, debugging and optimization. This kind of efficiency not only reduces frustration but also frees developers, especially junior developers, to focus on solving more complex and rewarding problems. By automating routine tasks, AI-powered tools enhance functionality, allowing developers to concentrate on innovation rather than repetitive coding.
According to GitHub, 57% of the developers surveyed say that using AI coding tools helps them develop their coding language skills, which they consider the top benefit of using these applications (with the second benefit being greater productivity). This suggests that developers view the use of AI coding tools as a way to upskill while they work, instead of adding another task to their workday for learning and development.
For junior developers, generative AI accelerates upskilling and reskilling by providing real-time examples and contextual guidance, helping them acquire competencies quickly and contribute to their teams sooner. With WCA, development teams working in complex enterprise development environments—such as mainframe modernization or Java™ migration—can automate tedious code transformations while receiving AI-driven insights into best practices. This means junior developers can progress their tasks without having to stop and consult with a senior developer as frequently, allowing them to build confidence and autonomy faster.
AI is also transforming how developers approach prototyping and innovation. Jobs that once required hours of manual coding can now be completed in a fraction of the time. For instance, a developer designing a new feature might use generative AI to create a draft implementation, quickly iterate on it and integrate that into the larger project. This faster turnaround allows for more experimentation and creativity, which are often the most fulfilling aspects of software development.
By automating routine tasks, developers can adapt more easily to remote or asynchronous work environments. AI tools also enable better collaboration by generating code suggestions and explanations that are easy for team members to review and understand. These improvements contribute to a positive developer experience, making software development not only more productive but also more adaptable to the diverse needs of modern workforces, contributing to greater job satisfaction and work-life balance.
Generative AI tools also help developers refine their skill sets by providing metrics so devs can track and improve their productivity. Similarly, it equips them and the organization with the knowledge needed to adopt new technologies effectively and evaluate the full impact of AI integration. This, in turn, fosters a culture of continuous learning and innovation among programmers.
Human expertise remains an integral part of the software development process. While AI can identify bugs and suggest fixes, it lacks the nuanced understanding and intuition of a seasoned developer. Humans are better equipped to discern the intent behind code, assess its alignment with business goals and apply organizational context to ensure that it meets project requirements. Machine minds have difficulty interpreting subtle tradeoffs or navigating ambiguous scenarios, making human judgment indispensable.
The adoption of generative AI technology has not been without challenges. The technology’s impact is uneven across experience levels. Junior developers often reap the most benefits, as AI helps them learn and contribute faster. For them, AI acts as a mentor, filling gaps in knowledge and accelerating growth. Conversely, according to MIT Sloan, senior developers report smaller gains at around 8%-13%. Whether this is due to their expertise outpacing the technology or reluctance to integrate AI into their workflows remains an open question.
Another concern with AI-assisted coding is the risk of technical debt. Overreliance on AI for quick fixes can introduce shortcuts that accumulate over time, creating long-term complexity that demands significant effort to resolve. Also, some fear that AI-driven coding tools might lead to skill erosion, where developers lean too heavily on automation instead of sharpening their own problem-solving and coding abilities. If critical thinking and hands-on coding skills atrophy, developers might struggle to tackle high-stakes, complex challenges in the future.
However, AI coding tools are most powerful when they work in collaboration with human developers, not in place of them. While generative AI can accelerate workflows and automate repetitive tasks, its real value lies in augmenting human expertise—helping developers focus on creative problem-solving, architectural decisions and innovation.
A good example of this comes from rKube, an IT solutions provider in Morocco, which used IBM’s watsonx Code Assistant to modernize Java applications. By automating code transformation, developers were able to shift their focus from manual refactoring to higher-value problem-solving, ultimately leading to more efficient workflows and a more motivated workforce.
A fully managed, single-tenant service for developing and delivering Java applications.
Use DevOps software and tools to build, deploy and manage cloud-native apps across multiple devices and environments.
Cloud application development means building once, iterating rapidly and deploying anywhere.