Several years ago, a CEO came to me and asked me to “take [his] engineering team to the next level.” What that meant, apparently, was that he had no idea what his team was doing, their systems failed every week, and progress had ground to a halt for years. The engineers had been there for years and were not particularly forthcoming with information. I brought in a team of trusted, skilled engineers and together we sifted through reams of ancient, undocumented code, learned how the pipeline worked, and implemented a multi-phased plan to replace the existing codebase layer by layer until the system was stable. And we let the pre-existing engineers go. It was a tremendous amount of work requiring a team of skilled, trustworthy people. Today, it could be done for a fraction of the cost and in a fraction of the time with AI.
Until only recently, developers held a lot of power. The systems they built were large and complex, and it would take even the most skilled developers a lot of time and attention to go through and understand how they work. Because of this, developers were the de facto gatekeepers of truth about the systems they work on, and that gave them tremendous leverage over their employers. Developers could make significant technical decisions, such as which technologies to use, based not on what’s best for the company but rather what they personally prefer to use. Worse, developers could (and did) make code deliberately obscure to ensure their continued employment.
AI is poised to be the great equalizer over this power dynamic. The leverage developers held was rooted in knowledge of the obscure. With AI, code can be exhaustively analyzed, work can be audited, and secrets can be brought to light. The cost of switching technologies is dramatically reduced, as entire systems can be rewritten by AI to use different technologies complete with AI-written test suites to ensure compatibility.
If your business relies on developers, the most fundamental step you can take is to use AI to comprehend and monitor your codebase continuously. I personally recommend running such an AI in-house for reasons I will go into in another article, but if you are a small company and your codebase is not particularly novel, an online AI is fine. With this foundation, you can take several steps to protect your business.
First is to audit developer productivity. Source control systems (like git) retain not only the changes made to the code, but who made the changes and when. AI can easily run through these changes and evaluate each developer on productivity, code quality, bugs and technical debt introduced, speed, documentation, scope of work, and more. Know who your best developers are without trusting them to tell you.
Next, use this AI to onboard new developers. Every developer who’s been onboarded anywhere knows it’s a slog. The documentation is never complete, and you always need to ask around to find out how every esoteric nuance that pops up works. An AI that is well-versed in the codebase immediately becomes mentor to the new developers, freeing up senior developers’ time and providing comprehensive knowledge that could not be otherwise found.
Further, dramatically reduce switching costs of employees and technologies. When an employee leaves, use AI to determine what you need from the employee on exit (e.g. passwords, periodic technical responsibilities, etc.) When a technology has to be replaced, use AI to map out all the functionality used, create test suites for replacement, and implement new integration code. It’s likely AI cannot do all of this without skilled supervision, but it can dramatically reduce the labor required.
Set up continuous real-time AI monitoring of your codebase and systems. Send your developers periodic assessments of their work. Good developers will appreciate continuous feedback on, for example, whether they introduced a bug or created problems by making some refactoring decision. As long as this isn’t used as an arbitrary cudgel, this feedback loop will guide the team toward better results.
Finally, and most visibly, let your developers use AI to accelerate their coding. Many developer tasks are arduous and mundane, such as refactoring code. The task is clear, but the work is spread out and highly detailed. Give your developers access to an AI that can write large chunks of mundane code, make refactors, write test suites, etc. An AI can do these tasks far more easily than a human, whose time is better spent on more intricate tasks.
While everyone is spouting off clichéd AI claims, like replacing their entire engineering team with an AI, the reality is that AI is more of a power-equalizer and force multiplier than an employee. Those who blindly cut workforce thinking AI can perform as a cheap replacement for humans will ultimately feel misled and lost, but that is a topic for a future article. Leaders who recognize what AI is and take tangible steps like the ones I described will quickly find themselves far ahead of the competition. The window for this advantage is closing. Move quickly.