While we’re not quite fully there yet, we may not be too far away from AI being a major part of the development process, helping developers eliminate some of the more mundane tasks of coding by suggesting code, autocompleting code, and making other useful suggestions.
According to Chandra Kalle, VP of engineering at LeanTaaS, a company that provides software to healthcare organizations, much of software development is actually spent doing these mundane tasks, so handing those tasks over to a tool that can do it for them can free up an engineer to spend more time innovating. These mundane tasks Kalle is referring to can include installing third-party frameworks, writing test scripts, and other setup tasks required before coding.
“We don’t need AI that will replace the developer,” said Kalle. “We don’t need AI that can really solve all the complex business logic problems that they go out to solve. But we could have AI that can keep the developer focused on working on the most important things. That will be huge.”
According to Kryon’s 2021 Automation at Work survey, 32% of employees say they waste more than half of their day doing repetitive or mundane tasks. Seventy-nine percent report that those tasks take up to 30% of their time.
Almost all employees (96%) report that these tasks negatively affect their productivity. Sixty-two percent wished they had more time for professional development, 52% wished they had more time for creative thinking, and 38% wished they had more time for strategizing. Kryon believes that this disconnect might be having a negative impact on job satisfaction.
A number of IDEs have already been using AI to do autocompletion for some time, and new solutions, such as GitHub Copilot, are even able to suggest entire snippets of code.
“That is one manifestation of what’s possible with the new generation of AI, which is quite exciting, even though it’s very nascent. I expect more companies to leverage this approach to solve all the repetitive and mundane things that developers do,” said Kalle.
RELATED CONTENT: GitHub Copilot sparks debates around open-source licenses
But in their current state, these more hefty solutions aren’t quite ready for mainstream use in production just yet. However, that doesn’t mean they never will be.
According to Ryan Jones, VP of software engineering at Jobber, which provides business management tools, incorporating AI into the development process may be one of the most important development changes that we see over the next decade. It will allow the developer workflow to stay more in the code editor, which will allow for greater focus and innovation.
Currently, when a developer gets stuck and has a question, they have to leave their browser, open up Google, and come up with a search that might answer their question. Then they have to browse through those search results and pull out something helpful, then go back into the editor and make changes.
New tools eliminate that step and accomplish the same thing all within the editor. GitHub Copilot is one such tool, and it allows a developer to type what they need as a comment in the editor and it will create a code snippet that might help. For example, typing “Get average runtime of successful runs in seconds” would result in a snippet of code with a function that accomplishes that.
“If you think of all the steps that it just removed, you’re no longer having to go to Google, you no longer have to go to Stack Overflow,” said Jones. “I had mentioned that sometimes you’ll take an answer from Stack Overflow, and you’ll make changes to it. And within your code, tools like GitHub Copilot will actually be context-aware and pull variables from your code right into the solution.”
Jones predicts that within 10 years all developers will be using a tool like that. He likens the current evolution that is going on with these tools to the changes that Gmail has gone through over the years. Google has been applying more AI to Gmail and now it’s gotten to the point where it can fairly accurately predict what you might type.
“At the beginning it was kind of, it was kind of hokey, it didn’t give you the exact solution,” said Jones. “And then over time, it starts to get better and we use the tooling a lot more. And now when I use Gmail, it finishes whole sentences for me and I’m just totally taken aback where it’s like, holy cow, 10 years ago, this wasn’t even a thing. You know, spellcheck was good enough.”
One question that often comes up is the quality of suggestions, but Jones believes that’s not a concern if true quality assurance practices are in place. Ultimately, the developer is still responsible for actually accepting the solution from the tool.
“In self-driving cars or assistive driving, at this point, you still have to keep both hands on the wheel as you’re driving. And I’d liken GitHub Copilot to a similar way where you still have to keep your hands on the wheel as you’re in your editor, and are making sure you understand what GitHub Copilot is giving you,” Jones said.
The solution was only released over the summer, but over time Jones predicts eventually a developer might be working on a file in their editor and Copilot will say “hey, you’ve done this a couple of times – do you want to do it again here?” It will become more context aware, which will make it more useful.
Horizontal learning required to uncover true power
According to Kalle, before these tools can be useful in a development environment, they need to do a lot of horizontal learning. That is, these AI tools need to learn from a wide range of similar applications in order to come up with better predictions and suggestions.
For example, there are a bunch of services that make it easy to do email marketing, such as MailChimp and SendGrid. If a developer wants to create a wrapper within their codebase to send email, that piece of code could be autogenerated because there is already a wide range of public use cases to learn from, Kalle explained.
But there are a number of vertical use cases in which the AI needs to first get better at understanding your product, the problem you’re trying to solve, and putting things into perspective.
“We haven’t seen any product in both dimensions that we would use today and say, ‘Oh, wow, this has really made my life easier.’ I think the excitement for us, for me, is the art of what’s possible,” said Kalle.
Cost also plays a role in adoption
Another barrier to entry for many of these tools is cost, especially for small- to medium-sized businesses. “The issue is that, at least from my perspective, for fast growing companies like us, every project, every initiative we undertake, is very costly,” said Kalle.
According to Kalle, at his company they have a very laser sharp focus on where they invest their time in engineering effort.
“Now if I come across something like Copilot, which is still in very early nascent stages, you know, people play around with it. It’s pretty cool. Can that be productized in any shape or form today? Absolutely not. If there is a tool that will help us, you know, write secure code, I’ll definitely take the time to take a look into it because it’s something that keeps me up at night. But if there’s a tool that will make it easy for us to write code by automatically generating code, like a glorified autocomplete, if you will, we’re gonna take a very hard look at it and ask ourselves really what is this buying us and I can’t think of any tools out there today that meet any of these use cases,” said Kalle.