Switching Developers Mid-Project: How to Secure Your Code and Transition Without Starting Over
2026-10-29 · Appsoluty team
Switching developers mid-project puts you in an odd position: the person you're about to replace still has the keys. They still have repo access, the API keys, maybe the domain registrar login, and nobody has told them anything is changing yet. That's a different problem than replacing a vendor who already quit, because every move you make before you say "we're ending this" happens while they can still see it, and in the worst case, while they can still lock you out of it. If you haven't yet decided who to bring in next, that's a separate decision worth making carefully before you go further. This is about everything that happens before, during, and right after you tell the current one it's over.
Before you say anything, secure the code, credentials, and IP first
The order matters more than people expect. A developer who senses they're about to be replaced doesn't need to be vindictive to cause damage, they can just stop responding, let a renewal lapse, or quietly deprioritize you while they line up their next contract. Secure access first. Have the conversation second.
What to lock down before confronting your current partner
Go through this list before you say a word about switching:
- Confirm you, or someone on your side, have admin rights on the actual GitHub, GitLab, or Bitbucket organization, not read access to a single repo one person manages for you.
- Pull the keys for every third-party service the app touches: payment processor, email provider, analytics, cloud hosting, SMS gateway. If they currently live in the developer's personal vault, plan to rotate them once you're ready.
- Get the actual domain registrar login, not a login the developer set up and controls on your behalf.
- Check that the Apple Developer Program membership and Google Play Console account are registered to your company, with signing certificates and keys backed up somewhere you control.
- Check who's listed as account owner on hosting, CDN, error tracking, and CI/CD, not just who has a login.
Do this quietly, over a day or two if you can, before the conversation happens. Once you've had the conversation, you've lost the ability to do it without friction.
Confirming you actually own the IP
Access is only half the problem. Before you plan a handover, go back and read the actual contract, not what you remember agreeing to. Plenty of development contracts transfer IP to the client only on full and final payment, or carve out exceptions for reusable libraries and internal tooling the vendor built and considers their own. If you're not sure what your agreement says, that's worth clearing up before you negotiate anything with the outgoing partner, and it's worth getting right in whatever you sign next. We've written in more detail about what your contract should already say about who owns the code.
Audit what you actually have, rescue or rebuild?
Once you control the code, the next question is what you're actually holding. A demo that looks finished can sit on top of a mess, and a codebase with thin documentation can still be in better shape than it looks. You won't know until someone independent looks underneath it.
What a technical audit should cover (and how fast it should happen)
A real audit covers architecture and code quality, test coverage (or the lack of it), dependency health, how far the documentation actually matches the running system, security basics like hardcoded secrets or weak auth, and whether the deployment pipeline can actually ship a change without the old developer in the room. For an app of normal founder-stage size, this should take days, not months. If it's dragging past two weeks, something about the scope or the access has gone wrong.
The rescue-vs-rebuild decision: the signals that tip it either way
The numbers here come from the industry's own published estimates, and they're rough by nature, but they're useful for knowing what range you're in. One agency's own rule-of-thumb puts typical rescue costs at roughly 30 to 60 percent of the original build budget, and notes that about a third of rescue projects end up needing most of the code rewritten anyway once the audit gets underneath the surface, according to an outsourcing shop's own rule-of-thumb on rescue-project costs.
Other shops draw the line a different way. Cortance's own guidance on when remediation costs justify a full rebuild argues that once remediation cost crosses roughly 70 percent of what a full rewrite would cost, a modular rebuild is the better bet. Either framing lands in the same place: the audit, not a gut feeling about how bad the code looks, should decide this.
If this all sounds familiar, it's because the same tension shows up in systems that have been running for years, not just ones that are mid-build. We've laid out a similar rebuild-vs-refactor framework for aging systems that's worth reading as the slow-motion version of the decision you're making right now, just with years of production history instead of a few months of in-flight code.
Structuring a paid handover window with the outgoing partner
Here's the part that doesn't exist at all once a vendor has already quit or been fired: you still have someone to negotiate with, and that person still wants a final invoice paid and a reference they can use. Most developers, even ones who've already decided to leave, would rather take two to four weeks of paid transition work than walk away on bad terms. Use that.
What's worth paying for in an overlap period (and what isn't)
Pay for a live walkthrough of the genuinely weird architecture decisions nobody wrote down. Pay for documentation of tribal knowledge that only exists in one person's head. Pay for a joint session where the outgoing developer and the incoming team sit on the same call while access gets transferred, so questions get answered in real time instead of over email three weeks later. Pay for fixes to bugs the outgoing developer already understands better than anyone else ever will.
Don't pay for new feature work during this window. Don't pay for speculative refactoring or "improvements" nobody asked for before now. Don't let the overlap turn into an open-ended consulting retainer because nobody set an end date.
A realistic overlap timeline
Two to four weeks is the realistic range for most mid-build handovers. Week one is parallel access and introductions between the outgoing developer and whoever's auditing the code. Weeks two and three are knowledge transfer: documentation, walkthroughs, answering the audit team's questions directly. Week four is final sign-off and the last invoice. Pay at their normal rate, or negotiate a flat fee for the window, but put an end date on it before it starts. An overlap with no end date turns into a dependency you never actually resolve.
The first 30 days with your new partner, stabilize before you build
Once the switch is made, the instinct is to get straight back to shipping the features that got delayed during all of this. Resist it for a month.
What stabilize means in practice (not shipping features yet)
Get the new team onto its own credentials, cleanly, with nothing still routed through the old developer's accounts. Reproduce the build and deployment pipeline end to end on the new team's machines, not just in theory. Fix whatever broke during the access and ownership transfer itself, because something usually does. Write down what the audit found, in a shared place, so it's not sitting in one engineer's head the way the last handover's context was.
This is also a reasonable moment to ask how the new team vets its own people, since you just lived through what happens when access and accountability are loose. Appsoluty puts an NDA, a signed framework agreement, and a company-issued machine behind every subcontractor who touches a client codebase, which is the kind of baseline you should expect from whoever takes over, not a nice-to-have.
When it's actually safe to resume new feature work
The real signal isn't a date on a calendar, it's a capability: once the new team can push a trivial, low-risk change through the full pipeline without you or the old developer in the loop, and it deploys the way it's supposed to, you're stable. For most mid-sized builds that lands somewhere around weeks three to five, not sooner. Once you're there, the day-to-day discipline shifts from stabilization to ongoing management, and we've covered how to manage an outsourced team day-to-day once you're stable in more detail elsewhere.
What a mid-project rescue actually costs
Appsoluty's model: $70/hr, estimated upfront, milestone or hourly
Our rate is $70 an hour, and engagements run either milestone-based or hourly depending on how well-defined the rescue scope is after the audit. Work typically starts within a few days of the first call: discovery first, then design, then the actual rescue or rebuild work. Once the contract is signed, billing runs weekly against hours actually worked, so you see the real number every week instead of guessing at a lump sum months out.
Rescue vs. fresh-build: how the math actually compares
Pricing varies hard by market and scope, so treat any single number as a reference point, not a quote. One UK-based shop publishes a UK agency's published remediation sprint pricing of GBP 15,000 to 40,000 for a four-to-eight-week remediation sprint, and GBP 40,000 to 100,000 for a partial rebuild spread over three to six months. That's in British pounds, from a UK vendor's own pricing page, not a universal figure and not something to convert and assume applies to your market. What it does show is the shape of the curve: remediation costs a fraction of what a partial rebuild costs, and a partial rebuild costs a fraction of starting over completely.
Whatever number you land on for a full rewrite, treat it skeptically. 8th Light's critique of rewrite cost estimates makes a case worth sitting with: the people who estimate a rewrite rarely account for the catch-up work needed to match what the old system already did, the scope that was invisible until someone was actually inside the code, or how long it takes stakeholders to re-approve features that already shipped once. None of that shows up in the original quote, and all of it shows up in the invoice. It's the same pattern we've written about in the hidden costs that blow up outsourcing budgets, just concentrated into a single, larger decision instead of spread across a normal build.
Get the audit before you commit to a number in either direction. The published ranges tell you the shape of the decision. Your actual codebase, not the market average, tells you which number you'll actually pay.
FAQ
Can a developer legally refuse to hand over my code?
It depends on what the contract actually says, not on what feels fair. If your agreement assigns IP to you on full payment, a developer who refuses to hand over the code is in breach, even if they can slow-walk the process while you sort it out. If the contract is silent on IP, or reserves rights to libraries and tooling the developer built, the picture gets murkier, which is exactly why checking the actual contract language comes before any confrontation, not after.
How long does a developer takeover usually take?
Plan on five to nine weeks from the day you start securing access to the day your new team is fully stable: two to four weeks for the audit and paid overlap with the outgoing developer, then another three to five weeks stabilizing with the new team before feature work resumes. It runs longer if the audit turns up enough problems to justify a partial or full rebuild.
Do I have to rebuild everything if I switch developers mid-project?
No. Switching developers doesn't force a rebuild on its own. What forces a rebuild is whatever the audit finds underneath the code you already have, and plenty of mid-build codebases turn out to be reusable enough that a rescue, not a rewrite, is the right call.
What's the difference between a rescue and a full rewrite?
A rescue keeps most of the existing codebase and adds the fixes, documentation, and targeted refactoring it's missing. A full rewrite treats the old codebase as reference material only and builds from a clean one. The dividing line usually comes down to cost: once fixing what exists costs close to what starting over would cost, starting over stops being the riskier option.