🚀Debugging Microservices & Distributed Systems
4 min read

Write Documentation Like a Journalist

Create comprehensive, engaging documentation by adopting journalistic techniques for research and storytelling

I’ve been writing documentation for years, and I’ve noticed something interesting: the best tech writers approach their work like journalists. They’re not just regurgitating information - they’re investigating, connecting dots, and telling a story. Here’s why this approach works and how you can use it.

The Parallels Between Journalism and Documentation

Journalists follow leads, dig deep, and piece together a narrative. Good documentation writers do the same thing. They don’t just list features - they uncover the ‘why’ behind each function and explain how it all fits together.

Take the React documentation, for example. It doesn’t just tell you what hooks are - it explains why they were created, how they solve common problems, and when you should (or shouldn’t) use them. That’s journalism in action.

When I’m writing docs, I start with a ‘lead’ - usually a key feature or concept. Then I ask questions:

  1. Why was this feature added?
  2. What problem does it solve?
  3. How does it connect to other parts of the system?

This investigation often uncovers gaps in my understanding. That’s good! It means I’m finding the spots where users might get confused too.

Telling the Story

With all the pieces in place, it’s time to craft the narrative. Good documentation tells a story - it has a beginning (the problem), a middle (the solution), and an end (the implementation).

For example, instead of just saying “Use the cache() method to store results”, I might write:

“As your application scales, repeated database queries can become a bottleneck. The cache() method provides a simple way to store and retrieve frequently accessed data, significantly reducing load times under heavy traffic.”

This approach gives context, explains the ‘why’, and helps the reader understand when and how to use the feature.

Documenting a New API Endpoint

Here’s an introduction to explain the concept, followed by a shortened journalistic example:

When documenting APIs, it’s crucial to provide context and value, not just technical details. Let’s compare a basic approach with a more journalistic style:

Basic documentation:

# POST /api/v1/users
Creates a new user.

Journalistic approach:

# POST /api/v1/users
- Streamlined User Creation
# Why
Automates user setup, saving ~15 mins per user for large orgs.
# Key Features:
- Auto-role assignment by email domain
- Existing auth system integration
- Custom welcome emails
# Usage:
async function createUser(name: string, email: string) {
const response = await fetch('/api/v1/users', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ name, email }),
});
return response.json();
}
const user = await createUser('John Doe', '[email protected]');
console.log(user);
# Watch out for:
- Email validation
- Rate limit: 100 requests/minute
# Coming soon:
Bulk user creation

This journalistic style provides context, highlights benefits, and anticipates user needs—all in a concise format. It turns dry technical info into a story about solving real problems.

Config Setting Example

When documenting configuration settings, it’s tempting to simply list the options and their basic functions. However, by adopting a more journalistic style, we can provide users with context, use cases, and potential impacts of each setting. This approach helps users make informed decisions about when and how to use these configurations.

Let’s compare a basic approach with a more journalistic style:

Basic documentation:

# DEBUG_MODE: boolean
Enables debug mode when set to true.

Journalistic:

# DEBUG_MODE: boolean
# Purpose:
Detailed logs for squashing bugs.
# Best for:
Development and prod issue investigation.
# Caution:
May impact performance in production.
# Pro tip:
Use with LOG_LEVEL for precision debugging.

In the journalistic approach, we’ve transformed a simple boolean flag into a story about problem-solving.

This style of documentation doesn’t just tell users what the setting does—it guides them on how to use it effectively. It anticipates questions and provides valuable context, turning dry technical information into a more engaging and informative resource.

By applying this approach consistently across your configuration documentation, you create a more user-friendly experience that can significantly reduce the learning curve for new developers and provide valuable insights even for experienced users.


Related Articles

If you enjoyed this article, you might find these related pieces interesting as well.

Recommended Engineering Resources

Here are engineering resources I've personally vetted and use. They focus on skills you'll actually need to build and scale real projects - the kind of experience that gets you hired or promoted.

Imagine where you would be in two years if you actually took the time to learn every day. A little effort consistently adds up, shaping your skills, opening doors, and building the career you envision. Start now, and future you will thank you.


This article was originally published on https://www.trevorlasn.com/blog/write-documentation-like-a-journalist. It was written by a human and polished using grammar tools for clarity.

Interested in a partnership? Shoot me an email at hi [at] trevorlasn.com with all relevant information.