You’ll hear a lot of hype around how Generative AI (GenAI) tools can make developers more productive. Some consulting companies even provide specific percentages of increased effectiveness. But I think there’s more to the story than “write more code faster.”
While GenAI tools can aid in understanding syntax and expressing ideas more efficiently, developers typically work within a single technology stack for extended periods. This makes claims of substantial productivity increases unlikely, as coding itself is only one part of the overall development process.
Even if the numbers themselves are accurate, though, there’s a flaw in the thinking behind them. The majority of experienced developers' time is not spent typing code but rather thinking and effectively expressing concepts related to the business domain they are working in. GenAI tools can help developers write more lines of code faster, but coding faster doesn’t mean delivering faster speed to value.
That doesn’t mean there’s no value in GenAI for developers, however. While these tools may not necessarily make us faster at coding, they do offer several important and useful benefits.
GenAI important and useful benefits
One significant advantage is the ability to learn new technologies more quickly. The learning curve for new technologies is shortened when leveraging GenAI tools like Copilot.
GenAI tools enhance developers' understanding of existing code bases, which can significantly speed up the time required to comprehend complex code structures. Copilot’s “explain this” functionality provides a contextually relevant explanation of code, without the distraction of leaving the editor.
Recently, one of our teams utilized Copilot to navigate a legacy code base and bolster it with tests. The team was pleasantly surprised to find that Copilot generated about 80% of the tests that the engineers would have typically created for similar circumstances. This assistance accelerated the process; however, Copilot could not be solely depended upon for every test scenario. In most cases, like this one, combining GenAI assistants with experienced human engineers who understand the context of the business and domain was the best of both worlds for efficiency and accuracy.
Especially if used as a supplemental tool for independent problem-solving, GenAI can enhance learning and encourage self-reliance. This is particularly important in remote work settings, where independent problem-solving skills are crucial. By encouraging developers to formulate solutions independently before checking with the tool, GenAI can be a valuable learning aid.