
To onboard a remote developer quickly, ship one merged PR on day one. That single goal forces every other decision: a current README, working access on day zero, a backlog of "good first issues," and a paired engineer for the first 48 hours. Teams that hit a day-one PR routinely have new hires deploying to production by the end of week two.
Most teams treat onboarding as a two-week reading exercise. That is the bug. A remote developer who has not touched the codebase by Friday of week one is a developer who is already losing momentum, and you are losing the signal that tells you whether the hire is going to work.
Below is the playbook we use at Cadence to get external engineers contributing within 48 hours and deploying to production by week two. It works for full-time remote hires and for booked contractors equally well.
Slow onboarding is expensive in three ways that compound.
First, calendar drag. Every week a new engineer is not shipping is a week of salary against zero output. At a mid-tier rate of $1,000 per week, two extra weeks of ramp is $2,000 of pure cost with no offsetting feature shipped.
Second, signal loss. You hired someone because you needed work done. The longer you wait to see how they actually work, the longer you wait to find out the hire is wrong. The median time-to-first-commit on Cadence is 27 hours; founders use that signal to call the trial early if a booking is clearly off.
Third, momentum decay. New hires arrive with the highest motivation they will ever have. Two weeks of slide decks and access tickets burn it. A merged PR on day one converts that motivation into identity: "I am someone who ships here."
The single most useful onboarding KPI is "did this engineer get one PR merged on day one." Not "deployed to production." Not "shipped a feature." Just merged into main, behind a flag if needed.
This goal does the work of fifty checklists. To merge a PR on day one, the engineer needs:
If any of those are broken, you find out on day one, not week three. That is the whole point.
We back this with a structured access checklist (below) and a "good first issue" backlog (also below). The mechanics are simple. The discipline is in actually maintaining them between hires.
How fast a new developer ships depends as much on the hiring model as on the onboarding playbook. Honest comparison:
| Hiring model | Time to first PR | Time to prod deploy | Notes |
|---|---|---|---|
| Full-time remote hire (W2/contractor) | 3-5 days | 2-3 weeks | Slowest because legal, payroll, equipment, and equity all gate access. |
| Agency placement (Toptal, Andela) | 5-7 days | 3-4 weeks | Slower than expected; agency handoff adds a week of context loss. |
| Direct contractor (Upwork, referral) | 2-4 days | 1-2 weeks | Variable; quality of contractor is the dominant factor. |
| Cadence booking | 24-48 hours | 1-2 weeks | Pre-vetted, AI-native, access checklist runs during the 48-hour free trial. |
| Internal transfer | 1-2 days | 1 week | Fastest; the engineer already knows the systems. |
Notice that the gap between the fastest and slowest is two to three weeks. For a four-week milestone, that is the difference between hitting it and missing it entirely.
If the README is wrong, onboarding fails. Every other artifact in your stack (Notion docs, Slack messages, Linear tickets) is downstream. The repo README is the source code of onboarding.
A good README contains, in order:
The discipline is to update the README the day it stops working, not the day you next hire. Run a clean checkout monthly. If you cannot do that yourself, your new hire definitely cannot.
For remote-first teams, the README is doing the work that a tap on a colleague's shoulder used to do. Treat it like a load-bearing wall.
Every engineer on Cadence is AI-native by default, vetted on Cursor / Claude / Copilot fluency before they unlock bookings. That means your onboarding has to feed those tools, not just the human.
Two files do this work:
claude.md at repo root) gives Claude Code the project conventions, file map, and "do not touch" zones. New engineers using Claude Code get the same context the rest of the team has..cursorrules does the same for Cursor users. Coding style, framework patterns, banned patterns, test conventions.Check both into the repo. Treat them as part of the codebase, not personal config. We update ours whenever we add a new pattern or retire an old one. The result: a new engineer's first Cursor or Claude Code session produces code that already matches the house style.
This is one of those investments where the payoff scales linearly with hires. The first time you write CLAUDE.md costs an hour. Every hire after that saves a day of "why did you structure it that way" review cycles.
The fastest way to lose day one is to spend it waiting for access. Pre-flight this. Every checklist item should be done before the engineer logs in on day one.
That is ten items. It takes 90 minutes to set up if you do it the day before, and three days if you do it ticket by ticket. Pick the 90 minutes.
For founders working through our remote engineering team setup checklist for 2026, the access list above is one of the first internal documents to write down. Templatize it once; reuse it forever.
Pair the new engineer with one existing engineer for the first 4-5 days. Not "you can ping me with questions." A scheduled pairing block, 90 minutes per day, on the calendar.
Pairing in week one does three things:
For distributed teams with poor timezone overlap, Loom can carry some of the load asynchronously. See our guide to using Loom for engineering communication for the formats that work. Loom is a substitute for pairing when you have to, not when you would rather not.
Maintain a labeled backlog of 5-10 issues at all times that meet four criteria:
Examples that consistently work: a flaky test someone has been meaning to fix, a small endpoint with clear specs, a config refactor, a dependency upgrade with a clean changelog, an admin UI toggle.
What does not work: anything labeled "good first issue" that is actually "we have been avoiding this for six months." The new engineer will smell it.
Refill the backlog weekly. It takes 20 minutes. It is also useful as a release-valve for senior engineers who want to context-switch into something small.
Week one ends with a merged PR. Week two ends with a production deploy owned end to end. Same code path the engineer used in week one, now with a feature flag flip or a config push that touches real users.
The week-two deploy goal forces the engineer to:
That is the full production loop in one ticket. After this, the engineer is operationally independent. Every subsequent ticket is variation on the same loop.
Founders who skip this milestone and let new hires sit in PR-review purgatory for three weeks consistently report low confidence in the hire at week four. The week-two production deploy is the moment "this is going to work" becomes obvious to both sides.
If you have a hire starting in the next 14 days:
CLAUDE.md and .cursorrules. Three paragraphs each is enough to start.If you do not have a hire starting and you are evaluating booking versus a full-time hire: the day-one PR target is the same regardless. The difference is whether the access checklist runs during a 48-hour Cadence trial or during a two-week W2 onboarding. Booking an engineer through Cadence is the fastest path to seeing the playbook in action: every engineer is AI-native by default, the trial is free, and the first PR target is typically met inside day one.
Try Cadence's 48-hour free trial: a vetted, AI-native engineer is matched to your spec in 2 minutes, ships a real PR by day one, and you only pay if you keep them past Friday. Find your remote engineer in 2 minutes at cadence.
For teams thinking longer-term about how this fits into the engineering ladder, our remote engineering career ladder framework covers the rungs that follow the first 30 days. And for distributed teams generally, the patterns in our async communication guide for engineering teams in 2026 make the day-one PR target hit naturally rather than by force.
Two weeks to operational independence, defined as one merged PR by end of day one and one production deploy by end of week two. Anything longer suggests the README is broken, access is gated, or there is no "good first issue" backlog ready.
The minimum stack: GitHub (or GitLab), Linear (or equivalent), Slack, Notion (or Coda), a password manager, and read-only access to production data. Add Loom for async pairing and CLAUDE.md / .cursorrules so AI tooling matches the house style.
Pair for the first 4-5 days, 90 minutes per day, scheduled on the calendar. Async-only onboarding works for senior hires who have done it before; for everyone else, paired week one catches silent friction that would take a month to surface otherwise.
Small (4-6 hours), self-contained (1-3 files), real (actually ships value), and documented (issue body has enough context to start). Maintain a labeled backlog of 5-10 such issues at all times.
Same playbook, compressed timeline. Contractors and Cadence bookings should hit the day-one PR target inside the 48-hour trial window. Full-time hires get the same goal but with more breathing room on equipment, legal, and equity setup.