Skip to main content

The recent explosion of AI tools for developers has sparked much discussion about their impact on productivity and code quality. Google’s research team has delved into the question of what developers want from AI-enhanced developer tools and released a very thought-provoking article asking a very pertinent question: “What Do Developers Want from AI?”

As AI continues to evolve and shape the future of software development, it’s crucial to understand developers’ needs and preferences to ensure that AI is working for them, not the other way around.

The Faster Horses Analogy

The article draws a parallel between the evolution of AI and the historical shift from horses to cars. Just as early car adopters sought faster and more efficient transportation, developers today primarily desire AI tools that help them do their existing jobs more efficiently. This means automating tedious tasks, reducing errors, and ultimately saving time and energy.

By focusing on developers’ fundamental goals and needs, we can identify promising opportunities for AI to enhance their work.

Efficiency and Control

When asked, developers expressed a desire for AI to help them work more efficiently by automating menial and repetitive tasks, allowing them to focus on complex problem-solving and creative aspects of their jobs. As one developer put it:

“Automating menial and repetitive tasks could help me focus more on the use case and the problem at hand.”

However, developers also want to maintain control over their work and not fully rely on AI. They prefer a “trust, but verify” approach, where AI suggestions are reviewed and validated by a human developer.

The Journey from Horses to Cars

The article categorizes AI enhancements into three categories, drawing inspiration from the history of car technology:

  1. Enhancing existing capabilities
  2. Extending capabilities
  3. Delegating capabilities
Three categories of AI enhancements (Source: Google Developer for Productivity for Humans series)

Three categories of AI enhancements (Source: Google Developer for Productivity for Humans series)

Currently, AI in developer tools mostly falls into the first two categories, such as AI-powered code completion and leveraging large language models for information search. As AI continues to evolve, there is potential for it to transform the way developers work, similar to how cars revolutionized transportation.

Opportunities for AI to Support Developers

Google’s research reveals that the top hindrances to developer productivity are:

  1. Technical debt: Consistently identified as the top hindrance to developer productivity, technical debt can be mitigated through AI-powered tools that help manage and refactor code.
  2. Poor or missing documentation: AI can assist in generating and maintaining accurate and up-to-date documentation, saving developers time and frustration.
  3. Learning a new platform, infrastructure, framework, or technology: AI-powered chatbots and troubleshooting tools can provide developers with on-demand support and guidance as they navigate new platforms and frameworks.

Google’s internal surveys reveal that these are the most common challenges faced by their developers, and they are actively investing in AI solutions to address them. This demonstrates the value of directly engaging with developers to understand their needs and priorities. Google is investing in AI to address these pain points, such as:

  • DUET AI: Provides chatbot and troubleshooting support to developers
  • AI support for reviewing and testing code

The article emphasizes the importance of taking a holistic approach to AI in development workflows and understanding developers’ resistance to AI.

Beyond the Car Itself

Just as the widespread adoption of cars required infrastructure like highways and regulations, the integration of AI into developer tools may require common infrastructure and collaboration across industries to ensure safe, fair, and equitable access.

Google’s internal surveys reveal that these are the most common challenges faced by their developers, and they are actively investing in AI solutions to address them. This demonstrates the value of directly engaging with developers to understand their needs and priorities.

While the potential of AI in developer tooling is immense, the article acknowledges the need for careful consideration of potential challenges:

  • Developer Resistance: Not all developers are enthusiastic about AI. Understanding and addressing their concerns is crucial for wider adoption.
  • Safety and Security: AI-generated code can introduce security vulnerabilities. Ensuring the safety and reliability of AI tools is paramount.
  • Infrastructure and Collaboration: Similar to the development of infrastructure for automobiles, the widespread adoption of AI in software development will require collaboration across the industry to establish common standards and best practices.

In Summary

The key takeaway from the Google article is the importance of a human-centric approach to AI development. Rather than focusing solely on technological advancements, it is crucial to prioritize the needs and goals of developers. By understanding their pain points and preferences, we can build AI tools that truly empower them and enhance their ability to create innovative software solutions.

“As we think about the future of software with AI, it’s important to consider what developers’ fundamental goals are (regardless of what they imagine them to look like) and how they want AI to support them.” – What Do Developers Want From AI, Google’s Human for Productivity Series