September 22, 2023
Improving developer productivity by preventing and addressing technical debt with AI code reviews
Software engineers and developers are typically among the most expensive labor forces within organizations. The average base salary for software engineers in San Francisco was $167K a year. Because of this, it is unsurprising that one of the main priorities for C-level executives and upper management is to increase the productivity of their organizations’ developers. In Stripe’s developer coefficient report, 96% of the surveyed C-level executives stated that it is a high/medium priority for them to increase developer productivity in their organization.
Since increasing developer productivity is such a high priority, what actions can organizations take to achieve increased developer productivity?
To understand how to improve developer productivity, it is important to first understand what are the factors that hinder developer productivity. According to developers themselves, the biggest factors that negatively impact developer productivity in their organizations are maintenance of legacy systems / technical debt, leadership prioritization of projects/tasks, and building custom technology. Building custom technology and leadership’s task prioritization are factors that are likely addressed differently between organizations. For example, some organizations may simply require more custom technology than others. Therefore, in this blog, we’ll focus more on how to improve developer productivity by reducing the time spent maintaining technical debt.
So, what actually is technical debt? Technical debt is a term used to describe the consequences of making suboptimal decisions during the software development process.
As I see it, there are two ways to reduce time spent addressing technical debt. One is to decrease the amount of created technical debt and the other is to increase the speed existing technical debt is addressed.
Companies should ensure that they have robust processes in place to maintain high-quality software to prevent the creation of technical debt. To achieve this, companies should have CI/CD pipelines in place that help maintain code quality and prevent developers from pushing insecure or unreliable code. Modern CI/CD tools such as Circle CI and Jenkins offer a variety of plugins for different use cases, including but not limited to security scanning tools and code quality inspection tools. Additionally, companies should enforce code reviews in their teams to prevent problematic code from ever making it to the CI part of their development pipeline. Typically, code reviews are performed as peer reviews, where an engineer reviews another one’s code. This sounds like a simple process, but it is sometimes harder to make it work than one would think. Below is a screenshot that demonstrates one of the many reasons why.
Metabob is an AI code review tool that imitates the process of one engineer reviewing another’s code. Metabob's AI code review can detect problems arising from hundreds of different topic categories and understands the underlying code context, allowing it to detect more complex problems than other tools used for a similar purpose, such as Sonar. To provide an example, at the moment, Metabob's AI code review can detect problems arising from categories like unhandled edge cases, internal API mismatches, and race conditions. After detecting a problem, Metabob generates a description to communicate why there is a problem and also allows users to generate a code recommendation to instantly fix the detected problem.
As the second approach to saving time from dealing with technical debt is to address it faster, Metabob’s AI code review fits that use case as well. Similar to helping developers to prevent pushing problematic or unoptimized code, developers can use the AI code review tool to analyze old code to detect, understand and solve problems in it. Additionally, Metabob detects unoptimized code patterns, and can therefore help developers to quickly identify areas of code that can be refactored to improve code quality.
To see the power of AI code review yourself, you can try out the tool now on VS Code.