What nobody tells developers about documentation
Developers have a lot of misconceptions about docs:
I’m here to give you a reality check. “Build it and they will come” is a lie. Users don’t know what your product does, how to use it, or why they would use it. You need docs to explain this. These misconceptions aren't your fault, though. The big reason they exist: most guides to writing docs suck. They are too conceptual, high-level, and aren’t written for busy engineers or founders. We’re changing that here. 1. It’s ok to start from the startNothing matters if users can’t use your product. When users start with your product, you want them to go from “nothing” to “something” as quickly as possible. Don't worry about having perfect docs coverage. Start by writing the most basic, obvious doc to help someone use your product. What would you send to a friend to help them get started with this feature? If this means helping them install and set up your product, do it. If this means teaching them the concepts necessary to succeed, do it. Either way, having a beginner’s mindset to your own product reveals the most important docs you need to write. For example, our new error tracking docs have less content than our other products, but it does include the core of installation, monitoring errors, and viewing stack traces. This gives users enough to get started and we can build on it from there. 2. Good docs are not written in one dayLike a lot of writing, you expect your first draft to be a polished doc and become discouraged when that isn’t the case. You shouldn’t be. Polished docs aren’t the product of a single stroke of genius, but a result of iterative improvement. Our Next.js doc started as a simple page with one snippet for installing and another for capturing a custom event. Since then, it changed 49+ times to the current version with multiple install methods, details on app and pages routers, frequently asked questions, and more. This iteration is guided by feedback. For us, this means reviewing:
We take time every week to review these and make improvements to docs. We also benefit from a huge amount of small fixes from our community. It is the repeated little improvements that creates a coveted polished docs experience. 3. Your readers are in a rushReading a book is a leisurely activity. Reading docs is the opposite. Docs readers are trying to get what they need and get back to work. Their goal could be figuring out if your product is a good fit, installing it for the first time, debugging an issue they’re having – anything, really. You want to help them do this as fast as possible. Here’s what we’ve found most important for accomplishing this:
When done well, docs don't look or read like a book. They have the variation and skimmability that helps readers find what they need fast. 4. Focus on examples over abstractionsDevelopers live in a world of abstractions. On a daily basis, we use ideas like synchronicity, security, immutability, reactivity, and frameworks to make these concepts comprehensible and practical. A PostHog example of an abstraction is user identification. Basically, PostHog's way of associating events with a user. A common mistake for documenting an abstraction like this is dumping everything in our head onto the page: explaining how identification works, how we process identified events, and why it's important. The problem with this is that:
Focusing too much on documenting concepts and abstractions can lead to docs that bore or confuse users instead of helping them. Docs should be a complement to a product's abstractions, not a replacement. You can avoid this mistake by being as practical as possible. For us, this means focusing on implementation of user identification using You don't even need to scroll to find the first one. Examples are a great way to make sure your docs are practical. Always try to show rather than tell. For example:
When is the right time to explain abstractions?It won't be obvious, but there will be signs:
5. Docs are a product tooThis means ideas that apply to building a great product also apply to writing great docs.
Just like any product, how people feel when reading your docs is an output of how well you’ve understood their needs. You have to treat documentation with the same care and rigor as everything else you ship. This can seem like a chore, but remember: docs are where many customers fall in love with everything you’re shipping. Treating them with any less care is a disservice to what you’ve built. Great docs to take inspiration from
Words by Ian Vanagas, docs respecter. |
Similar newsletters
There are other similar shared emails that you might be interested in: