# Làm chủ văn hóa remote trong các team toàn cầu > Mười múi giờ, bảy năm, một quy tắc: không viết ra tức là chưa từng xảy ra. Cẩm nang thực chiến cho async-first. > > 2024-03-12 — y7.hk ## Không chỉ là các cuộc gọi Zoom Làm remote không chỉ là chuyển các cuộc họp văn phòng lên Zoom. Remote thật sự dựa rất nhiều vào giao tiếp bất đồng bộ và tài liệu nghiêm ngặt. Khi làm việc xuyên múi giờ, hãy giả định rằng mọi câu hỏi bạn hỏi có thể phải 12 tiếng sau mới được trả lời. Ràng buộc này buộc bạn viết issue tốt hơn, RFC rõ ràng hơn và pull request đầy đủ hơn. Tôi đã dành bảy năm xây sản phẩm với những người hiếm khi gặp mặt — xuyên 10+ múi giờ: từ team crypto multisig chia giữa châu Âu và châu Á, đến công việc solo hiện tại vận hành site này và vài bot Telegram từ Đông Nam Á. Dọc đường tôi đã sống ở 67 quốc gia — nói cách khác: tôi đã thử remote trong gần như mọi điều kiện, kể cả kết nối tốc độ dial-up trong một chiếc van ở Kyrgyzstan. Đây là những thứ thật sự hiệu quả. ## Async-first là kỷ luật, không phải công cụ Ai cũng nói mình "async". Rồi bạn nhìn vào Slack của họ — toàn một bức tường ping "hỏi nhanh" và các thread chưa giải quyết. Async-first có nghĩa chặt chẽ hơn: - **Mọi quyết định đều tạo ra văn bản.** Quy tắc trong team tôi: quyết định phải được ghi lại trong 24 giờ — trong issue tracker, RFC hoặc project doc. Không viết ra tức là chưa từng xảy ra. - **Mặc định là channel, không phải DM.** Tin nhắn riêng là nơi context đi chết. Hỏi ở kênh công khai để người sau có thể tìm lại câu trả lời. - **Kỳ vọng thời gian phản hồi được nói rõ.** Của chúng tôi: trong cùng ngày làm việc cho blocker, 24–48h cho phần còn lại. Không ai bị kỳ vọng phải online. Điều đó xóa màn kịch lo lắng của chấm xanh và "chỉ check thử". Quy tắc 24 giờ nghe quan liêu — cho đến lần đầu một người mới tìm thấy RFC từ ba tháng trước giải thích chính xác vì sao quyết định đó được đưa ra. Lúc đó nó hoàn vốn, thường ngay trong tháng đầu. ## Viết issue mà người khác thật sự chạy được Khi đồng đội thức dậy 12 tiếng sau khi bạn đi ngủ, một issue mơ hồ tốn cả một ngày. Nên tôi viết mọi issue như thể người nhận không thể liên hệ tôi: - **Context trong hai câu.** Cái gì hỏng hoặc ta đang xây gì và tại sao là bây giờ. - **Cách tái hiện hoặc tham chiếu.** Một link, đoạn log, screenshot, sản phẩm đối thủ đã giải xong. - **Định nghĩa "xong".** Không phải "làm nhanh hơn" — mà "p95 build time dưới 90 giây trên CI". - **Non-goals rõ ràng.** Dòng bị đánh giá thấp nhất. "Không refactor parser trong PR này" đã tiết kiệm cho tôi nhiều vòng review hơn bất kỳ linter nào. RFC cũng được đối xử vậy: vấn đề, ràng buộc, hai đến ba phương án với tradeoff thật, một đề xuất, và deadline cho comment. Nếu hết deadline không ai phản đối, đề xuất đứng. Không cần họp. ## Chiến lược múi giờ: đón nhận cuộc tiếp sức Đa số coi múi giờ là vấn đề. Team phân tán chạy tốt coi nó là pipeline — công việc chạy quanh đồng hồ như chạy tiếp sức. Nhưng lượt chuyền gậy chỉ hoạt động khi bàn giao được viết ra. Quy tắc của tôi: - **Kết thúc mọi block làm việc bằng handoff note.** Xong gì, tiếp theo là gì, bị kẹt ở đâu. Ba dòng trong issue. Người thức dậy phải bắt đầu được trong năm phút. - **Tìm khoảng chồng lấn và bảo vệ nó.** Với chênh lệch 10+ tiếng bạn có nhiều nhất một giờ ban ngày chung. Dành nó cho những thứ thật sự cần đồng bộ: bất đồng, quyết định kiến trúc, phản hồi khó. - **Không bao giờ đặt họp ngoài giờ đã khai báo của ai đó mà không hỏi.** "Chỉ một lần thôi" là cách bạn âm thầm thiêu cháy người ta. ```text Template handoff tôi vẫn dùng: Xong: schema migration deploy lên staging Tiếp theo: job backfill — sẵn sàng chạy, chờ duyệt Kẹt: nâng quota API (ticket #4821, chờ vendor) ``` ## Tài liệu là mặc định Nếu một phần kiến thức chỉ tồn tại trong đầu ai đó, team không có kiến thức đó — team có một dependency. Tài liệu phủ ba tầng: - **Quyết định** — RFC và thread issue. Tại sao, không chỉ cái gì. - **Quy trình** — runbook cho mọi thứ làm hơn hai lần: deploy, rollback, xử lý sự cố, onboarding. - **Context** — project doc trả lời "ta đang làm gì và tại sao" cho người join lúc 2 giờ sáng giờ họ. Docs sẽ hư, nên docs có owner và ngày review. Một runbook sáu tháng không ai chạy là nợ, không phải tài sản. ## Họp là ngoại lệ Thời gian đồng bộ là tài nguyên đắt nhất của team phân tán, hãy tiêu nó như tiền. Tiêu chuẩn họp của tôi: 1. Có một quyết định mà viết không giải quyết được. 2. Có agenda đăng trước. 3. Ai không tham dự được vẫn đóng góp được — comment thu trước, note và ghi hình sau. Mọi thứ khác là async update. "Weekly sync" không có quyết định trong agenda là thói quen lịch, không phải cuộc họp. Giết nó. ## Stack công cụ, bỏ cargo cult Công cụ kém quan trọng hơn chuẩn mực xung quanh nó, nhưng đây là những thứ sống sót qua vài lần setup gần nhất của tôi: - **Linear** cho issue — nhanh, có chủ kiến, ép phải để lại dấu vết. - **Notion** cho docs và RFC — editor tầm thường, bộ nhớ chung xuất sắc. - **Slack** cho chat — kỷ luật kênh mạnh tay và tắt gần hết notification. - **Loom** cho walkthrough — ba phút quay màn hình thay 30 phút gọi điện. - **GitHub** — PR như tài liệu; mô tả giải thích *tại sao*, không phải *cái gì*. Stack cố tình nhàm chán. Chế độ thất bại không phải chọn sai công cụ — mà là nói cùng một cuộc trò chuyện ở bốn nơi. ## Remote-first vs Remote-friendly "Remote-friendly" nghĩa là người remote là công dân hạng hai: quyết định xảy ra ở văn phòng rồi phát sóng sau. "Remote-first" nghĩa là mọi quy trình giả định không ai chung một phòng — tuyển dụng, review, planning, ăn mừng. Nếu đường thăng tiến yêu cầu "được nhìn thấy" ở văn phòng, bạn không có văn hóa remote; bạn có văn phòng với webcam. Bài test của tôi: nếu ngày mai trụ sở cháy rụi, có gì thay đổi trong cách ra quyết định không? Nếu có, các bạn là remote-friendly. ## Vấn đề cô đơn Đây là phần blog kỹ thuật hay bỏ qua, và là lý do chính khiến người remote thật sự nghỉ việc. Những thứ hiệu quả với tôi và người tôi quản lý: - **Coworking, luôn luôn.** Mỗi nước ở lâu trên bản đồ của tôi đều có coworking space "của tôi". Thói quen là một tính năng. - **Kênh không-liên-quan-công-việc.** Thú cưng, đồ ăn, meetup địa phương. Kênh của chúng tôi sống qua hai lần pivot công ty. - **Gặp mặt trực tiếp theo quý khi cần.** Một tuần gặp mặt mua được khoảng một quý niềm tin. Dùng nó cho design session và bữa tối, không phải status update. ## Checklist sống sót bảy năm - [ ] Quyết định được ghi trong 24h - [ ] Issue viết cho người không thể hỏi bạn - [ ] Handoff note cuối mỗi block làm việc - [ ] Họp chỉ khi có agenda + quyết định + ghi hình - [ ] Docs có owner và ngày review - [ ] Ít nhất một kênh không-công-việc còn sống - [ ] Giờ chồng lấn dùng cho bất đồng, không phải status Remote không phải đặc quyền hay chính sách địa điểm. Nó là hệ điều hành — và như mọi OS, nó bị đánh giá bởi chất lượng chạy khi không ai nhìn.