---
id: productivity-async-work-patterns
title: Async Work — distributed teams / async-first
category: Coding
status: draft
source_trust_level: B
verification_status: conceptual
created_at: 2026-05-09
updated_at: 2026-05-09
tags: [productivity, remote, vibe-coding]
tech_stack: { language: "process", applicable_to: ["Engineering"] }
applied_in: []
aliases: [async work, async-first, remote work, distributed team, deep work, time zones, async communication]
---

# Async Work

> Sync meeting = 시간 / focus 손실. **Async-first = doc + thread + recording**. 다른 timezone OK + deep work.

## 📖 핵심 개념
- Async = 답 가 즉시 X.
- Doc 가 truth (chat 가 ephemeral).
- 명시적 deadline.
- Sync = exception (not default).

## 💻 코드 패턴

### Sync vs async
```
Sync:
- Meeting (Zoom)
- Phone call
- Live chat (Slack 동기 expected)

Async:
- Email
- Slack thread (답 1-24 hr)
- Doc comment
- PR review
- Loom video
- Async standup
```

### Async-first principle
```
1. Default = async.
2. Sync 는 명시적 reason (brainstorm, conflict).
3. Sync 결과 = doc 가 published.
4. Async 우선 = doc / write 능력 가치 ↑.
```

### Deep work
```
2-4 hr 의 uninterrupted block.
- Slack 알림 off.
- Calendar 가 "deep work" event.
- 매일 1-2 block.

→ Maker schedule (Paul Graham).
Manager schedule = sync 많음.
Maker schedule = sync 적음.
```

### Timezone
```
US west: UTC-8
US east: UTC-5
Europe: UTC+0 to +2
Asia: UTC+8 to +9

3 시간 overlap = OK.
6+ 시간 = 어려움.

→ Async first, 가끔 overlap.
```

### Overlap window
```
SF + Berlin: 8 시간 차.
Overlap: SF 9-11 AM = Berlin 6-8 PM.
2 시간 overlap.

→ 매일 2 시간 = 충분.
Weekly sync 정도.
```

### Doc 가 truth
```
의사결정 = doc.
- ADR (architectural decisions)
- RFC (request for comments)
- Decision log

Slack message:
- Ephemeral.
- 검색 어려움.
- 새 사람 read X.

→ 큰 결정 = doc + Slack link.
```

### Loom (async video)
```
1-5 min video:
- Screen + face.
- Quick feedback.
- 새 사람 onboarding.
- Demo / walkthrough.

→ 30 min meeting 의 alternative.
대부분 = transcript 도.
```

### PR description (async truth)
```markdown
## Summary
What changed.

## Why
Motivation.

## Test plan
How to verify.

## Screenshot / Loom
[image / video]

## Out of scope
What not done.
```

→ PR 가 사실 의 doc.

### Decision in doc
```markdown
# Decision: Use Postgres

Status: Decided
Date: 2026-05-09
Owner: @alice

## Context
We need DB.

## Options
1. Postgres
2. MySQL

## Decision
Postgres because ...

## Comments / disagreement
- @bob: prefer MySQL because ...
- @alice: respond ...

## Action
- @alice: setup
```

→ Disagreement 도 doc. Async resolution.

### Standup async
```
매일 매 사람 = Slack post:
yesterday: ...
today: ...
blocker: ...

@team 가 read 가 필요 시.
```

### Slack hygiene
```
- @here / @channel = drag (정말 urgent 만).
- Thread 사용 (channel pollution X).
- Status (DND, away, focus).
- 답 1-24 hr OK (urgent X 가 default).
```

### Notion / Confluence
```
- 모든 큰 doc.
- 검색 가능.
- Tag / category.
- 새 사람 onboarding.

→ Slack 보다 long-term.
```

### Meeting 가 진짜 필요?
```
Y if:
- Brainstorm (high bandwidth)
- Conflict resolution
- 1-on-1 (relationship)
- Live demo (urgent feedback)

N if:
- Status update → async.
- Decision → doc.
- FYI → email.
- Q&A → thread.
```

