Balakrishnan (Baalki)
A seasoned software expert with more than 20 years of experience in solution architecture and application development, as well as broad knowledge in digital payments

AI Coding Assistants and Tools Choice

AI coding assistants are on the rise and adoption of them accelerated from 2022, with the release of CHATGPT.

AI Coding Assistants improve developer productivity, and we are still in the early days of utilizing this technology to its full potential. A few things to consider with AI assistants.  

  • The performance of the underlying model seems an important indicator of how helpful the assistant is. Some machine learning models perform better at coding than others. 
  • Training the coding assistant on the codebase can be beneficial, especially for large or unique code bases. But there seem to be benefits without this training. 
  • Data ownership and retention are important for most tech companies. 

AI Coding Tools that can be built, will do more than coding assistants. Obvious applications of AI and Large Language Model include :  

Code Reviews: The AI tool critiques a submitted code review and points out obvious issues.  

Writing Automated Tests : There are plenty of engineers who think a tool should not write tests, but the reality is writing automated tests can be tedious. AI tools can generate test cases, which engineers can tweak before committing them.  

Refactoring: Refactoring tools in IDE are already advances and making things like renaming the methods or classes straight forward. But AI tools can take things further by executing refactor across a project based on the text inputs. 

Stale featured flag removal : A specialized and very useful use case for refactoring .

Compliance and Security Reviews : AI tools can point our how a code change might raise regulatory or security flags.  

When acquiring one of the above tools there are three options such as Build It, Buy it and Adopt It. 

If you can influence build/buy/adopt decisions. Follow a similar process as with any major engineering choices. Gather information and fill in the gaps; for example, by prototyping alternative for a sense of what they involve.  


Source : Book : “The Software Engineer’s Guidebook “(First Edition: November 2023) by Gergely Orosz

You may also like...