From the AI Native Dev: Unlocking the Full Potential of AI Assistants for Developers
# min read
Introduction
Code completion tools have transitioned from being a luxury to a necessity for developers. These tools, powered by artificial intelligence, promise to elevate productivity by handling repetitive tasks, reducing errors, and even providing architectural guidance. However, the key lies in setting up these tools correctly and understanding how to leverage them to their full potential. In this blog, we'll summarise a podcast episode with Peter Guagenti, CMO and president of Tabnine.
The Origins of AI Code Assistants
Peter Guagenti started by explaining the inception of Tabnine, the originator of the AI code assistant category. "Tabnine as a business actually started back in 2018 when LLMs first emerged," Peter noted. The idea was clear: programming languages, being highly structured and well-documented, were perfect candidates for AI-driven assistance.
The Early Days
Initially, Tabnine focused on building AI code assistants for Java. It was a hidden gem among high-performing developers who used it to speed up their workflow and eliminate mundane tasks. As Peter put it, "If you were a high-performing developer, this is the kind of stuff you had running in your IDE to make you a little bit faster."
The Evolution
With the advent of ChatGPT, the perception of AI changed dramatically. "All of a sudden, every CEO was asking every CIO, 'What are you doing with AI?'" Peter mentioned. This shift from individual developers to enterprise-level adoption marked a significant milestone. "Gartner estimated that as of the end of last year, only about 10 percent of enterprise software developers were using these tools. But they estimate by the end of 2027, that number will be almost 80%," Peter shared.
The Current Capabilities
Simon and Peter discussed the remarkable evolution of AI models. "The models themselves are getting stronger and stronger. We're all learning how to use them better," Peter explained. The focus has shifted from mere code completion to comprehensive assistance throughout the Software Development Life Cycle (SDLC).
Beyond Code Completion
Today's AI code assistants touch every part of the SDLC. "State of the art than even six months later, 12 months later was an assistant that you're chatting with," Peter said. These tools now offer functionalities like automated test generation, refactoring, and even onboarding new developers to a project.
The Role of Context
One of the critical advancements is the use of context. "We added local code base awareness early this year, and in doing so, our acceptance rate for unaltered code that came back went up 40%," Peter revealed. This means the AI doesn't just generate code; it generates relevant code that fits seamlessly into your existing codebase.
Addressing Skepticism
Despite the advancements, skepticism remains. Some developers fear that AI will take their jobs, while others find the tools frustratingly inaccurate. Peter addressed these concerns head-on.
Fear of Job Loss
"The reality is your job is going to change," Peter acknowledged. He argued that AI would elevate developers to more strategic roles. "Instead of having to be in the weeds, blocking and tackling, executing specific things, they get to think more like architects."
Frustration with Accuracy
Simon pointed out that some senior developers find current tools lacking in precision. Peter agreed but emphasized the importance of context. "The code assistants are no different. If you ask how to write a function in a language and it doesn't know anything about you, it's going to give you something that came out of an O'Reilly book."
Practical Tips for Developers
Peter offered several actionable tips for developers to get the most out of AI code assistants.
Start Small
"Start with discrete tasks," Peter advised. Whether it's generating a specific function or refactoring a piece of code, starting small allows you to understand how the tool works and gradually expand its use.
Leverage Context
"Give it more context," Peter emphasized. Open relevant files in your IDE, use documentation, and even error logs to provide the AI with the information it needs to generate accurate and useful code.
Experiment and Iterate
"Push the edges and see what it will do," Peter encouraged. The tools are constantly evolving, and what didn't work a few months ago might work perfectly today.
The Future of AI in Software Development
The podcast wrapped up with a discussion on the future of AI in software development. "We're at the pointy end of the spear as software developers living through these transformations," Peter noted. He predicted that the changes AI brings to software development would be as radical as the transition from no version control to continuous integration and cloud infrastructure.
The Next Three Years
Peter shared Gartner's prediction that by the end of 2027, 80% of enterprise developers would be using AI tools. "I've never seen software get adopted that fast. Never in my whole career," he said.
Trust and Reliability
Finally, Peter stressed the importance of trust. "If we're going to get to that point where it becomes less human-readable, then you need to have absolute trust that what the agents are doing follows your standards and probably is held to a higher standard than the humans are on your team today."
Summary
The podcast with Peter Guagenti offered a comprehensive look into the world of AI code assistants. From their origins to their current capabilities and future potential, the discussion highlighted the transformative power of these tools. Key takeaways include:
- Start Small: Begin with discrete tasks to understand the tool's capabilities.
- Leverage Context: Provide the AI with as much relevant information as possible.
- Experiment and Iterate: Continuously push the boundaries to discover new functionalities.
As we look to the future, it's clear that AI will play an increasingly critical role in software development. By understanding and leveraging these tools today, developers can stay ahead of the curve and significantly enhance their productivity.
Guypo with his brand new swag!
On a personal note, I’m extremely excited for this new adventure. Founding Blaze (acquired by Akamai) was about making the web faster; Founding Snyk was about proving security can be embedded into dev. Both are great missions, which I continue to be passionate about. However, for me, Tessl is an even bigger opportunity - offering a better way to create software. Provide a path, made possible by AI, for producing software that is naturally more performant, more secure, and better in many other ways. SO MUCH opportunity awaits, and we have an incredible team on the case.
Almost the whole team for our first team photo!
Yaniv, telling us something amazing!
Recording the next podcast episode of The AI Native Dev!