Tabnine Live: Implement and validate Atlassian Jira issues with one click
October 10
8 am PT
Home / Blog /
AI coding assistants: 12 do’s and don’ts
//

AI coding assistants: 12 do’s and don’ts

//
Peter Guagenti /
4 minutes /
September 5, 2024

Coding assistants that use generative AI (GenAI) are game changers for software development and the biggest step change the industry has experienced in decades.

In a recent IDC survey, 56% of developers said they were experimenting with AI coding assistants. Gartner’s Innovation Guide for AI coding assistants predicts a full 75% of enterprise-level software developers will use them by 2028, resulting “in at least 36% compounded developer productivity growth.” That could equate to billions of dollars in value from tools that, until last year, weren’t on the radar for many developers.

In general, AI coding assistants provide value by automating low-level and repetitive tasks such as code completion, generation, understanding, debugging and maintenance. AI-powered coding assistants enable even entry-level developers to code faster and more prolifically, increasing productivity and freeing all developers to engage in higher-level work.

Paralyzing number of choices

However, the rise of AI software development tools has turned into a flood of mostly generic and consumer-grade options — at least 40 as of last year, up from a handful in 2022, Gartner reports. Overwhelmed developers — that is, the ones who would most benefit from AI in their development processes — will likely feel an additional burden in trying to figure out which tools will work best in terms of productivity and compliance with company requirements.

With that in mind, here are some key do’s and don’ts when selecting and using an AI-powered coding assistant.

Do’s and don’ts

Do: The most important “do” of all may be knowing your company’s policy about reusing code and whether you have permission to choose (or, for that matter, use) a coding assistant. If the use of coding assistants is not sanctioned at your company, do press leadership for reasons why (it’s most likely going to be a policy tied to privacy and data controls) and come armed with some stats about the productivity gains such assistants can enable. Searching for a product that can be securely and compliantly used across the organization may be in order.

Don’t: Use AI coding assistants in the shadows. Transparency is the key to the effective and safe use of AI. Obfuscating your AI efforts — no matter how well-intended — will bite your organization, and you, in the end.

Do: Your homework when evaluating the AI coding assistant options out there. Read the terms of service. Look for coding assistants that not only assist in generating, maintaining and testing code, but also integrate with your code repository and other development tools so that you can benefit from the context they provide. Also, look for an assistant that can explain existing code, identify issues and errors, and provide support via chat. It’s also very important to identify how coding assistants will use data and whether (and where) data is retained.

Don’t: Grab whatever AI-powered coding assistant seems easiest to use or is cheapest. And don’t waste your energy on generic chatbots. They are not tuned for software development use cases, and they don’t know what you are trying to do. There’s a lot of fear right now around the use of generative AI. In fact, “data security, privacy and IP leakage/copyright” concerns rank high as an inhibitor to enterprise adoption of generative AI — second only to cost, IDC research shows. The “right” AI-powered coding assistant is the one that alleviates AI fears and proves AI value by providing appropriate guardrails for your company and its partners and customers.

Do: Choose an assistant that leverages relevant, transparent models that can evolve and even be switched out as the technology improves. Can the model be optimized to fit a specific language and domain? Look for fair use and copyright protections. Ask if assistants offer complete privacy for the codebase and data usage. Is the assistant’s model secure and compliant? Does that matter for your company?

Don’t: Assume that any single model will always be considered the best. Along with coding assistants, large language models (LLMs) are also proliferating and evolving quickly.

Do: Take advantage of the extra time and resources gained by using an AI coding assistant to experiment and innovate. Spend more time on feature development, and leave lower-level tasks such as maintenance to AI.

Don’t: Worry about generative AI taking your job. Instead, look at coding assistants as another tool that enables you to do your job even better. Multiple studies show that developers gain significant time savings — up to 45% — and can complete coding tasks up to twice as fast with generative AI tools. Coding assistants have also proven to help developers learn new languages and develop their skills.

Do: Lean into the assistance that these tools provide, such as code suggestion and recommendation, unit testing and generating documentation. Research shows that more than 60% of developers who use coding assistants report feeling more fulfilled in their jobs, less frustrated when coding and able to spend more time on higher-value work.

Don’t: Completely abdicate your judgment or purpose or succumb to superlatives. For example, using these assistants doesn’t mean never searching for code or always being able to trust the code that’s generated. AI coding assistants are not replacements for experienced coders. It’s still important to have human eyes on the process and product.

Do: Continually experiment with how you interact with coding assistants to ensure you’re getting what you need, faster and faster. The efficiency and accuracy of this process will depend on the degree to which your coding assistant can be optimized to be more contextually aware.

Don’t: Set it and forget it.

Conclusion

Until now, meeting demand for more software meant increasing the number of developers or — much more likely — asking developers to do more (and more and more). This has been a losing proposition for many reasons, including the inability of developers to ever “catch up,” much less have the time to truly innovate.

AI in general and AI-powered coding assistants specifically are not a cure for everything that ails the development life cycle, but — when best practices are followed — they’re a significant step in a direction that will improve the developer experience and provide value for the organizations that support them.

This article was originally published on The New Stack: https://thenewstack.io/ai-coding-assistants-12-dos-and-donts/