Software developers’ new superpower

Generative AI assistants are making coders more productive, happy, and creative

Blog
Dan Tynan

Dan TynanThe Works Contributor

Oct 25, 20235 MINS READ

Every software developer, no matter how skilled, faces tasks they're not very good at. For Geoffrey Bourne, it's regular expressions—tools used in virtually every programming language to identify patterns of text. 

Bourne is cofounder of Ayrshare ("airshare"), a New York-based startup that automates and manages social sharing for corporate clients. When he's stumped for the right “regex”—for example, the expression “gr(a|e)y” pulls up any code string containing the words “gray” or “grey”—he turns to generative AI platforms GitHub Copilot and ChatGPT. 

Having been trained on billions of lines of code across many programming languages, the tools don’t just help write emails and jokes or create fantastical imagery; they are surprisingly good at predicting what lines of code developers should use next. 

AI-enabled coding assistants function like autocomplete on steroids. You start by typing an “if-then” statement, and suddenly the rest of it shows up on screen.

"About 30% of the time, it's spot-on," says Bourne. "What might have taken me five or 10 minutes of writing code takes about 20 seconds. Multiply that over a day of programming, and it saves me hours."

AI-enabled coding assistants function like autocomplete on steroids.

GitHub research aligns with Bourne’s experience. In Copilot’s first year of release, almost one-third of its coding suggestions made it into final code, and Copilot cut the average amount of time needed to complete coding tasks by 55%

This added efficiency, coupled with annual decreases in the cost of training large language models, may boost the output of software engineers more than 10x by 2030, according to research from Ark Investment Management LLC. 

They also offer another key benefit: Your developers will be happier and more productive. 60-75% of Copilot users say they find their jobs more fulfilling, and 74% say these tools allow them to focus on more satisfying work.

While organizations aren’t ready to hand AI coding assistants like Copilot, ChatGPT, or Meta's new Code Llama the keys to their integrated development environments (IDEs)—their toolkits for supporting developers—that day is growing closer.

As AI takes on more of the programming burden, organizations can expect to see boosts in productivity and creativity from their engineering teams. That, in turn, can spur innovation in product and software design in ways not yet conceived. 

That aligns well with the need of many CIOs to extract productivity gains from every corner of IT.  “IT leaders report the most success when working with their teams to reduce complexity and streamline efficiency,” says Prasad Ramakrishnan, CIO at Freshworks, “including by adopting new automation technologies fueled by AI.”

It's about time 

AI coding assistants excel at the mundane, repetitive stuff nobody really enjoys doing, such as generating boilerplate code, explaining errors, creating documentation, or looking up syntax in a language you're less familiar with, says Giancarlo Erra, founder and CEO of Words.Tel, an AI-based service that brands can use to create and reserve taglines and advertising slogans.

"I use AI for coding daily via ChatGPT, Anthropic’s Claude, or Copilot," says Erra. "The first and most obvious advantage is that it cuts all the time spent searching for things on the internet. Most of the time, asking ChatGPT directly from your IDE is all you need to solve your problem. The impact it has on the speed of my work is substantial."

Generative coding tools also excel at translating programs from one language to another, notes Jason Beres, senior VP of developer tools at Infragistics, developer of the App Builder low-code development platform. Beres was recently working on a Javascript project that he needed to convert to work in Microsoft’s .NET framework. He used a copilot tool to translate it.

“Copy, paste, it was done,” says Beres. “What would've taken me hours and hours took five minutes."

In addition, AI tools are really good at parsing data, understanding its structure, and providing developers detailed analysis, adds Beres. This can all be done via natural language processing instead of SQL or LINQ statements, saving coders even more time.

Read also: Freddy Copilot for developers

When software code hallucinates 

Of course, just as you can't rely solely on a tool like ChatGPT to write an accurate news story or an admissible legal brief, you can't simply tell AI to create an amazing app for end users and then take a long lunch. The reasons are similar: Sometimes the AI makes things up, a phenomenon known as hallucination.

"AI can hallucinate, and sometimes wildly so," says Bourne. "If you are careless and don't cross-check the AI output, you can end up in the same situation as the lawyer submitting hallucinated briefs."

For that reason, AI coding assistants are not a substitute for experienced developers, he warns. If you don't have the skills to recognize when the assistant is churning out garbage code, you could end up in trouble.

"You need to know enough to say, 'That looks kind of right. Now I need to take that code snippet, run it, and see if it matches the results I expected,'" he advises. "Otherwise, you're taking a risk."

Coding assistants have other limitations, adds Beres. They're not great at building interfaces, understanding how people interact with software, or creating exceptional user experiences. 

"Most important, AI doesn’t have any idea about your business and the context in which you need to deliver outcomes," he says. "It only knows what its models are trained on and how to respond to prompts. Don’t expect creative problem-solving on complex issues from an interactive AI chat."

However, by allowing developers to reduce basic work, gen AI coding tools can allow them to spend more time being creative and building great user experiences. 

Mitigating risks

If used indiscriminately, AI coding assistants can also create legal, security, and performance headaches, notes Elizabeth Lawler, founder and CEO of AppMap, makers of software runtime analysis tools. 

When AI models are trained on buggy or insecure code, those flaws could find their way into code suggestions. In 2021, researchers at New York University found that 40% of the code generated by GitHub Copilot contained known vulnerabilities. (Earlier this year, GitHub introduced an AI-based system to detect and block vulnerable code.)

Code assistants could unknowingly violate existing software copyrights or leak confidential or proprietary information. That's a key reason why companies like Amazon, Samsung, and JPMorgan Chase have restricted employees’ use of such tools

Lawler says companies that deploy AI software assistants need to preview their code snippets using runtime analysis tools. They should also consider flagging AI-generated code for additional manual review, as well as test the code for security flaws and performance issues before deploying it. 

Bigger aspirations ahead

Overall, however, AI coding assistants can flatten the learning curve for less experienced developers and save time for more advanced coders, notes Bourne. They can also lead to more innovative software solutions. 

"These tools encourage innovation and creativity by allowing programmers to take on bigger projects, try out fresh concepts, and concentrate on more strategic areas of development," adds Vikas Kaushik, CEO of TechAhead, a mobile app developer for Fortune 500 companies.

"Over the next three to five years, I see AI assisting devs not only with coding but also with choosing the right coding architecture, code reviews, and project management."

We want to hear from you! Please send us your feedback, and get informed about exciting updates from The Works. Drop us a line: theworks@freshworks.com.