How to Write Developer Documentation That Engineers Actually Read
Creating documentation that developers want to read requires more than copying code comments into a page. It starts with treating documentation as a first-class product — AWS even calls its official docs the “source of truth” for users.
In practice, great developer docs combine a friendly yet precise tone, a clear structure, and a focus on usability. This guide dives into each of these elements with lessons and examples from AWS, Microsoft Azure, and OpenAI documentation.
You’ll learn best practices for writing in an engineer-friendly way (tone), organizing content for easy navigation (structure), and building documentation that’s actually helpful (usability).
🗣️ Tone: The Voice of the Documentation
Tone is the personality your writing conveys. In developer docs, it should be informative, confident, and human — never robotic.
All three tech giants steer toward a direct, approachable tone. For instance:
- Microsoft’s style guide recommends that communication be “warm and relaxed, crisp and clear, and ready to lend a hand.”
- AWS advises writers to “use active voice, use present tense, [and] write to the user in second person.”
- OpenAI keeps its documentation conversational, beginning its Codex guide with: “Codex is OpenAI’s coding agent. It helps you build faster, squash bugs, and understand unfamiliar code.”
The takeaway: write as if you’re speaking to a developer sitting beside you.
Use Active Voice and Second Person
Write to your reader, not about them.
- ✅ “You configure the server by running…”
- ❌ “The server is configured by running…”
Short, action-oriented sentences keep readers engaged and make instructions clearer.
✳️ Write in Plain Language
Avoid jargon unless it’s absolutely necessary. Microsoft’s guide puts it perfectly:
“Use everyday words when you can and avoid words you wouldn’t say to someone else in person.”
For example:
- ❌ “Use this procedure to change your password.”
- ✅ “Follow these steps to change your password.”
Simple language saves cognitive load — and engineers love clarity.
✳️ Be Helpful, Not Corporate
Tone also reflects attitude. Azure and AWS docs use encouraging, user-focused language. Instead of saying “Error 403 means access denied,” you can write:
“You may not have permission for this action. Check your IAM policy to confirm access.”
This slight tone change communicates support rather than blame.
🧩 Structure: Organizing Content for Findability
A well-organized doc helps readers find what they need fast.
✳️ Logical Page Structure
Leading platforms use a predictable pattern:
| Section Type | Purpose | Example |
|---|---|---|
| Quickstart | Helps new users get started fast | Azure API Management Quickstart |
| Tutorials / How-Tos | Step-by-step workflows | AWS S3 “Get Started” |
| Reference Docs | Exhaustive API endpoints | OpenAI API Reference |
| Conceptual Guides | Explains theory and architecture | Azure SDK Concepts |
For instance, Azure’s SDK documentation explicitly defines required content types — README, Quickstart, Conceptual, and Reference — ensuring consistency across all libraries.
✳️ Use Clear Headings and Lists
Use H2/H3 hierarchy and short paragraphs. Break steps into lists, e.g.:
1. Sign in to the AWS Management Console.
2. Open the Amazon S3 console.
3. Choose **Create Bucket** and follow on-screen prompts.
Azure’s guides also follow this numbered structure. Developers scan headings, lists, and keywords — make sure they can spot what they need within seconds.
✳️ Add Callouts and Tips
Callout boxes or notes enhance readability and usability:
💡 Tip: Creating and activating an Azure API Management service can take 30–40 minutes. Pin it to your dashboard to find it quickly later.
⚠️ Note: You won’t be charged for test buckets created during the AWS tutorial.
These visual cues break up text and emphasize key details.
✳️ Cross-Link for Seamless Navigation
Good docs lead users forward:
- Add “Next Steps” or “See Also” links.
- Cross-link to relevant pages (e.g., from “How to Create a Key” to “Using Keys in SDKs”).
Azure’s and AWS’s sidebars and “In This Article” panels make long-form content digestible. OpenAI’s docs add convenience with a quick search (⌘K) and top-level navigation tabs.
💻 Usability: Building Docs Developers Love
Usability is about reducing friction. Great documentation helps users reach their goal quickly with minimal confusion.
✳️ Lead With Code
Developers think in examples, not essays. AWS captures this perfectly:
“Don’t make me read – just show me some code.”
In OpenAI’s docs:
npm install -g @openai/codex
Then:
“Run
codexin your terminal to get started.”
It’s simple, copyable, and directly actionable.
✳️ Provide Short, Tested Snippets
Azure’s guidelines recommend:
“Short code examples that demonstrate single (atomic) operations.”
Avoid combining multiple concepts in one snippet. Each block should focus on a single task.
Always test your examples — nothing kills trust faster than broken code. Both Azure and AWS automate snippet testing through CI pipelines to prevent outdated examples.
✳️ Guide Users with Quickstarts
“Hello World” examples are a staple of usability. AWS’s S3 tutorial starts with:
Step 1: Sign in to the AWS Console.
Step 2: Create your first S3 bucket.
Azure’s API Management guide uses similar structure. Each guide begins with prerequisites, numbered steps, and a Next Steps section to ensure continuity.
✳️ Explain, But Don’t Overload
Provide context briefly and link out to deeper topics instead of cluttering the page. Define new terms once, and let users drill deeper only if they want.
Example:
“Each API key is tied to your project. To learn about scoping keys, see API Key Management.”
Keep explanations minimal, precise, and link-rich.
✳️ Prioritize Search and Accessibility
Docs usability extends to navigation and accessibility:
- Clear titles and tags improve search visibility.
- Code blocks should be copyable.
- Include alt text for screenshots.
- Use descriptive anchor links and headings.
Azure’s and AWS’s doc portals both integrate robust search and breadcrumb trails.
⚙️ Best Practices and Pitfalls
✅ Best Practices
- Use active voice and second person (“You can deploy…”).
- Write short sentences and use lists liberally.
- Include copy-pasteable code for every major task.
- Use plain language – prefer clarity over technical bravado.
- Create Quickstart guides to lower entry barriers.
- Keep docs continuously updated with releases.
- Maintain a consistent tone and style throughout.
- Design with search and navigation in mind.
❌ Pitfalls to Avoid
- Inconsistent terminology across pages.
- Walls of text without examples.
- Outdated snippets or screenshots.
- Repetitive explanations.
- Forgetting to specify intended audience.
- Skipping “Next Steps” or related links.
🧠 How AWS, Azure, and OpenAI Approach It
| Provider | Strengths | Weaknesses |
|---|---|---|
| AWS | Extensive examples, broad language coverage, detailed Quickstarts | Overly dense pages, deep nesting can overwhelm |
| Azure | Consistent tone and structure, strong visual formatting, atomic examples | Occasional redundancy between SDK and portal guides |
| OpenAI | Friendly tone, minimal setup friction, code-first approach | Limited advanced examples and fewer deep links |
Each follows its own documentation philosophy, but the best results combine:
- AWS’s completeness
- Azure’s clarity and structure
- OpenAI’s accessibility and friendliness
🧭 Documentation as a Product
Modern developer documentation is not an afterthought — it’s part of the user experience.
Treat docs like a product that evolves with your codebase:
- Version them alongside APIs.
- Encourage user feedback.
- Test examples automatically.
- Measure engagement with analytics.
As AWS puts it, docs should be a “living asset,” updated with each release.
When documentation feels alive, accurate, and human, developers trust your platform — and that trust translates into adoption.
🔚 Conclusion
Engineers are busy. They’ll skip docs that are verbose, outdated, or robotic. But when your documentation is:
- Friendly in tone,
- Organized for discovery, and
- Rich in practical examples,
…they’ll not only read it — they’ll rely on it.
Whether you’re writing for APIs, SDKs, or internal dev platforms, adopt the clarity and empathy shown in AWS, Azure, and OpenAI docs.
Your ultimate goal isn’t just to inform — it’s to empower. Documentation that engineers love is documentation that helps them build, debug, and succeed faster.
✍️ Write it once. Test it always. Improve it continuously.