Home → Leadership
Remote Teams: Written Culture, Not Cameras
Thursday 10:20, a PR comment: “We removed the retry in order cancellation on Tuesday. Didn’t you know?” He did not. The decision was made on Tuesday at 16:40, in the office, by three people standing in front of the coffee machine. The remote engineer had spent 14 hours over two days writing code for behaviour that no longer existed.
- A remote team’s problem is not video, it is traces. Cameras can be on, but if decisions are made in the hallway, the remote person is still outside.
- A decision that is not written down was not made. The rule has to be this blunt. “We write down the important ones” means writing down none of them.
- The decision document is one page. Context, options, recommendation, who decides, a deadline for comments. The default window is 48 hours.
- A meeting is the exception, and it ends in writing. A topic that does not close in three rounds goes to a meeting; the decision goes into the document the same day.
- Response expectations must be written. Which channel expects an answer in how many hours? If nobody knows, everyone assumes the worst: either instantly or never.
- It has a cost. Our decisions went from about 1 day to about 2.5 days. PRs reverted because of a missed decision went from 4 to 1.
From the field: the decision at the coffee machine
The team had nine people. Five were in the office Tuesday to Thursday. Four were fully remote: two in İzmir, one in Ankara, one in Berlin. That Tuesday, three of the office people were talking about a bug in the order cancellation flow. When a cancel request to the broker timed out, we retried it. Sometimes the second request tried to cancel an order that had already been filled. After a ten-minute chat, they had a decision: the retry goes, a timed-out order moves to an “unknown” state, and the reconciliation job decides.
It was the right decision. The problem is that it was never written anywhere. No comment on the ticket, no message in the channel. The next morning, the senior engineer in Ankara started a feature that depended on the same flow. He wrote code that assumed the retry was still there. On Thursday he opened a PR, and the first comment was the sentence above.
Half of that PR went in the bin. But what really bothered me was what he said in our one-on-one the next week: “This is not the first time. I learn about decisions in PRs.” Then I counted. He was right.
First, I asked the wrong question
My first reaction was “let us see each other more”. Cameras on in every meeting. Office people join from their own laptops, so nobody joins as one screen for a whole room. We tried it for two weeks. Meetings felt more equal, and I do not argue with that.
But Tuesday’s decision was not made in a meeting. A camera cannot make a meeting equal if there was no meeting. My question was “how can remote people see us better?” The right question was “how does someone who was not there find out about a decision?” The answer to the first one is more meetings. The answer to the second one is writing.
I counted one quarter
I went through the last three months of tickets, PR descriptions and channel history. I listed everything that counted as a technical decision: a behaviour changing, an option being dropped, a piece of work not being done. I found 23 decisions. There were certainly others I did not find.
| Where the decision was made | Count | With a written trace | Delay before remote people knew |
|---|---|---|---|
| Planned meeting | 8 | 5 | ~0.5 days |
| Standing chat in the office | 9 | 1 | ~4 days |
| Private message / one-to-one call | 6 | 3 | ~3 days |
| Total | 23 | 9 | ~2.5 days |
I measured the delay roughly: the gap between the day of the decision and the day a remote person first mentioned it in writing. It is not an exact number. But the direction was clear. The more informal the decision, the later the remote person learned about it. And until they learned, they worked on a wrong assumption.
The table showed one more thing. For decisions made in private messages, office people also learned late. The problem was not office versus home. The problem was who was in front of the decision when it was made.
What is not written punishes whoever is outside
Nobody builds a spoken culture to hurt anyone. It grows because it is fast. But the same people always pay for it: the person on leave that day, the new joiner, the person in another time zone, the person who prefers writing to speaking in meetings.
The engineer in Ankara was quiet in most meetings. For years I read that as “low engagement”. In the first month after we moved to decision documents, he was the person who wrote the most comments, and the deepest ones. He was not quiet. The place where the conversation happened just did not suit him.
There is also a hidden cost. The person in the office also hears why a decision was made. The remote person, if lucky, only learns the result. Six months later, when that flow needs a change, it is clear who can reason about it: the person who heard the reasons. So a spoken culture creates a seniority gap, without anyone wanting it.
The decision document: one page, with a deadline
The rule is: a decision that is not written down was not made. Talking at the coffee machine is fine, and so is changing your mind there. But if a behaviour will change, an option is dropped, or some work will not be done, nobody acts on it until it is in a document. That includes the office people.
TITLE : Remove retry from order cancellation
OWNER : the person responsible for the decision (one person)
COMMENTS : deadline 48 hours from now, with time zones
(e.g. Thu 17:00 TRT / 15:00 CET)
CONTEXT : 3-5 sentences. What happened, why now?
OPTIONS : at least two, including "do nothing"
PROPOSAL : which one and why
AFFECTED : which service, which team, which open work
DECISION : written by the owner after the deadline. Date + time.
# Rule: no comment means "no objection".
# Rule: not closed in 3 rounds -> 30 min meeting; the decision
# goes into the DECISION line of this document the same day.
Three things make this document useful:
- A deadline. A document without a deadline starts a discussion, not a decision. Once there is a date, silence is also an answer.
- One owner. Everyone comments, one person decides. “We decided as a team” often means “nobody decided”.
- A “do nothing” option. When we added it to the list, about one in five documents closed by itself.
Not every topic needs a document. For reversible work that affects one person, a ticket comment is enough. The test is simple: could someone who does not know about this decision write the wrong code tomorrow? If yes, write a document.
One place for decisions to go
Writing documents was not enough. In the first three weeks, documents were written but ended up in different places: one in the wiki, one in a ticket, one in a shared folder. This time the remote engineer did not lose the decision in a PR. He lost it in the search box.
The fix was boring: a decisions channel. Only two kinds of message go there: “comments open, deadline is X” and “decision made”. Each message is one line with a link to the document. The discussion happens in the document, not in the channel. Someone back from two weeks of leave can read the channel in ten minutes and see what changed.
The most unexpected benefit was for new joiners. An engineer who joined the team read the channel from start to end in their first week. They told me: “For the first time, I learned why things are the way they are without asking anyone.” Long-time office people had learned this in the hallway for years. The new person had no hallway.
A meeting is the exception, and it ends in writing
We did not ban meetings. We changed the order. Before, we met first and then (sometimes) wrote. Now we write first. A topic that does not close after three rounds in writing goes to a meeting.
- A document is opened, with a deadline
- Comments come in writing; time zones do not matter
- If it does not close, a 30-minute meeting
- The decision goes into the document the same day, with a link in the channel
People join the meeting having already read the topic.
- A “let us talk about this” invite
- The four people whose calendars fit join
- The decision is made out loud
- Everyone else learns about it in a PR
The first 15 minutes of each meeting went on explaining the context.
In the first month, the person who broke the “write it the same day” rule most was me. I said I would write it in the evening, and I did not. The next morning, two people from that meeting remembered the same decision in two different ways. Since then, the last five minutes of a meeting are for writing the decision text together. If no text came out, no decision came out.
This is really a small version of the action tracking I described in the retrospective post: no spoken promises, only written lines with an owner.
Time zones and response expectations
In winter, the engineer in Berlin is two hours behind us. That sounds small. But a discussion that ends at 17:30 in the office ends at 15:30 for him, in the middle of his day. When he starts at 09:00 the next morning, it is 11:00 in Istanbul and the topic is long closed.
We wrote down two things. The first is core hours: 11:00–15:00 Istanbul time. Everyone is reachable in these four hours, and if a meeting is needed, it goes in this window. The second is response expectations:
| Channel | Expected response time | Used for |
|---|---|---|
| Phone / on-call | Minutes | Something is on fire in production. Nothing else. |
| Team channel | 4 working hours | Questions, blockers, small coordination |
| Decision document | 48 hours (deadline) | Anything that changes behaviour |
| Private message | No expectation | Personal topics; decisions do not come from here |
Before we wrote this table, there were two extremes. One group answered every message instantly and was interrupted all day. The other group read messages in one batch in the evening and got labelled “does not care”. Both were acting reasonably, because the expectation had never been said. An unwritten expectation is read through each person’s own fear.
I am not covering daily sync here. For a team spread across time zones, the async daily and the blocker response time measure are in that post. The topic here is not daily status. It is decisions.
What changed
Eight weeks later, I did the same count again.
| Before (quarter) | After (8 weeks) | |
|---|---|---|
| Decisions with a written trace | 9 / 23 | 21 / 24 |
| Delay before remote people knew | ~2.5 days | same day |
| Meeting hours per person per week | 7.5 hours | 4 hours |
| PRs reverted because of a missed decision | 4 | 1 |
| Average time to decide | ~1 day | ~2.5 days |
The last row is the cost. Decisions got slower; the 48-hour window makes that unavoidable. In the first month, two office people objected: “this used to take ten minutes”. They were right. It took ten minutes, and then it broke someone else’s work for four days. We chose between slow decisions and wrong assumptions.
Three decisions were still not written down. All three were made in the office, late in the afternoon. The rule exists. The habit is stronger.
What to track
| What | Why |
|---|---|
| How often “we talked about this” appears in PR comments | Each one is a decision that never got written down |
| Share of decisions with a written trace | Count once a quarter; below 90% means the old habit is back |
| Delay before remote people learn a decision | This is the real distance between office and home |
| Documents past their deadline with an empty DECISION line | A document was opened but nobody decided |
| Meeting hours per person | If they rise again, discussions are escaping from writing |
What did not work for me
- A cameras-on rule. It made meetings more equal, but decisions were not made in meetings. Two people also had to move to another room at home to turn their camera on. In the third week we made cameras optional.
- Recording meetings. We said “whoever cannot join can watch the recording”. Over three months: 40-something recordings, 4 views in total. Nobody searches a 50-minute video for one decision.
- Long decision documents. The first documents were six pages. No comments came, because nobody read them. Once we set a one-page limit, the number of comments went up.
- An “everyone in the office” day. I tried keeping important decisions for the shared office day. For the engineer in Berlin this was impossible. It did not solve the problem; it only fixed who would be left out.
Checklist
- Is every decision from last week written in a document or a ticket?
- Does every decision document have a deadline and a single owner?
- Was the decision from the last meeting written down the same day?
- Is it written which channel expects an answer in how many hours?
- Do the core hours fall inside the working day of the person in the furthest time zone?
- Have I looked at what the person who is quiet in meetings says in writing?
- How many PRs were reverted last month because “we talked about this”?
- Did I write down the last decision I made at the coffee machine?
Conclusion
The decision made that Tuesday was right. What was wrong was that only three people knew about it. The 14 hours the engineer in Ankara lost did not go to a communication mistake. They went to a missing part of the system: the decision had nowhere to go.
I started with cameras because I thought the problem was “we cannot see each other”. The problem was that we could not read each other. A remote team is not the office moved onto a screen. It is a team where decisions live independently of the room.
The test: can someone who was not there find a decision made this week without asking you? If not, your team is not remote. It is just scattered.