Hey — I offer hands-on AI coaching for dev teams. I spend a day or two pairing with your engineers in your codebase, teaching them Cursor, Claude, Copilot, and the workflows that actually stick. No slides, no theory — just real work on real code. Your team leaves confident and shipping faster. Let's chat
Published
4 min read

Trevor I. Lasn

Builder, founder, based in Tartu, Estonia. Been coding for over a decade, led engineering teams, writing since 2015.

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
7 min read

Evolve or Become Irrelevant

Why staying relevant in tech means constantly adapting to new technologies and trends

Sep 15, 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
6 min read

High Performing Engineer Teams = motivation + enthusiasm + autonomy

Create the conditions where engineers want to excel and they'll surpass your expectations

Mar 7, 2025
Read article
Reflections
3 min read

Engineers Make the Best CEOs

Technical founders understand the product, ship faster, and make better decisions. Here's why engineering experience creates exceptional leaders.

Nov 6, 2025
Read article
Reflections
3 min read

Good Enough Is a Strategy

Your competitors will eat your lunch while you refactor

Nov 19, 2025
Read article
Reflections
3 min read

The 5:1 Rule: Effective Performance Reviews For High-Performing Teams

Research reveals the ideal ratio of positive to negative feedback within high performing teams

Mar 20, 2025
Read article
Reflections
3 min read

When Tasked with a Problem, Start with the Bigger Picture

When faced with a challenge, I always step back to see the whole picture first. It's like pausing a complex strategy game to study the map. You might lose a few seconds of play time, but you gain a crucial understanding of the battlefield.

Oct 3, 2024
Read article
Reflections
4 min read

Become a Better Engineering Manager with JQL

Using Jira queries to understand engineering trends and drive improvements

Feb 11, 2025
Read article
Reflections
6 min read

Software Engineer Titles Have (Almost) Lost All Their Meaning

Examining the Devaluation of Software Engineer Titles and Its Impact on Tech Industry Integrity

Oct 20, 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.