Blog
Why engineers hate writing docs (and why they're right)

If you've ever tried to get an engineering team to write more documentation, you know how it goes. There's a brief period of compliance after the mandate, a few wiki pages are created or updated, and within a month the team is back to its previous baseline. The docs initiative joins the collection of well-intentioned processes that didn't stick.
The standard management interpretation is that engineers are lazy about documentation or don't understand its importance. This interpretation is wrong, and building policy on it produces initiatives that fail repeatedly for the same structural reasons.
Engineers resist documentation because their objections are correct.
The real objections
Context switching is expensive. Writing prose and writing code use different cognitive modes. Switching from the tight, logical thinking required for debugging or architecture to the explanatory, audience-aware thinking required for documentation is draining in a way that doesn't show up on timesheets. Most engineers report that the context switch costs more than the writing itself: the twenty minutes to get back into the code after spending thirty minutes on a wiki page.
It feels low-status. In most engineering cultures, shipping code is high-status and writing about code is not. Nobody gets promoted for their wiki contributions. Nobody's performance review highlights the quality of their architecture docs. The incentive structure tells engineers that documentation is secondary to building, and they respond rationally to the incentives.
They know it'll be outdated within weeks. This is the objection most managers dismiss and most engineers feel most strongly. An engineer who has watched their carefully written architecture doc become inaccurate after a few sprints of changes learns that the effort of writing docs has a short half-life. The rational response is to invest less effort in something that decays rapidly, not more.
The audience is unclear. Who are these docs for? Future engineers? Current teammates who already know the system? Product managers? Depending on the audience, the appropriate level of detail, the framing, and the technical depth are completely different. Without clarity about audience, the engineer either writes at the wrong level or writes nothing because the ambiguity makes the task feel unbounded.
Why motivation isn't the fix
Knowing that these objections are structural rather than motivational changes what the fix looks like.
Motivational approaches (mandating docs, adding docs to sprint requirements, gamifying contributions) produce temporary compliance but don't address the underlying reasons engineers resist. The context switching is still costly, the status hierarchy is unchanged, and the docs still go stale.
The approaches that actually work address the structure rather than the motivation.
Remove engineers from the writing loop. Self-writing documentation generates structured docs from the engineering activity that's already happening: PR descriptions and commit messages, Slack conversations where decisions are discussed, meetings where architecture is debated. The engineer's contribution is the work itself, and the documentation is a byproduct rather than an additional task.
Make docs stay current automatically. When documentation updates itself as the underlying code and conversation change, the staleness objection disappears. Engineers are willing to review and refine docs that they trust to be mostly accurate. They're not willing to write docs they know will be wrong within a month.
Clarify the audience through format. Instead of asking engineers to write for an undefined audience, provide structured formats: decision logs for architecture decisions, onboarding docs for new hires, engineering wikis for system documentation. Each format implies its audience, which makes the writing (or reviewing) task bounded rather than open-ended.
The review model
The most sustainable documentation model treats engineers as reviewers rather than authors. The system generates the initial documentation from available sources (code activity, conversations, meetings). The engineer reviews, corrects, and enriches. The review is a ten-minute task rather than a two-hour writing session, the context switch is minimal, and the engineer's contribution is quality assurance on something that already exists rather than creation from scratch.
This model respects engineers' time, addresses their objections, and produces docs that stay current. It also tends to produce better documentation than manual writing, because the generated docs are comprehensive (they capture everything that happened rather than what the engineer remembered to write down) and consistent (they follow a standard format rather than varying by author).
Frequently asked questions
What about engineers who actually enjoy writing docs? They exist and they're valuable. In the review model, they become the people who enrich and improve the generated docs, adding the nuance, the context, and the narrative that automated systems can't produce. Their skills are better used on enrichment than on the baseline writing that the system handles.
Will engineers trust AI-generated docs? More readily than you might expect, because the docs are generated from sources the engineer recognises: their own PRs, their own Slack threads, their own meeting discussions. The docs cite these sources, so the engineer can verify any claim by checking the original. Trust is built on transparency, and citation-backed generation provides it.
How do we handle classified or sensitive information? The system should have configurable boundaries for what it captures. Certain Slack channels, certain repos, or certain meeting categories can be excluded. The engineer controls what the system sees, which means sensitive information stays out of the generated docs.
Related reading: The cost of writing engineering docs, The documentation paradox, Self-writing docs explained. Related pages: Self-writing docs, For engineering teams.
Other blog posts:

How much is bad documentation actually costing you?

Why Confluence doesn't work (and what does)

What if your docs wrote themselves?

The documentation paradox: every PR makes your docs less accurate

Good docs are a hiring advantage

A new engineer costs $15K/month while they ramp. Docs cut that in half.

Your AI tools are only as good as your docs

Your codebase is documented. Your decisions aren't.