I was reviewing an older repository during a production incident the other day and couldn’t figure out what sections of the code were doing or what the overall system looked like. It’s so frustrating to be in undocumented code.
Software documentation is a mature pillar of engineering these days. The tools are there, the patterns exist, the documentation standards are well-established. We just… don’t do it.
Why don’t we when there is documented correlation between high performing engineering teams and open and accessible codebases?
“It’s too much overhead,” we’d say. “We need to ship fast.” “The business doesn’t see the value.” “Just ask me” All perfectly reasonable-sounding excuses that masked a more uncomfortable truth.
Then AI happened, (well MCPs were the tipping point - “Agentic” if you please)
Suddenly, everyone’s obsessed with “context programming.” Documentation and Specifications become priorities. Clearly written guides, right in our codebases. “AI needs to understand our systems!” we declare, frantically writing context files that we should have been maintaining all along—the same practices that would have made our software accessible to developers with different experiences, learning styles, and backgrounds.
Wait a minute.
We deemed it valuable to document our systems so anyone could work on them—but only when that “anyone” was a machine working for effectively prisoner wages. A machine that would never take credit, never ask for a promotion, never challenge the status quo.
The same executives who balked at inclusion are now asking if our codebases are “AI-friendly.” The irony would be hilarious if it weren’t so revealing.
Here’s what I’ve come to realize: accessible software—whether for people with different experiences, newcomers to our field, or anyone outside the inner circle—was never a technical problem. It was a human problem. Documentation and inclusivity threaten gatekeepers. When knowledge is hoarded, influence is preserved. When systems are opaque, the few who “built the thing” remain indispensable.
It’s the Thiel playbook in action: “Competition is for losers.” Why build systems where anyone can contribute when you can maintain a monopoly on understanding? Why enable a free market of ideas when you can be the sole vendor of context?
But machines? Machines don’t threaten anyone’s ego. They don’t ask uncomfortable questions about why certain people get to make all the decisions. They just quietly make the gatekeepers more productive.
So yes, I’m thrilled that we’re finally building accessible, well-documented systems. I just wish making them accessible for all people—regardless of ability, background, or seniority—to share in creating and claiming credit for business value had been enough motivation.
Turns out we always knew how to build inclusive systems. We just needed the right motivation—and sadly, that motivation was never other people.
#TechLeadership #AI #EngineeringManagement #SoftwareEngineering