I’ve assessed offshore development arrangements across 20+ client engagements at Nebari. About half the time, the client brings me in after something has gone wrong — the project is behind schedule, the code quality is suspect, or the relationship just doesn’t feel right. When I trace back to the beginning of the engagement, the red flags were almost always visible during the sales process. The client just didn’t know what to look for.

Here are the warning signs I’ve learned to spot, organized by when you’ll encounter them.

During the Sales Process

They won’t let you interview individual developers. This is the single biggest red flag. A reputable firm is proud of their people and will let you speak directly with the engineers who will work on your project. If the sales team insists on being the intermediary — “we’ll assign the right resources based on your requirements” — there’s a reason they don’t want you talking to the actual developers. Usually it’s because the developers they’re selling you aren’t the developers you’ll get.

They can’t show you code from previous work. Obviously they can’t share a client’s proprietary codebase. But they should be able to show you open-source contributions, sanitized code samples, or technical blog posts from their team. A development shop with no visible technical output is a marketing company with developers attached.

Unrealistically low estimates. If three firms quote 4-6 months and one quotes 6 weeks, the 6-week firm isn’t faster — they’re either lying or they don’t understand the scope. Low-balling the initial estimate is a common tactic to win the contract, with the expectation that scope creep and change orders will bring the real cost in line. You’ll pay the same amount, just with more friction.

No technical lead on the proposed team. A team of five junior developers without a senior technical lead is five people writing code with nobody ensuring it fits together. The lead doesn’t need to write code full-time, but they need to own the architecture, review every PR, and be accountable for technical quality. If the proposal doesn’t include a lead — or worse, lists a “lead” who is also leading two other client projects — the quality assurance is theater.

They agree with everything. Good engineering partners push back. They ask clarifying questions, challenge assumptions, and tell you when your timeline is unrealistic. If a vendor says yes to everything during the sales process, they’ll say yes to everything during development too — and you’ll find out what they should have said no to when the software doesn’t work.

During the Engagement

Developer turnover without disclosure. You start with a team of four. Three months in, two of them have been quietly replaced. The new developers spend weeks getting up to speed on the codebase, and features that were on track suddenly slip. This is the vendor optimizing their own utilization — moving experienced developers to new (higher-margin) projects and backfilling yours with junior staff.

Ask for a contractual commitment to team stability, with notice requirements for any personnel changes and your right to approve replacements.

The “black box” development model. They take requirements, disappear for 2-4 weeks, and come back with a demo. You don’t have access to the repository. You can’t see work in progress. You don’t get daily or weekly updates on what’s being built. This model removes all your ability to course-correct and gives the vendor maximum room to hide problems until they’ve compounded.

You should have real-time access to the Git repository, the project board, and the CI/CD pipeline. If a vendor resists this, walk away.

Scope without accountability. Hourly billing with no defined deliverables means the vendor gets paid whether they deliver value or not. Some work genuinely needs to be time-and-materials, but there should always be clear milestones, acceptance criteria, and a mechanism for you to evaluate whether the hours spent are producing proportional output.

Single points of failure developing silently. Check your Git history monthly. If one developer is authoring 70%+ of the commits across critical parts of the codebase, you have a bus factor problem that the vendor isn’t managing. If that developer leaves, you lose months of institutional knowledge.

The Questions to Ask Before Signing

These are the questions I wish every founder would ask during the vendor evaluation:

Can I interview the specific developers who will work on my project? What is your average developer tenure, and what’s your attrition rate over the last 12 months? Can you share anonymized metrics from a current engagement — velocity trends, defect rates, rework ratios? What happens contractually if a team member leaves mid-project? Will I have direct, real-time access to the repository and project management tools? How do you handle situations where the project is behind schedule — what’s your escalation process?

A vendor who answers these confidently and specifically is worth paying more for. A vendor who deflects or gives vague answers is telling you exactly what the engagement will feel like.


Related: How to Evaluate Your Offshore Development Team | The Offshore Team Audit Checklist | Offshore vs. Nearshore vs. Onshore