How Google’s dev tools manager makes AI coding work

Ryan Salva, Google’s project manager for developer tools, has a unique perspective on how AI is transforming coding. With a background at GitHub and Microsoft, he now leads projects like Gemini CLI and Gemini Code Assist, guiding developers into the era of agentic programming.

His team recently released third-party research that examines how developers are actually using AI tools and the progress still needed. Salva discussed the report and his personal experience with AI coding tools.

Google conducts an annual survey of developer trends, but this year’s report focused intensely on AI tools, specifically how willing developers are to adopt an agentic approach to programming. Salva noted one surprising finding was the median date when developers began using AI tools: April 2024. This timing aligns with the release of advanced models like Claude 3 and Gemini 2.5, which marked the dawn of reasoning models. Around that same period, tool-calling capabilities improved significantly.

For coding tasks, models need to leverage external information to problem-solve. This might involve searching through code, compiling it, running unit tests, or integration tests. Salva believes tool-calling is the critical feature that allows models to self-correct as they work.

On a personal level, Salva uses AI coding tools for his hobby projects. He primarily works with command-line tools like Gemini CLI, along with some Claude Code and Codex. Since terminal-based tools are not used in isolation, he experiments with various IDEs including Zed, VS Code, Cursor, and Windsurf to understand how the industry is evolving.

Professionally, as a product manager who works extensively with documents, his first step is using AI to help write specifications and requirements documents. A development task often begins as an under-specified issue, such as a bug report on GitHub. He uses Gemini CLI to create a more robust, outcome-driven requirement document in Markdown, typically about 100 lines long. Then, he uses the tool to write the code based on that specification and the team’s established guidelines.

The engineering team maintains documents that outline their way of working, covering testing procedures and dependency management. The model consumes these documents to produce code that aligns with team standards. As Gemini CLI troubleshoots, it updates the requirements document, noting each fix and subsequent step. Each of these actions creates its own commit and pull request in the repository, allowing for easy review or reversal.

Salva estimates that 70 to 80 percent of his work involves using natural language in the terminal with Gemini CLI to craft requirements and generate code. He then uses an IDE primarily to review and read the code, rather than to write it.

Regarding the future of raw computer code, Salva reflects that for three decades, the IDE was the central hub for software development, alongside the browser and terminal. He suspects that over time, developers will spend more time working on requirements, and the time spent in the IDE will gradually decrease. He believes this change will happen over a long horizon.

This shift raises questions about the future of software development. If developers are not looking at code a decade from now, what does that mean for their roles? Salva thinks a developer’s job will become more like that of an architect. It will involve taking complex problems and breaking them down into smaller, solvable tasks. The focus will shift to the bigger picture of what needs to be built, rather than the intermediate language used to express it in machine code.