### Meeting → doc
```
모든 sync 끝 = doc.
- Decision
- Action items
- Attendees

→ 안 attended 사람 도 read.
```

### Async PR review
```
- 12-24 hr 안 첫 review (workflow 의 cost ↓).
- 매일 저녁 / 다음날 morning.
- Requested changes = thread.

→ 동시 X. 매 사람 가 own time.
```

### Documentation 가 superpower
```
Async-first culture 의 핵심:
- Write everything.
- 매 사람 가 read 가 catchup.
- 새 사람 가 빠른 onboarding.
- Stakeholder 알아 → "왜?" 적음.

→ Writing skill 가 큰 가치.
```

### When sync?
```
- 새 사람 (1주 sync 많이).
- Crisis / incident.
- 1-on-1 (relationship).
- Brainstorm.
- Disagree (2+ async round 후).

→ Sync 가 비용 높음 — 가치 가 있어야.
```

### Sync 의 cost
```
1 hour meeting + 5 사람 = 5 person-hour.
+ Switching cost (15 min 각).
= 7+ hour 실제.

→ 작은 결정 = async 가 cheap.
큰 결정 = sync 가 가치.
```

### 함정: Always-on
```
Slack 24/7 expectation = burnout.

→ Status (DND).
Working hours 명시.
Email / Slack 가 "off-hours read" = OK, 답 X.
```

### Async meeting (대안)
```
- Doc 에 agenda.
- 매 사람 가 async 작성.
- Sync = clarify 만 (15 min).

→ "We met for 15 min instead of 1 hr."
```

### Loom + Slack
```
Loom 5 min → Slack post.
Team 가 24 hr 안 watch + thread 답.

→ "30 min meeting" 의 대체.
```

### Time-zone friendly
```
Distributed:
- 매 timezone 가 lead 책임 (round-robin).
- Doc + recording.
- "이 결정 가 pending 24 hr (다른 timezone 입력)".
```

### GitLab handbook
```
Public, 매 process 가 doc.
- Onboarding.
- Performance.
- Architecture decision.

→ Async-first 의 reference.
gitlab.com/handbook
```

### Async culture 의 risk
```
- Lonely (relationship 약).
- Slow decision (round-trip).
- Misalignment (mis-read).

→ 정기 sync (1-on-1, weekly team) 도 필요.
```

### Async 의 cost
```
Write 가 cost.
- 1 doc = 30-60 min.
- 1 meeting = 30 min (live).

→ Async writing 가 long-term ROI ↑.
```

### Tools
```
- Notion / Confluence: doc.
- Slack / Discord: thread.
- Loom / Tella: video.
- GitHub / Linear: PR / issue.
- Tuple / VS Code Live Share: pair (sync).
- Around: 작은 sync.
```

### Examples
- **Automattic** (WordPress.com): full async.
- **GitLab**: handbook-first.
- **Basecamp**: written, 6-week cycle.
- **Buffer**: transparent + async.
- **Doist** (Todoist): 매 사람 own time.

## 🤔 의사결정 기준
| 작업 | 추천 |
|---|---|
| Status update | Async (Slack) |
| Decision | Doc + thread |
| Brainstorm | Sync (small) |
| 1-on-1 | Sync |
| Walkthrough | Loom |
| Quick Q | Slack thread |
| Big project | Doc + meeting + record |
| Onboarding | Sync first 1 week |

## ❌ 안티패턴
- **모든 거 meeting**: time waste.
- **"Quick sync 5 min" recurring**: 30 min 됨.
- **Decision in chat**: 잃음.
- **Never sync (full async)**: relationship 약.
- **No doc**: 새 사람 헛수고.
- **Slack 답 expected 즉시**: focus 깨짐.
- **No status (DND)**: 24/7 expectation.

## 🤖 LLM 활용 힌트
- Async-first = doc + thread + Loom.
- Sync 가 명시적 reason 만.
- Doc 가 truth, chat 가 ephemeral.
- Time zone 친화 = async.

## 🔗 관련 문서
- [[Productivity_Standup_Retro_Patterns]]
- [[Productivity_Documentation]]
- [[Productivity_Knowledge_Sharing]]
