In-house Development vs Outsourcing: Which One to Choose?

A short guide for deciding between both options.

You might be expecting me to tell you that you need an agency to help you hire. We are a recruitment agency after all.

I won’t do that.

In some cases, hiring an agency or working with outsourced engineering teams too early can kill your company.

In other cases, it’s the absolute best option.

My goal with this article is to answer the question:

Should you hire engineers for your internal team or outsource development?

Read on for a review of how different factors impact the final answer.

Tldr: hire for your payroll if you're at a very early stage and need faster product iterations; outsource development if you have Product-Market fit, a well-defined roadmap and want to reduce risk (and cost).

Hire or Outsource?

Joe is the CTO of a SaaS startup. He has been building the product with just one other engineer. Joe designed the architecture and together they built the MVP from scratch.

The product has been growing steadily and Joe now realizes they need at least one more engineer to be able to compete against the bigger players in their market.

Joe’s friend told him about an outsourcing company and how they improved the delivery speed of their roadmap.

Joe's now struggling with a decision:

Should I outsource our product development or hire an internal team?

Here’s one of the most informed opinions on this topic, from Michael Seibel, former CEO at Y Combinator.

Option #1: Internal Hire

This option tightly couples the relationship between the engineer and the company.

Internal engineers have the most direct contact with engineering decisions and the product team - often even doing some client-facing tasks.

If you don’t yet have an MVP and some traction to prove that you’re going in the right direction, you should hire an internal engineer.

While Michael Seibel’s advice is particularly directed at VC-backed tech startups, some lessons are applicable across the board. Internal engineers afford you independence and long-term product knowledge.

On the other hand, these hires must be a better cultural fit, as these are often longer relationships. It also means that there are higher costs of letting them go, should that be necessary.

One of the biggest drawbacks of having to hire an internal engineer is timing.

It takes much longer to hire for your team than it does to hire an outsourced team.


  • Long-term Orientation
  • Aligned Incentives
  • Product Knowledge
  • Team Culture & Communication


  • Higher Financial Commiment
  • Longer Time-to-hire
  • Higher Risk

Hiring for your internal structure requires the company to have a decent HR structure capable of not only recruiting but also conducting performance reviews, admin work, etc.

If Joe hires an engineer for his team, he has two options:

  1. Hire an employee (to join the payroll)
  2. Hire a contractor

Option #2: Outsourcing

Hiring external engineers is typically simpler. It requires some vetting of the partner you end up choosing but the process is more easily manageable.

Working with an external partner forces you to create specific requirements and product plans, which are sometimes neglected when working with internal engineers. By itself this is a step in the right direction.

It’s typically faster to get development work started with an external partner because now you have people dedicated exclusively to making this project move forward.

At the same time, outsourced engineers typically focus more on meeting deadlines and progress faster. This is because they know they are being measured almost exclusively on that.


  • Faster Time-to-hire
  • Cost Effective
  • Easier Scaling


  • Culture & Communication
  • Short-time Commitment
  • Talent Availability

How should you go about choosing an outsourcing partner?

Focus on these 4 criteria:

  1. Talent. Ask them to share with you the CVs of engineers who would work on your project. Vet the engineers yourself.
  2. Culture & Communication. Understand how people from the outsourcing company behave towards you and towards the engineers. Assess their written English.
  3. Budget. Consider the budget as a whole and not only on a per-hour basis. Often, trying to pay the least will get you the worst results. Do some research (or speak to us) to figure out the market prices for what you need.


Both approaches make sense in the current IT market.

If you need faster development, more flexibility and have a tighter budget, outsourcing might be the best option.

If you’re at a very early stage, need product validation and tighter control over the final solution, in-house development is likely the most suitable solution.

This is an oversimplification of reality, but one that could help you decide on the best way forward.

André Silva
Written by André Silva

Tech hiring insights in your inbox

From engineers to engineers: helping founders and engineering leaders hire technical talent.

We will only ever send you relevant content. Unsubscribe anytime.