This is the third in our four-part series on the future of software development. Part one examines the changing developer role, part two takes a deep dive into emerging technologies with the potential to impact development, and part four shares how to future-proof your developer career.
Artificial intelligence has often been dismissed as a promising technology breakthrough that somehow remains out of reach, particularly when it comes to software development. The role of AI in software development has been written about for years and not much substantive has come of it.
But the stars may be aligning now. Developers are intrigued, and we can see that by looking at the growing popularity of the Python programming language. Stack Overflow’s annual survey shows Python’s rise in "popularity" and "interest" based on the number of questions members asked about it. It’s certainly the go-to language for ML-powered chat bots.
And in our 2020 Global DevSecOps Survey, close to one-quarter of developers surveyed said that an understanding of AI/ML will be the most important skill for their future careers. And roughly 16% of testers said their teams are using bots right now or have an AI/ML tool in place for testing.
So if Tesla can create a self-driving car, can self-writing code be that far off? The short answer is no, at least according to the more than a dozen DevOps practitioners, industry analysts, and GitLab executives we spoke with about the future of software development. Here’s what they're thinking.
A gradual process
At GitLab AI feels like it will happen but gradually. "Every set of software in the future is going to be the combination of some procedural code and some (AI) models," says GitLab CEO Sid Sijbrandij. "The models will eat more and more of the code over time." But Sid sees AI’s role as "less of a distinct activity and more of an integrated call out to a library or a call out to a model."
To put it another way, senior developer evangelist Brendan O’Leary thinks it would be strange if AI weren’t playing a much more significant (and helpful) role in code development ten years from now. "But this isn’t going to replace humans – it’s going to make the human role more critical to understand what’s important," Brendan says. He likens it to a detail-oriented second set of eyes that can sort through all the data quickly to focus coders on areas that need it. "Computer-aided detection is really valuable in mammography because it’s hard to look for 1 millimeter specs of white," Brendan explains. "Computer-aided detection is valuable because it surfaces the 'second look' areas to focus on. That’s the model I think we can expect when it comes to AI and software development."
Carlos Eduardo Arango Gutierrez, a software engineer at Red Hat (and a GitLab Hero) sees a big benefit to a bot "colleague" that will not only ID problems but will suggest solutions. "I'm waiting for a bot that says 'oh your code is wrong and this is how you fix it,'" Carlos says. "You're no longer stuck because the bot is going to run the test for you and fix it."
Meet the Turing Bots
So there’s clearly a backstop/code testing/QA role for AI in software development, but there is more to it than that, according to Forrester Research. In its September 2020 webinar, "The Future of Software Development: How AI Will Automate More Than 70% of Software Development," Diego Lo Giudce and Mike Gualtieri, both vice presidents and principal analysts, make the case that so called "Turing Bots" will be generating code from software artifacts in ten years, or less. The technologies driving the bots include autonomous testing, auto ML (for predicting), reinforcement learning, and machine coding, the webinar says.
That’s a bold prediction and a lot to unpack for today's DevOps teams. It will be a process and culture shift, certainly, but it will also require sweeping changes in the developer thought process. Forrester recommends developers start now to "define more precise artifacts and patterns, including app requirements, UX design and solution architecture."
Now take a deep breath
It’s important to remember, though, that AI is only as good as the data fed to it by humans – it’s not a substitute for humans. Jose Manrique Lopez de la Fuente, CEO at Bitergia, and also a GitLab hero, puts it this way: "I don’t believe that we won’t need developers any more," he says. "Artificial intelligence is not intelligent."
Wondering if your skills will keep you relevant in a time of AI overlords? Don’t miss our look at skills critical to a DevOps team's future in the fourth part of our series on the future of software development.