Most technical posts fail for the same reason: they read like documentation. A wall of setup, a wall of code, a conclusion that just restates the title. Nobody reads that twice, and Google doesn't rank it well either, because nothing in it answers a specific question fast.
This is a structure that fixes that — one you can reuse for almost any technical post, from a bug postmortem to a tool comparison. If you haven't picked a platform or workflow yet, start with the developer blogging guide; this post assumes you already have somewhere to publish.
Start with a real question, not a topic
"Let's write about Redis caching" produces a generic post. "Why did our cache stop invalidating after we added a read replica" produces a good one. The difference is specificity — a real question has a real answer, and real answers are what people search for.
Before outlining anything, write down the actual question your post answers, in the words someone would type into Google. If you can't state it as a question, you don't have a post yet — you have a topic, which is a different thing.
A few reliable sources for real questions:
- Something you searched for and couldn't find a good answer to
- A bug or incident you spent more than an hour on
- A decision you made between two tools or approaches, and had to defend
- A question a teammate asked you that took more than one sentence to answer
Use a structure, not a blank page
Pick the shape that matches what you're writing, then fill it in. Three structures cover almost everything:
The postmortem — for bugs, incidents, and things that broke.
- What broke, in one sentence, and who noticed
- The symptom (error message, screenshot, metric spike)
- What you tried that didn't work, briefly
- The actual root cause
- The fix
- What you changed so it doesn't happen again
The comparison — for tool and library decisions.
- The decision you were facing, and the constraint that made it hard
- The options, with what each one actually costs (setup time, maintenance, lock-in)
- What you picked and why
- What would change your mind
The build walkthrough — for "how I built X."
- What the thing needed to do, in plain terms
- The two or three decisions that actually mattered (skip the boilerplate)
- What you'd do differently next time
In every case, put the answer near the top. Technical readers scan before they commit to reading — if your root cause or your recommendation is buried in paragraph twelve, most people bounce before reaching it.
Write the way you'd explain it out loud
The biggest tell of a stiff technical post is passive, documentation-style prose: "It was determined that the connection pool had been exhausted." Nobody talks like that. Write it the way you'd explain it to a teammate: "The connection pool ran out because we weren't closing connections on the retry path."
A few concrete habits that make technical writing easier to read:
Use "I" and "we." You did the thing; own it in the writing.
Keep code samples short and runnable. Paste the three lines that matter, not the whole file. If context matters, link to the repo instead of pasting fifty lines.
Name real tools and versions. "A Node library" is forgettable. "date-fns 3.2" is specific, searchable, and useful to someone hitting the exact same issue.
Cut the throat-clearing. Delete any paragraph that exists only to say "in this post, we will." Start with the problem.
Give it a title someone would actually search for
Titles that describe a specific outcome or problem outperform clever ones. "Debugging a Postgres Deadlock in Production" beats "The Great Deadlock Mystery" — both for search and for someone scanning a list of links deciding what to click.
A dependable pattern: [Verb] + [specific thing] + [context or constraint]. Examples: "Migrating a 200GB Postgres Table Without Downtime," "Why We Moved Off DynamoDB for Our Event Log," "Debugging a Memory Leak in a Long-Running Node Worker."
Keep the meta description honest and specific too — it's what shows up in search results and decides whether someone clicks. One or two sentences that state the actual outcome of the post, not a teaser.
Edit for length by cutting, not padding
A good technical post is usually 700–1500 words. If you're under 500, you likely skipped the "why" behind your decisions. If you're over 2000, you're probably explaining something the reader already knows (skip it) or writing two posts stitched into one (split it).
The fastest edit: read your draft and delete every sentence that restates something you already said. Technical readers reread code, not prose — repetition in the writing just adds friction.
Ship it, then let SEO do its job
Once the post is written, the structural details — meta description, images, internal links — determine whether it actually gets found. That's a separate, mechanical checklist rather than a writing problem; see the technical SEO checklist for the full list of what to check before you hit publish.
The habit that matters most, though, is the one before all of this: write down the real question as soon as you hit the bug or make the decision, while the details are still fresh. Posts written a week later, from memory, are always vaguer than posts written the same day.