Communication
This page is for everyone, not just engineers. Sales, ops, finance, design, support: the work differs, the four questions do not.
It is built as a kernel: what is actually going wrong, the policy we chose, and what we do because of it.
The diagnosis: status gets pulled#
In most teams, information moves only because someone senior goes and gets it. Everything expensive follows from that one property.
What it costs, concretely:
- The lead’s week goes into collecting it. Hours spent finding out where things stand are hours not spent clearing what is in the way.
- Ad-hoc meetings multiply. A meeting to find out what is happening is what gets scheduled when nobody wrote it down. Four people, an hour, no record, needed again next week.
- Help arrives late. A blocker held three days costs three days. Whoever could have cleared it in ten minutes was free on day one and did not know.
- Bad news compresses to the deadline. A slip named in week one has options. In week four it has consequences.
The tell: if your lead knows what you are doing because they asked, this already failed. Count the “quick calls” in a normal week. That is the interest on updates nobody wrote.
Worse is when nobody asked and nobody noticed. Being chased at least means someone is tracking the work. Silence on both sides means it dropped out of everyone’s picture, and nothing corrects it: the project drifts for a month before anyone reopens it, and the person doing it is invisible at review. Getting asked is a bad sign. Not getting asked is not automatically a good one.
Four signatures of a bad update. Run these over your last message in ten seconds.
- Fluff. “Making good progress.” Delete the sentence and nothing is lost, which means there was nothing in it.
- The blocker is missing. It reads fine and omits that nothing moved.
- Activity instead of status. What you touched, with no state and no number. “Two days on the supplier list” does not say whether the list is done.
- No next step. Nobody knows what happens tomorrow, including you.
The policy: push before you are asked#
Push information up and out before anyone asks, and make every update complete enough to act on.
Like any real policy, it rules things out:
- Waiting for the meeting. A call is where a surfaced problem gets resolved, not where it gets surfaced.
- “I will tell them when I know more.” Send what you know now, with the uncertainty named.
- Status by meeting. If the only way to learn where things stand is to attend something, we picked the most expensive option available.
- The bare complaint. A blocker with no proposal hands your problem to someone else.
- Reporting only bad weeks. If people hear from you only when something breaks, your silence starts to mean something it should not.
The bar: a reader who was not there can say where the work stands, whether they are needed and for what, and what happens next, without replying to ask.
Pushing is not pinging. Read literally, “push everything” would bury a lead with eight reports under eighty interruptions, which is the same problem pointed the other way. So everything here is batched onto a clock: one daily line, one weekly report, and an unscheduled message only when something actually changed. Eight reports is then eight short things at known times, and the only unscheduled traffic is the traffic that earns it. If your updates are interrupting people, you are not batching, and the fix is the clock rather than less honesty.
Some things also do not belong in writing at all, which is the next section.
Sync or async#
Default to async, and switch to a call for a named reason. Async is searchable, interrupts nobody, and gives people time to think. Too much of it and decisions stall; too much sync and deep work fragments while nothing gets written down.
| Situation | Medium |
|---|---|
| Conveying something: status, a risk, a decision already made | Async |
| A question with a clear answer | Async |
| You want a considered answer, not the first one | Async |
| It does not affect anyone’s next few hours | Async |
| Three exchanges and the gap is not closing | Call. The medium is the problem |
| Conflict, difficult feedback, disagreement on direction | Call. Text strips tone |
| Thinking together, when you do not know what the answer looks like | Call. Async conveys, it does not discover |
| A decision is blocked and waiting costs more than the interruption | Call. Unblock it |
The rule under the table: async to convey, sync to decide or to discover. Either way the outcome ends up in writing. When you do call, run it actively and leave with one shared note.
Make async work. Incomplete messages are why async fails: a vague message triggers a question, which waits hours, which triggers another, and a one-exchange thread becomes a two-day delay. So every message does three things:
- Lead with the point. Conclusion or ask in the first sentence, context after (see The Pyramid Principle).
- State the ask. Who does what by when. “Let me know your thoughts” is not an ask.
- Give enough to answer. What you tried, the constraints, what a good answer looks like. Never make the reader come back for something you already had.
The four questions#
Every update answers the same four, one item at a time. It is a way of thinking, not a form: if you cannot answer all four for something you own, you are not on top of it, and that is the finding.
| Field | Answers for the reader | Forces on you |
|---|---|---|
| Current status | Where are we? | Do I actually know? |
| Challenges / blockers | Am I needed, and for what? | What is really in the way? |
| Next steps | What happens next, can I count on it? | Have I decided what is next? |
| Insights & feedback | What are we learning? | Am I thinking, or just doing? |
All examples below are invented, and every bad one is a mistake all of us have sent.
Current status: a state and a number, not an effort. If nothing moved, say so; that is more useful than a sentence built to sound like motion.
Bad: “Been deep in the supplier migration, making good progress.”
Good: “12 of 15 suppliers migrated. The remaining 3 need signed terms.”
Challenges / blockers: the blocker plus the path. Three lines: what is blocked, what you recommend, what you need from whom by when. If you already decided yourself, say so and why, so it can be corrected cheaply instead of discovered late.
Bad: “Still waiting on legal, they’re slow.”
Good: “Blocked on legal review of the new terms. I want to send the standard terms to the last 3 suppliers and paper the changes after. Need a yes from Andro by Thursday, or the migration slips a week.”
Next steps: one line, specific, with a date. This is the field someone can check, which is what makes it accountability. If you cannot write it, you do not have a goal for the week, you have a topic.
Bad: “Keep pushing on the migration, hopefully wrap up soon.”
Good: “Last 3 suppliers signed and live by Friday 25 Jul.”
Insights & feedback: what is working, what is not, what we should do. The field people skip, and the one that turns you from a resource into a colleague.
Bad: “Process feels a bit heavy at the moment.”
Good: “Every supplier stalls at the same terms clause; let us pre-clear it with legal once instead of per supplier. Doing the calls in batches of five cut my admin time in half, so I am keeping that.”
Every good line above is checkable. That is the whole bar.
Three clocks#
Same four questions, three cadences. The change-driven one is what actually prevents surprises; the other two are the floor.
| Beat | When | To whom | Cost | What it buys |
|---|---|---|---|---|
| On change | The moment it changes | Whoever is tracking it | 2 minutes | No surprises |
| Daily line | Before you stop | Your team channel, publicly | 2 minutes | Nobody has to ask; blockers visible same day |
| Weekly report | Friday | Your lead, privately | 15 minutes | Reflection, energy, metrics, the honest ask |
On change. The moment the picture changes for anyone tracking your work, they hear from you: the date moved, the estimate doubled, the approach does not work, the number went the wrong way. A risk flagged while there is still time to respond is a gift; the same risk found afterwards is damage control. Holding a Monday blocker until Friday throws away four days you already had.
The daily line. One message in your team channel before you stop. Two minutes, one line per item you are moving.
Daily · Priya · Tue 21 Jul
- Supplier migration: 12 of 15 live.
- Last 3: blocked on legal. Proposing standard terms now, papered after.
Need a yes from Andro today or it slips a week.
- Next: batch calls with the final 3 tomorrow morning.
- Public, not a direct message. So four other people learn something without asking, and whoever can unblock you sees it untagged.
- Nothing moved? Say that, and why. “No progress, the escalation took the day.” That is how a lead learns your week is being eaten while there is still week left.
- You are not asking permission. Nobody approves it, nobody scores it, nothing needs polish.
- It replaces most “quick syncs”. If you would rather have a 15-minute call than write four lines, price it: four lines against an hour of four people’s attention, with no record at the end.
Written, or a live standup? The daily beat runs either way and the four questions drive both. Written is the default: it costs nothing to attend, works across hours, and leaves a record. A live standup is worth it when a team is new and still building shared context, when something is in crunch or on fire, or when the written lines keep drawing clarifying questions. If you run one, keep it to ten minutes and have someone post the same written line after, so the record exists and the people who were not there are not left behind.
Async raises the bar on the writing, and that is the real cost. In a room, an ambiguous sentence costs one follow-up and five seconds. In a channel it costs a round trip across two working days, and more often it costs nothing visible at all: the person who could have unblocked you reads the line, cannot tell whether they are needed, and moves on. So a written daily line has to be impeccable, which means four specific things:
- A number, not a quantifier. “12 of 15”, not “most of them”.
- The blocker names a person and a deadline. Not “blocked on legal”, but “need a yes from Andro today, or it slips a week”.
- No shorthand only your sub-team decodes. Anyone in the channel should be able to act on it without asking what it means.
- Nothing left implied. If you need something, ask for it in the line. A hint is not an ask.
The test: could someone who was in none of your conversations this week read it and know whether they are needed? If your lines reliably draw a “what do you mean?”, that is not a personal failing, it is the signal that this work has outgrown async for now. Run the standup live until the writing catches up.
The weekly report#
Every Friday, everyone sends their manager a short report. IC to lead, lead upward, heads to the CEO, same format at every level. Because it rolls up, by Friday evening a leader has an honest read of the whole org without chasing anyone. It feeds Monday’s 1:1 (which then skips the recap) and supplies the causes behind the numbers at the WBR.
Fifteen minutes to write, five to read. If it takes longer, it is too polished. The format combines Mochary’s weekly update, Patagonia’s 5-15 report, PPP, and the retrospective; keep the fields, use whatever labels your team knows.
Weekly Report · [name] · Friday [date] (15 min to write, 5 to read)
1. Energy (1-5): sustainable and inspired?
a. your number (5 = energized, sustainable · 3 = coping, losing spark · 1 = running on empty)
2. Wins
a. what worked (an outcome with the number, not effort)
3. Progress / next
a. shipped this week
b. on deck next
4. Where my time went
a. the 2-3 things that took the most time (e.g. ~12h X, ~6h Y, ~4h Z)
5. The problem, and what I'll do differently
a. the real problem: specific, with the data
b. the concrete change you are making because of it
6. Metrics vs target
a. the number you own, or one you propose; mark G / Y / R
7. Need help?
a. yes / no; if yes, the exact decision or unblock, and by when
8. One idea to make things better
a. optional: one durable improvement (not a new channel nobody maintains)
The three fields people skip and should not: energy is where a manager catches burnout before it becomes a resignation, so do not hide in a safe 3; where my time went is the fastest way to spot the 15-minute thing that took four hours; the problem plus do-differently is where growth actually happens.
Which metric? The one to three numbers you own, not the company north star and never a vanity number. No metric assigned? Propose one tied to your current work: overdue invoices, first-response time, onboarding completion, error rate. Proposing it forces you to define success, and gives your manager something to confirm or correct.
Filled example:
Weekly Report · Priya · Friday 17 Jul
1. Energy: 4. Hard week, but the migration finally moving has me fired up.
2. Wins
a. 12 of 15 suppliers migrated; onboarding time 9 days → 4
b. That is roughly 30 hours a month back for the ops team
3. Progress / next
a. Shipped: batch onboarding calls, new terms template
b. Next: final 3 suppliers, then retire the old process
4. Where my time went
a. ~14h onboarding calls, ~8h chasing legal (more than it should have), ~5h admin
5. The problem, and what I'll do differently
a. Every supplier stalls on the same terms clause, so legal review is
serial and I am the queue
b. Pre-clearing the clause once with legal, instead of per supplier
6. Metrics vs target
a. Onboarding time: G (4 days vs 5 target) · Suppliers live: Y (12/15)
7. Need help?
a. Yes: sign-off to send standard terms to the last 3 and paper changes
after. Need it Thursday or we slip a week.
8. One idea
a. A shared terms FAQ would stop the same clause question five times over.
Every line earns its place: the win carries a number and its business impact, the problem is a specific finding rather than “I was slow”, the do-differently is a real change, the ask is a concrete sign-off. A reflection that changes what happens next, not a performance.
Where to send it. To your manager, not a broadcast, in a persistent private place. Best default: a running doc per person shared with your manager, newest on top, which becomes the 1:1 agenda and the performance record. The honest fields only stay honest off-stage; transparency happens at the roll-up, where your manager shares a synthesized team read and the numbers.
Running an active sync#
A passive sync is people taking turns describing what they did, ending when the time does. An active sync has something specific it must produce, and someone driving it there. If a call cannot name what it must produce, it should have been a message.
- Before: write one sentence on what we need to leave with, a decision, a direction, an unblock. Send the pre-read (the four questions, plus the options if a decision is needed). No pre-read, no meeting. Invite only people whose absence would change the outcome.
- During: open with the decision, not the background; nobody re-presents the pre-read. Say who decides, because most stalls are an unnamed decider rather than real disagreement (see RAPID). Park new topics. Ask questions that improve the work, not ones that score points.
- If it cannot be decided: the output is not “let us discuss further”. It is the missing fact, who gets it, and by when.
- Length: 15 minutes to unblock or decide between few options, 45 for depth, 90 for design work. The point is noticing when you default to 60 out of habit.
- After: one shared note, immediately. That is the next section, and it is not optional.
One note, everyone the same#
Two people leave the same call with different understandings of what was decided. That is the normal case, not the exception, and it stays invisible until someone builds the wrong thing. Alignment is not something you feel in the room. It is something you check in writing.
So every sync produces one note, and everyone who was in it reads that same note. Not private notes, not each person’s own takeaway.
- Who writes it: whoever called the meeting. If they are presenting, they name a notetaker before it starts, not after.
- When: immediately, before context fades. Same day at the latest.
- Where: the thread or doc where the work lives, so people who were not in the room find it without asking anyone.
- The check: post it back to everyone who was there. Anyone who reads it and disagrees corrects it in the thread, and that correction is exactly the divergence you were trying to surface. Catching it costs one reply instead of a sprint.
[Topic] · [date] · called by [name]
Decision: what we are doing
Because: the reason, in one line
Ruled out: what we are not doing, and why
Owners: X does A by [date] · Y does B by [date]
Open: what is still unanswered, who is chasing it, by when
Ruled out is not optional. A decision recorded without its discarded options gets relitigated three weeks later by someone who was not there, and nobody can remember why.
A call with no note will happen again. That repeat is the price of skipping two minutes.
The lead’s half#
Every beat above is a two-way obligation. A team that pushes into silence stops pushing.
- Read them before Monday, ahead of your 1:1s and the WBR. A report read a week late stops being sent honestly.
- Clear the “need help” asks first. The ask goes on your desk now, not parked for the next 1:1. Being the four-hour wait is the failure mode (see Expectations).
- Answer daily lines that carry a decision. A proposal in one is a request for a yes or no, usually with a same-day deadline.
- Watch the energy number. A 4 sliding to a 2 over a few weeks is the earliest warning you get.
- Reflect the pattern back, early and kindly, in a 1:1: the same problem every week, a do-differently that never happens, a metric stuck red. Never save it for a review.
- Write your own from theirs, so an honest signal rolls up instead of being re-spun at each level.
- Never punish the honest one. The first time a named blocker costs someone, the reports go quiet and you are back to pulling.
When the same question keeps coming up, that is a systems problem, not a communication one. Asking for availability means calendars are not honest. Asking who owns a task means ownership was never explicit. Asking for status means updates are not being pushed. Fix the source; a recurring question is a signal, not a norm.
Responsiveness#
We work different hours by design (see Scheduling). Async is the freedom to work when you work best, not permission to go dark.
Inside your declared windows you are reachable. Acknowledge a direct ask by the end of your next working block, even if it is only “seen, you will have it Thursday”. Never sit on a blocker more than a day. The availability on your calendar is a promise.
Slow, silent replies are the first sign of a teammate others cannot build on. The people who answer and close the loop are the ones the team reaches for: that is social capital, earned one prompt reply at a time.
The same posture points upward. Demand as much of your lead’s time as you can make useful. Nobody can help someone invisible. Being thirsty is a compliment here.
The failure mode#
Not noise. Silence: waiting for the right moment, assuming someone already knows, hoping it resolves before anyone notices. That is a bet the problem gets cheaper if you hold it, and it almost always loses.
If you are stuck, say so. If the timeline is slipping, send the message today. The team can handle hard news. It cannot handle not knowing.
Related: Operating with Clarity, The Pyramid Principle, Cadence, Expectations, The DRI, Leading People, Scheduling, Rumelt’s Kernel