New project announcement
I shipped skillcraft.ai - a tool that helps you find the best learning resources tailored to your goals. All you need to do is tell it what you want to learn, and I’ll find the right resources to get you there.
Up to date
Published
4 min read

Trevor I. Lasn

Building tools for developers. Currently building skillcraft.ai and blamesteve.lol

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.


Found this article helpful? You might enjoy my free newsletter. I share dev tips and insights to help you grow your coding skills and advance your tech career.


Check out these related articles that might be useful for you. They cover similar topics and provide additional insights.

Reflections
5 min read

A Company Is Not a Family. It's a Sports Team

'We're not just a company, we're a family!' It's a nice sentiment, sure. But it's also a load of crap.

Oct 5, 2024
Read article
Reflections
7 min read

Technical Debt Is Killing Your Business

And it will be your downfall if you choose to ignore it

Jul 31, 2024
Read article
Reflections
4 min read

How to Launch Software Projects On Time and On Budget

Learn the art of scope management to keep your projects fixed in time and cost

Oct 7, 2024
Read article
Reflections
3 min read

Engineering Managers Should Write Code

Engineering managers who stop writing code lose touch with their teams and become ineffective leaders

Sep 18, 2024
Read article
Reflections
5 min read

Company Culture Happens Outside Management

Why real company culture grows from the ground up, not top down.

Sep 14, 2024
Read article
Reflections
5 min read

Conway's Law: The Hidden Force Shaping Your Software Architecture

If you've ever wondered why your carefully planned software architecture ends up looking suspiciously like your org chart, you're not alone. Welcome to the world of Conway's Law.

Sep 24, 2024
Read article
Reflections
7 min read

The Real Cost of Meetings: What FAANG Companies Do Differently

Discover how FAANG companies like Amazon, Google, and Netflix reduce the hidden costs of meetings by embracing written communication and minimizing unnecessary gatherings.

Sep 17, 2024
Read article
Reflections
4 min read

Why I Value Firebreak Sprints for Managing Technical Debt

How scheduled developer freedom weeks can revolutionize your codebase and team morale

Apr 8, 2025
Read article
Reflections
5 min read

When Should You Actually Worry About Tech Debt?

Technical debt isn't the monster under your bed, but it can become one if ignored too long.

Sep 12, 2024
Read article

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.