Skip to main content

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.

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 @time in 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.