Coding's Second Act: AI Sidekicks and the Rise of the Code Critic
- By Winston Thomas
- April 22, 2024
Software development isn't just about slinging code anymore. With the explosion of AI coding assistants—your new digital copilot—the question isn't if the landscape will shift but how.
While many talk about the eventual rise in productivity, AI's benefits appear more nuanced. It's really a battle for maintainability, quality and the soul of your enterprise's codebase.
Meet the new code critic
The first wave of AI coding assistants was about speed. This creates an unintended shift in developer behavior: developers read more than they code.
AI copilots spit out code like it's going out of style. But as with any efficiency tool, the devil's in the details. So, the coder's job shifts from being busy clacking away at the keyboard to wearing an editor's hat and becoming a code critic.
Derek Holt, CEO of Digital.ai, frames a number for this shift. "Code spends 10x more time being read than written."
AI copilots are also not perfect, at least not yet. So, coders need to sift through the code to see whether it fits the bill and is maintainable (especially for large enterprises that manage gigantic code bases).
"We need it maintainable, high-quality, secure—there's a whole checklist,” says Holt.
The bad code conundrum
For developers, adapting is not new. They have always needed to stay current with new practices and languages. "Just like the shift to the cloud," Holt explains, "AI will change how you work directly and how the solutions you build integrate with AI services."
The problem is identifying bad code. After all, AI learns from everything, good and bad. For senior developers, teasing out the bad is second nature. But what happens when your fresh-faced, AI-savvy junior developer can't tell a brilliant algorithm from a dumpster fire?
"You can write bad code in any language," Holt stresses, "The goal isn't more code; it's better development, more quickly and affordably."
Companies that analyze what the AI needs to learn, translate those into actionable steps, and build robust code review procedures will have a significant advantage.
Holt also believes that the bad code issue will eventually be sorted out as enterprises continue to train their AI code assistants to write better code.
"Over time, the training set required will get smaller, and we can train the code assist model not on all of the code, but only on those deemed the best code and written by the most senior developers," he explains.
Security, compliance, and measuring success
Code generation is one thing, but the big picture matters. Holt's company, Digital.ai, tackles this directly.
"You can't write boatloads of code without automating your testing," Holt insists, "You bottleneck somewhere else." Since sensitive code might be in the AI's training dataset, access control and model governance will be critical.
Digital.ai uses a combination of automation and predictive insights across the software lifecycle. "All our tools provide such capabilities across the [software development lifecycle], whether you're developing or delivering to the mainframe, all the way to the latest in containers, and everything in between," says Holt.
Holt also adamantly insists that development teams and companies must take a more measured approach to using AI code assistants. Simply deploying these AI tools is the wrong approach. Companies that don't track productivity metrics before and after AI adoption are flying blind, he says.
Another worry is access to and leakage of sensitive code. While you can put in control points for human access, having AI models access such code can introduce fears that they may leak it out with the right prompts.
Holt believes that this will make DevSecOps critical. Companies need to shift left hard when introducing AI code assistants. “You’re already seeing the emergence of this topic in platform engineering and morphing over time to developer experience,” he observes.
Eventually, companies will look for better automated provisioning of models and tools to developers. Holt believes that one day, a developer can "click a button and provision all my tools and integrations, get my code and get me started really quickly."
The human in the loop—for now
The million-dollar question: are developers going the way of the dodo? Holt doesn't think so, at least not in the near future.
"Yes, software is eating the world," he says, meaning more work, not less. AI becomes a tool the developer leverages, like a hyper-advanced spellchecker.
Holt envisions a future where humans and AI will work together, not like a master and slave. Think pair programming, but with your trusty algorithm at your side, churning out tasks while you tackle the big-picture stuff.
"How far out is [this scenario] given what we're seeing? I think it's going to take a while. AI is here to stay for sure [in software development], but I think it has a long journey before it," Holt concludes.
Image credit: iStockphoto/Andrey Suslov
Winston Thomas
Winston Thomas is the editor-in-chief of CDOTrends. He likes to piece together the weird and wondering tech puzzle for readers and identify groundbreaking business models led by tech while waiting for the singularity.