Working Async
Arrow contributors are spread across the globe, so there's no hour when everyone is awake at once. We think that's a feature: async is our default, and it means contributing fits around your life and your timezone.
It does take some care. A community this distributed is pushing the boundaries of coordination, and everyone working differently is genuinely challenging. We appreciate everyone who shows up to build, and in return we ask for a few shared habits that keep things moving while half the contributors are asleep.
Write for the person who wasn't there
Every update gets read by someone who missed the conversation behind it.
- Lead with the state of things. "The bounty sync now opens a PR instead of pushing to staging" beats "quick update on the thing we discussed."
- Link the context. One sentence plus links to the issue, PR, or thread beats three paragraphs of recap.
- Write decisions down where they'll be found. A decision that only lives in a Discord scroll will get re-made by the next person. If it matters next month, it belongs in GitHub, the Forum, or these docs.
Share links with your take attached
We love a good find, and we value your opinion even more than the link itself. So when you share something in Discord or on the Forum, add a sentence or two of your own: what it is, and why it caught your eye. A bare link asks everyone who sees it to do that thinking for themselves; a link with your take sets the scene and starts a conversation.
Never block on a response
- Ask early. If you can see a question coming two days out, ask it now and keep building.
- Ask so "yes" is enough. "I plan to do X, any objection?" gets answered from a phone. "How should we handle X?" starts a meeting.
- Keep two things in flight. When one is waiting on someone, switch to the other.
Hand off cleanly
Stepping away is normal. When you pause, leave a short note on the issue or PR: where it stands, what's left, anything surprising. Two sentences turns an abandoned branch into something the next person picks up in minutes.
Timezone etiquette
- Post times as Discord timestamps so everyone reads them in their own timezone: type
@timein the message box on desktop and pick a format, or use HammerTime on mobile or for a date far from now. Plain UTC is the fallback. - Expect answers in hours, not minutes. Silence usually means asleep, not disagreement.
- If something is genuinely urgent, say so and say why.
When real-time is worth it
Some things are cheaper live: design reviews, untangling a misunderstanding, meeting the people behind the handles. That's what the community calls are for. Talk it through on the call, then write the outcome down.