"Can't we just use AI?"
This was the response I received after presenting the findings of an operational review for an engineering department. My analysis had uncovered what many growing companies face: a lack of secure processes, no automated standards enforcement or CI/CD pipelines, and legacy architectures that were regularly failing under load, causing daily frustrations for end users.
The question, though likely well-intentioned, revealed a critical misunderstanding of what AI is and how it functions within a technical ecosystem. It's a question that treats AI as a magic wand, capable of instantly fixing deep, systemic issues. In reality, this approach is a recipe for disaster.
Accelerating Toward a Cliff
AI is a powerful accelerator. When you provide it with code, it learns from the existing patterns, styles, and quality. When you ask it to build something new, it uses the surrounding context as its guide.
Now, consider what happens when you apply this accelerator to a system plagued by problems:
- Insecure Processes: AI will learn from and replicate insecure coding patterns, potentially creating new vulnerabilities at a faster rate.
- No Standards: Without linting, style guides, or architectural principles, AI-generated code will only add to the chaos, creating more inconsistent and hard-to-maintain software.
- Legacy Architecture: Asking AI to build upon a brittle, failing architecture is like asking it to add a new story to a house with a crumbling foundation. It will intensify the strain and accelerate the system's collapse.
Without a vision and a plan for building resilient systems, you're not just accelerating development; you're accelerating toward a cliff. You are intensifying the very issues of technical debt and poor quality that are already holding you back.
The Prerequisite for AI: A Healthy Foundation
The prime candidates for AI augmentation workflows are teams and systems that are already modern and robust. These environments have established standards and guardrails that allow AI to be a safe and effective partner. When you have automated tests, CI/CD pipelines, and clear architectural patterns, AI can work within those constraints, minimizing risk and maximizing its benefits as a productivity multiplier.
The Right Way to Use AI: A Tool for Modernization
The good news is that you don't have to wait until your system is perfect to start leveraging AI. In fact, AI can be an incredibly powerful tool to help your systems reach that healthy state, provided you have a clear roadmap and proper goals.
Instead of asking AI to build new features on a broken foundation, use it strategically to help fix the foundation itself:
- Refactoring Legacy Code: Use AI tools to suggest modern refactoring patterns for old, monolithic code.
- Improving Test Coverage: Ask AI to help write unit and integration tests for parts of the codebase that lack coverage.
- Building Automation: Leverage AI to help write scripts for CI/CD pipelines or infrastructure-as-code.
- Enhancing Documentation: Use AI to generate documentation for complex, poorly-documented parts of the system.
In this context, AI becomes a partner in modernization. It helps you pay down technical debt faster so you can get to a state where it can safely help you build new features.
So, the answer to the original question is yes, you can use AI. But to "just" use it as a quick fix is a clear signal of a fundamental misunderstanding of the technology. True progress comes from using it as a strategic tool, not a substitute for a sound engineering strategy.