30-Year Veteran on Why AI Can't Replace Software Architects
Why Hands-On Architecture Still Wins in the AI Era
Dennis Doma is a 30-year software engineering veteran, Microsoft MVP, and the creator of Fluent Assertions — one of .NET’s most popular open source testing libraries. As a coding architect at Aviva Solutions, he’s spent decades battling the complexity that kills enterprise software. In this conversation with Beyond Coding, he shares how AI tools are reshaping his workflow — and where they fall short.
On architects who stop coding: “If you stop coding, if you actually stop building production systems, you lose that experience. If I had stopped coding for the last 3 years, I would have probably missed the whole AI scene.” Doma argues that software architects who retreat to high-level diagrams lose the ability to judge whether solutions actually work. The hands-on feedback loop — building, shipping, fixing bugs — is irreplaceable.
On AI-generated code ownership: “I treat all AI-generated code as mine.” When GitHub Copilot built most of his new open-source mocking library from a single issue, Doma was impressed — but immediately took ownership. He reviews AI-generated tests line by line, refactors code that doesn’t meet his standards, and iteratively updates instruction files so future generations improve. The code isn’t “AI’s code” — it’s his responsibility.
On accidental complexity: Teams blindly copy-pasting architectural patterns — onion architecture, clean architecture — without understanding why they exist. Developers with 10-15 years of experience become “overzealously” attached to SOLID principles, waving them like shields against pragmatism. “Yeah, but you don’t need this abstraction. Yeah, but it’s ready for the future. You don’t need this abstraction. That’s a smell.”
On junior developers and AI: Two archetypes emerge — those who avoid AI to preserve learning skills, and those who use it everywhere without understanding the output. Doma encountered a developer whose pull request worked (tests passed) but who couldn’t explain what the code did. His response: “I don’t care if you don’t practice TDD properly, but make sure the code is designed the way we want it and we can maintain it.”
On open source sustainability: The Tailwind team laying off 75% of staff because AI can replicate their premium components. Doma’s counter: people chronically underestimate the complexity behind mature libraries. “I’ve spent 15 years perfecting Fluent Assertions. Someone says ‘I can build this in a couple of days.’ Sure.” Open source code may become your code to maintain — plan accordingly.
5 Lessons from a Coding Architect on AI-Assisted Development
- Tests are your safety net — Whether code is human or AI-generated, robust tests are the ultimate validator. “If you blackbox the software and the safety net is your tests, then you should spend extra attention on that.”
- Documentation compounds with AI — ADRs, commit messages, and decision records become dramatically more valuable when AI tools can traverse them. Companies that invest in rich context will be “leaps and bounds ahead.”
- Let teams choose their own AI tools — Don’t standardize on one tool. “Let people use whatever AI tool they want because it changes all the time.” Track usage, extend licenses, but don’t constrain experimentation.
- Context is like milk — Doma learned the hard way about context compression: his AI merged and pushed experimental code to main. Feature branches and frequent commits are essential safety rails.
- Open source is still worth it — “You give but you get so much back. Knowledge, experience, new tools, new insights, visibility.” The ROI isn’t just the code — it’s the community feedback loop.
What This Means for AI-Powered Software Teams
Doma’s perspective cuts through the hype: AI coding tools are genuinely transformative for execution speed, but they don’t replace the architectural judgment that comes from decades of hands-on experience. The developers who thrive will be those who use AI as a power tool while maintaining critical thinking — understanding why patterns exist, not just applying them. For organizations, the message is clear: invest in documentation, test quality, and architectural mentorship. These are the assets that compound when AI does the typing.