Some AI coding assistants are toylike, while others are enterprise-class. Here’s how to tell the difference. Credit: Shutterstock None other than Bill Gates recently called AI “as revolutionary as mobile phones and the internet.” He’s right, of course. But the challenge for business today is to harness AI in a way that meets enterprise standards. Take software development. Developers have already discovered AI coding assistants, which reduce tedium by completing lines of code or generating code from scratch based on natural language input. When code assistants are trained properly, they can deliver proven solutions for everyday programming problems. Yet despite such talents, many AI coding assistants fall short for enterprise software development. Their drawbacks range from plagiarizing licensed code to introducing code that violates the regulatory constraints of a particular industry. For AI-based tools to be truly useful in the enterprise, they need to work within the practices, restrictions, and development environments already in place. Luckily, AI coding is a highly dynamic space, with new tools and features arriving all the time. Enterprises should consider the following requirements when determining whether an AI-based coding assistant will pass muster: IDE integration: Find a tool that integrates via plug-in with the IDEs your enterprise uses. Many AI coding assistants are available only as web applications hosted by the provider, which means developers need to copy and paste the AI-generated code into their work. Names, paths, and so on must be changed after the code is pasted, increasing the likelihood of error and impeding productivity gains. Context awareness: Every enterprise software development operation has its own practices, conventions, and styles. For AI-generated code to reflect those parameters, the AI coding assistant must be trainable on your organization’s code base, resulting in private code models specific to your team. That context awareness also reduces the number of natural language instructions a developer needs to enter to generate relevant code, with fewer corrections required for the code itself. An added bonus is the ability to connect AI models to different code repositories for different teams. Code privacy: An AI coding assistant should be trainable using your own code, but no one wants private code to be viewable to all. For maximum security, an enterprise coding assistant should be installable on prem or in a virtual private cloud. Neither customer code nor customer training data should be available to the solution provider—and training on customer code should occur in a secure and separate environment. Open source compliance: Generative AI solutions, both those that generate natural language and those that generate programming code, have an unfortunate tendency to plagiarize. That’s not a problem for an AI coding assistant if the code it’s trained on is covered under permissive open source licensing, such as Apache 2.0 or MIT (most of GitHub’s open source code is licensed under the latter). Centralized configuration: Like almost all enterprise software, an AI coding assistant should enable you to manage subscriptions and assign user roles and permissions from a single console. The security model should be adaptable to the one established by your organization. Private code models should require an explicit opt-in from the team administrator. Security and privacy: Control over where code is sent, how it is processed, and how it is used are central to many enterprises. To ensure the security and compliance of their code many companies need complete control over where the code and models run and how they are accessed. Monitoring and reporting: The more AI coding assistants are used by your team, the better the code generated. Monitoring dev team usage and generating periodic reports enable team leaders to evaluate how well coding assistants are working for developers and whether adjustments need to be made. Code testing: AI coding assistants are moving beyond code generation to the automatic creation of unit tests. Those tests should tailor themselves to the customer’s common patterns, easing the burden of one of the most tedious software development tasks. Outfitting enterprise developers with an AI coding assistant offers several essential benefits. The most obvious is the ability to ship more software faster—when developers get addicted to having their capabilities augmented, dev shops can do more with less. Just as important are happier developers, who spend less time on the mundane and more on the creative challenges that make the job compelling. But AI is not magic. Coding mistakes are endemic to programming, so the goal should be to reduce them as much as possible with an AI coding assistant that can be customized to the way development teams work. Ultimately, errors are less likely with AI coding. Commonly repeated strings, for example, will always materialize with the proper style, formatting, and naming conventions. Plus, new hires are likely to get up to speed more quickly when they see an enterprise’s conventions reflected in automatically generated code. Thanks to proven productivity gains, AI coding assistants can already be considered a standard tool in the developer’s arsenal. But those who lead development teams should make sure to procure enterprise-grade tools that maximize productivity while reducing risk. Dror Weiss is founder and CEO of Tabnine, creators of the industry’s first AI-powered assistant for developers. He is on a mission to help developers and teams create better software faster. Prior to Tabnine he was with Panaya, most recently serving as director of technology. — New Tech Forum provides a venue to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all inquiries to newtechforum@infoworld.com. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos