Follow a single ticket around the clock. It's a bug filed against code a Southern California team shipped that afternoon โ clear reproduction steps, but no one left on the US side to fix it. Here is how that ticket moves through a 24-hour cycle when a Vietnam-based engineering pod is on the other end of the day.
6:00 PM PT โ The handoff call
The US tech lead runs a 30-minute handoff with the Vietnam pod. Ho Chi Minh City is 12 hours ahead of Irvine, so when the US team logs off at 6 PM Pacific, it's 9 AM in Vietnam. The pod is arriving as the US team leaves.
The lead walks through today's priorities: open PRs, blocked tickets, and anything that needs immediate attention. Our bug is on that list. Before the call ends, the ticket gets a context block โ what was tried, what's known, what's unknown, and what success looks like. Writing that block takes the US engineer about 5 minutes. It saves hours of back-and-forth once the two teams are no longer awake at the same time.
The lead also drops a 2-minute Loom video into the shared Slack channel explaining the tricky part of the repro. A short async video like that is worth more than a 500-word Jira comment.
6:30 PM โ 6:00 AM PT โ The Vietnam shift
This is the overnight window from the US point of view, and a full working day in Vietnam. The pod picks up exactly where the US team left off and works the tickets that don't block US work.
Our bug is a good fit for this shift, because it has clear reproduction steps and doesn't need real-time discussion. Our QA engineers find bugs in code the US devs committed that day, and our engineers fix them before the US team wakes up. Alongside it, the pod works through the rest of what translates well to an async handoff:
- Test writing and coverage. AI generates features fast but rarely writes comprehensive tests. The overnight team adds edge cases, integration tests, and load tests.
Two things stay off the overnight list on purpose. Greenfield architecture decisions that need real-time discussion are saved for overlap hours or a synchronous session. Customer-facing urgent issues that need immediate US context go through an escalation path instead โ you keep one open for true emergencies.
By the end of the shift, the bug is fixed. The PR includes a summary of changes, the testing that was performed, and any decisions the engineer made along the way.
7:00 AM PT โ The US team arrives
The US team comes back to a completed PR they can review with full context, the bug already fixed, and test results from the previous day's commits waiting for them. Because half the blockers cleared overnight, the morning standup runs 15 minutes instead of 45.
The ticket that had no one left to work it at 6 PM is closed before the first US engineer finishes their coffee. Then the cycle starts again at that evening's handoff.
The math behind the cycle
The reason this is worth building comes down to cost and hours. A senior engineer in Southern California costs $180,000โ$220,000 fully loaded. A three-person Vietnam pod โ one senior engineer, one mid-level, one QA โ costs less than a single US hire, and it adds 8 productive hours to every day.
Over a quarter, that's roughly 500 additional engineering hours. That's a product launch. That's a migration. That's the backlog finally getting under control.
This isn't outsourcing in the traditional sense. It's a timezone-optimized extension of your existing team that turns overnight downtime into productive engineering hours โ and the handoff is what makes it work. A sloppy handoff creates more work than it saves. A disciplined one, run twice a day, is what lets a single ticket move from filed to fixed while your US office is dark.