Skip to content

Blog Post (Long Form)

A substantial web article of 1,500-3,000 words - long enough to go deep, short enough to respect the reader’s time.

Long-form blog posts occupy a specific territory: they go deeper than a quick take but stop before they become a whitepaper or essay. The format works because it has a conversational quality that whitepapers lack - the writer is present, the voice is recognizable, and the reader feels addressed rather than briefed.

Structure matters more in long-form than in short-form because the reader needs navigation. Headers every 300-500 words, a clear progression from setup to insight to implication, and an opening that immediately establishes the specific territory.

[Title: specific, not generic]
[Opening: establishes specific argument and stakes - 2-3 paragraphs]
[Section 1 header]
[Content - 300-500 words]
[Section 2 header]
[Content - 300-500 words]
[Section 3 header]
[Content - 300-500 words]
[Closing: landing, not summary - 2-3 paragraphs]

Thought leadership, technical explainers, opinion pieces, narrative case studies, educational content.

Quick updates, operational documentation, formal reports, anything requiring strict citation.

columnist, friendly-mentor, candid, warm, diataxis-explanation, classical-argument

adr: An ADR is short, structured, and records a specific decision. A long-form blog post is conversational, substantial, and explores a topic for a general audience.

prd: A PRD defines product requirements internally. A long-form blog post communicates ideas externally to a broad audience.

Write as a long-form blog post (1,500-3,000 words). Establish the specific argument or question
in the opening - not the topic, the specific angle. Use headers every 300-500 words to give the
reader navigation. The structure should move from setup through insight to implication. The
opening must earn the reader's next 1,500 words immediately. The closing should land - not
summarize. Give the reader something to carry away. Conversational but substantial - present in
voice, deep in content.

See the Blog Post (Long Form) template.

Columnist, Friendly Mentor, Candid, Warm, Diataxis Explanation, Classical Argument

Operator, Reverent, Pastoral

Architecture Decision Record, Product Requirements Document

Your Daily Standup Is Solving the Wrong Problem

Section titled “Your Daily Standup Is Solving the Wrong Problem”

Three engineers on your team are joining your 9am standup at 9:30pm their time. They have been doing it for a year. You have noticed they attend less than the US-based engineers. You have probably assumed it is engagement or discipline. It is neither. It is 9:30pm.

The daily standup is one of the most persistent rituals in software development, and one of the most misunderstood. Most teams that run standups believe they are running a coordination meeting. What they are actually running is a presence ritual with some coordination features bolted on. Understanding the difference is what will help you decide whether to change the format - and if you change it, how to do it without breaking what actually matters.

The synchronous standup has two functions that are usually bundled together.

The first is status visibility: who is working on what, what is blocked, what dependencies are about to collide. This is the explicit purpose. A well-run standup surfaces blockers early, catches coordination problems before they become delays, and keeps the team’s work visible to everyone on it.

The second is social presence: the daily act of gathering, of being in a shared moment, of saying “I am here and so are you.” This function is rarely named, but it is real. Teams that have daily standups feel different from teams that do not - there is a rhythm, a sense of shared forward motion, that does not come from the status itself but from the daily gathering.

The problem with synchronous standups for distributed teams is that they impose a coordination overhead to serve the presence function - and the coordination function can be served more efficiently with a different tool.

An async standup is a structured written update posted to a shared channel. The format that works best is simple: what shipped in the last 24 hours, what is in progress today, what is blocked or at risk. Blocked items include a direct @mention of the person who can help.

Three things happen when you move from synchronous to async that are genuinely better than the meeting.

The information persists. When @priya posts at 8am India time that the auth service is throwing a 401 on a specific endpoint, that post is there when @dan starts his day in California three hours later. The engineer who hits the same 401 at 2pm can search the channel and find Priya’s diagnosis. In a synchronous standup, the same information evaporates after the meeting unless someone wrote it down. Nobody wrote it down.

Blockers reach the right person faster. In a synchronous standup, a blocker reaches the person who can resolve it only if that person attended the meeting and made a note. In an async channel, the @mention sends a direct notification. The blocker routes itself.

Everyone participates on a schedule that fits their life. The India-based engineer posts at 8am their time. The west coast engineer posts at 9am their time. Nobody is joining a meeting at 9:30pm. The team’s work is visible to everyone, and everyone contributed on a schedule that was reasonable for them.

Here is where most writing about async standups stops being honest: the social presence function does not transfer.

A written update in a channel is not the same as being in a room together, or even a Zoom call together. The daily standup, whatever its coordination failures, created a shared moment - a daily rhythm of gathering that built team fabric over time. Async channels do not do this. You can build warmth and personality into your posts, but the shared-moment feeling does not survive the format change.

This is the real reason some teams switch to async standups and feel more fragmented three months later. The coordination problem is solved. The presence problem is worse.

The teams that get this right do not choose between synchronous and async. They separate the two functions and handle them with different rituals. The async standup handles coordination - status, blockers, visibility. A weekly working session handles presence - a synchronous meeting that exists explicitly for collaboration and connection, not status reporting.

The structural change is simple. The adoption challenge is getting the team to post consistently and read attentively.

Start with a pinned template in your standup channel. Three fields. Ship it on Monday. Ask for updates by 10am local time. The team lead reads the channel at the start of their day and responds to blocked items within 30 minutes. That commitment to reading and responding is what makes the channel feel alive rather than a place where updates go to be ignored.

The first two weeks will be awkward. Engineers will post and wonder if anyone read it. Some will miss days. Hold the norm firmly and gently: the format only works if everyone participates. At week three, most teams find their rhythm.

The synchronous meeting does not disappear - it transforms. A 60-minute Thursday working session, reserved for discussion that needs real-time exchange. Not a standup. Not status. A session for the work that benefits from being in the room together.

Run it for 30 days before you decide whether it is working. Track blocker resolution time, participation rate, and do a short team survey. If it is not working, you will have data on what to adjust. If it is working, you will know why.

The shift to async standups is not really about format. It is about what you believe a distributed team owes each other.

The synchronous standup says: we owe each other shared presence, daily, at a fixed time, regardless of what that costs people on the edges of the timezone map. The async standup says: we owe each other visible work and honest blockers, on a schedule that respects the fact that we live in different places.

Both are forms of accountability. The question is which form fits the team you actually have - not the co-located team the standup was designed for, but the distributed team that exists now, on four continents, at four different local times.

The ritual that serves that team is not the one you inherited. It is the one you build.