Kissmetrics Blog

A blog about analytics, marketing and testing

Built to optimize growth. Track, analyze and engage to get more customers.

Should You Hire an In-House Developer or Outsource Overseas?

Many entrepreneurs praise the merits of outsourcing development work overseas, while others have sworn off due to horrible experiences. Should you outsource development overseas or hire a developer for your team?

The Benefits of Outsourcing Overseas

Cost – Obviously, the cost of labor is much cheaper overseas. Why pay a local developer $150/hr when you might be able to get the same work done for a quarter of the cost, or less, from another country? Then, you could use the cost savings to build a bigger, more feature-rich application.

Labor arbitrage is seen as the biggest pro for outsourcing. If you can get more bang for your buck for the “same thing” elsewhere, many entrepreneurs think it doesn’t make sense to pay more for someone local. (When costs are equal, hiring locally generally always trumps outsourcing.)

However, comparing labor costs isn’t as easy as you might think. This great ZDNet post from an outsourcing firm urges entrepreneurs to consider the extra time associated with managing and preparing an offshore project. Often, comparing explicit costs leads to the fallacy of not considering opportunity costs and to assuming that one hour of labor is equal everywhere. Whereas, in fact, this survey showed that 62% of offshore IT contracts cost much more than businesses expected.

Short Term Commitment – The most underrated benefit of outsourcing is the ability to bring in an expert on a project basis without committing long term (and paying the associated costs). You may really need someone with one skillset now but need someone with a totally different skillset in a few months.

No Office Distractions – This may seem silly, but many office environments are huge distractions for developers. With lunch, office chit chat, and commuting, there is little time left for developers to get actual work done at the office. Additionally, this usually means developers must work way more hours than necessary, which hurts morale and possibly company culture.

The Benefits of Hiring Full Time Developers

Buy In – Developers who work for you full time have bought into your idea and have high opportunity costs for working with you. They are investing time and energy into your idea and have a vested interest in the outcome. That’s huge. They are less likely to bail for a number of reasons and, if the fit is good, will be long term players.

Relevance – Developers who are sitting next to you know what’s going on and can change directions quite easily. A new feature may take priority after a casual conversation rather than waiting for an allotted meeting time. They also know what challenges the business is facing in other areas, such as sales and marketing, and can offer potential solutions or fixes.

Aligned Interests – Freelancers, by nature, define success by securing clients, delivering on projects, and working on multiple projects. Entrepreneurs, by nature, define success by building businesses that generate revenue and disrupt markets. This takes a long time. A freelancer (especially one who is outsourced) will take you only so far.

The Downside of Outsourcing Overseas and Possible Solutions

Quality – A huge issue when outsourcing overseas is quality control. How do you make sure the code that is being written is high quality? How do you even judge the developers on outsourcing sites who list their portfolios? A common practice for large overseas dev shops is listing a general portfolio of work the firm has done (usually the best developer). You can’t be sure what you’ll actually be getting.

The Fix?

TechVibes recommends a couple of strategies to mitigate this risk: hire someone local to act as a consultant and do some of the legwork, and have companies in the running do a test project to see whether they are a good fit.

Another option is to have candidates do a technical interview. Some outsourcing sites like eLance and oDesk have tests that candidates can take on their own platform, but I’d encourage a personalized test. (At the end of the day, you can’t be 100% sure the candidate who performed the coding test is the one you are hiring due to the nature of those platforms.)

If you go the technical interview route, here are some common questions (and their answers). For more inspiration on technical questions, check out platforms like TopCoder that create coding competitions for developers. Here’s how Eric Ries recommends doing technical interviews.

Remember, the point of the technical interview is to make sure the candidate actually can code. (Surprisingly, many programmers who apply for jobs, can’t program). Once they pass, you’ll want to ask behavioral questions to make sure there is a personality fit.

Code Collaboration – Collaboration is a HUGE challenge when outsourcing overseas. Depending on which country you choose to hire a developer in, there can be major cultural issues pertaining to the statement of work. Software development is organically a collaborative process, but you can’t really expect developers overseas to understand what you’re asking because they are coming from a different context. That’s why writing extremely specific requirements is key to having a good experience outsourcing.

The Fix?

Experts also highly recommend outsourcing to a company using Scrum. In studies, large cross-distributed teams achieve the same goals as small local teams when using Scrum.

Why? Scrum works because it allows projects to self-organize, provides transparency into project work, and emphasizes communication from team members. The fact that all participants follow a framework or process is important to ensure consistency.

Without Scrum, project owners are left in the dark until work is completed, and by that point, needs or preferences may have changed. Having this kind of organized process is super important for distributed teams that lack organic methods for communication. To learn more, check out this instructional video on how Scrum works.

Logistical Challenges – Many entrepreneurs don’t consider the challenge of being 100% remote and having a developer in a very different time zone. They may have to wake up in the middle of the night for conference calls with the dev team, a time when they likely wouldn’t be doing their best work.

The Fix?

A way to get around this is to hire a team with a project manager who is either local or in a closer time zone. Many large shops hire U.S. based project managers to mitigate this challenge.

Project managers provide a buffer between clients and developers: they can make sure non-technical needs are translated accordingly, and in the case of outsourced development, they can make sure some of the cultural issues related to hiring developers overseas are taken care of.

The Downside of Hiring Full Time Developers

Cost – Health insurance is ridiculously expensive. (We just shopped for it at Matchist, and it came to $1500/month for our CTO.) So are developers’ salaries. Unless you have a technical cofounder who is willing to take a bulk of compensation in the form of equity (considered unicorns these days), hiring a developer can be cost prohibitive.

Time – The time it will take to find the right developers and convince them to join you may be more than you think. Different from an outsourced worker who you can switch out on a project-by-project basis, a full time developer needs to be someone who is a fit from both a skill perspective and a cultural perspective. Since demand for skilled developers is so high, finding the right developer may take you away from other pressing issues with your business.


In all, my general recommendation to people who ask whether they should outsource development overseas or hire a developer is that the right answer really depends on the situation and usually is a hybrid. If someone is a technical founder who can easily relay technical requirements, judge code, and cut through the crap (pardon my French) associated with hiring outsourced workers, that may be the best solution.

Another alternative many entrepreneurs don’t consider is hiring a U.S. based freelance developer. Increasingly, talented developers are choosing the freelance lifestyle and the flexibility it promises: ability to work on a wide range of projects and opportunity to travel. These developers tend to enjoy working with startups and collaborating on cutting edge technology. They also are much cheaper than hiring someone full time and often don’t want equity.

If you’re looking for a developer, and you’re deciding whether to outsource overseas, I’d recommend asking yourself these questions:

  1. What am I looking for in a developer?
  2. How much time do I have to spend doing the search?
  3. Can I write comprehensive technical requirements and judge how well code is written?
  4. How important are collaboration and feedback to the success of my project?
  5. Where does cost fit into the equation?

Answering these basic questions definitely will assist you in figuring out which choice is best. Also, make sure to talk to other entrepreneurs who have chosen the different paths and ask about their outcomes. If you go this route, talk to as many people as you can, as a variety of perspectives makes way for patterns in best practices.

About the Author: Stella Fayman is CEO and cofounder of Matchist, the best place to hire top U.S. based freelance developers. She founded Matchist to help entrepreneurs connect with top developers and to help developers find projects based on their skills, experience, and interests. Stella is also cofounder of Entrepreneurs Unpluggd.

  1. I have been on both sides of the equation, as a freelance developer in the U.S. and hiring developers overseas.
    I found that what really matters is to have a good relationship with your developer, no matter where they are. Being able to talk honestly saves tons of headaches, and if you can find a developer who fits that bill for $50 an hour, more power to you!

    • Andry Ivannikov Feb 11, 2016 at 11:36 am

      As we all know, you can’t figure that out beforehand. So though it might sound crazy, but we’ve solved this by offering our developing team for free “test drive”: after a week client can decide whether to proceed or not. In this way we show our communication style and the way first results are delivered.

  2. Darn – $1500/mo for health insurance? That’s a lotta cake (unless you’re covering their family)

  3. I’ve persoanlly never seen anything good from outsourcing, and especially outsourcing to offshore locations like India. In fact, some of the work I’ve seen offshore companies have produced is a joke.

    • I would like to very honestly add that we also fail to account for the cultures involved. India and Pakistan are cultures of failure. For entrepreneurs from the west, especially the U.S we are on a completely different wave-length from our outsourced developers. Things as simple as taking responsibility and following through with commitments are generally foreign concepts in South Asia. Add the unreliable power and internet, marriage season, non-stop family issues, and numerous holiday festivals, which repeatedly derail a project and you get very poor productivity and an end-product as buggy as an Indian made automobile. We in the west forget that our success is directly related to our cultural work ethic and pride in doing a great job. We mistakenly assume that it’s universal – to our detriment.

      Now, I’m not 100% against outsourcing but we do have to consider culture. As an aside, I have worked with a few developers from Russia who are craftsmen.

      I hope this helps – it’s never mentioned.

      • Bringing India and Pakistan together is usually the mindset of a particular country citizen. Your target is India but you added Pakistan to add a bit of generalization . Same goes with your call to unite westerners. This gives rise to the question, How acceptable are you, as a westerner to other westerners? Or in other words, is outsourcing a way to get rid of you by your colleagues?
        My advice would be to do your job to the fullest of your satisfaction. And there are quality resources out there, regardless of their origin. Those who are able to deliver in spite of the blockades mentioned by you(marriage, holidays, etc) are true gems compared to those without such blockades.

      • I don’t think you have the Rights to say that “India and Pakistan” has failed cultures. It just shows your arrogance. How can you hurt other cultures in such a public media?

      • You bring a very valid point about cultural differences. I am from the south asian sub-contitent and i have studied, worked and lived in the US from 20 years now. I have lived here long enough to absorb the positive work culture and ethics of the west.

        I have worked with developers from India at several of my previous companies and the culture we take for granted here just doesn’t exist there. The pride in ones work is not embalmed in these developers, they cannot think for themselves and tailored down to being mere robots that will do anything you tell them to do be it completely wrong.

  4. Forget outsource, In-sourcing provides much more value. You can sit down with the designer / dev via scrum and pair programming knock out a prototype / MVP in 20-40 hours deliver to client and move to the next project.

  5. Matthew Setter Oct 02, 2013 at 9:12 pm

    Having both a freelance and employed developer I see both side of the equation of the person being hired. I also have an appreciation of managing a remote team, between the UK & India as well.

    From experience, different timezones can be a blessing and curse. They can be a benefit in that you (the developer) can do your work whilst the client is either sleeping or otherwise out of the office.

    This helps the developer as, whilst a very collaborative role, lots of meetings, phone calls, emails and so on can greatly hinder concentration which is essential.

    But with enough timezone overlap, say at the end of the developer’s and the start of the client’s, there is still the opportunity to communicate progress and seek feedback.

    Timezones can also make things difficult if there is no overlap, or as the article stated, you need to be up in the middle of the night for meetings and catchups.

    I am a big believer in remote working. But the more remote the developer is from the client/business (especially from a cultural or language perspective) the greater the investment will be required in communication and project management.

    So I encourage remote development teams. But please bear these points in mind.

  6. I don’t see any harm in outsourcing projects overseas. Yes Stella, you made really nice points here regarding the selection of in-house developer and freelancer.

  7. Generally it is not a good idea to outsource your core development. Always try to keep it in house. However outsourcing is only way if you are bootstrapping and have limited funds.

  8. Jason Parsons Oct 03, 2013 at 1:15 am

    I think the most recent incident I saw was an outsourced company who didn’t have the english skills to ask questions to get the knowledge of the project they needed or document bugs/fixes.

    It ended up an expensive, buggy mess costing major in house time/costs to fix.

    Best of all, time zone overlap (or lack of it) ment that these unreadable emails were exhanged at a rate of one a day.

    The company of course, didn’t learn from their mistakes, which shouldn’t be suprising, as they did not even do the most basic of quality checks in the first place.

    This is not ment to be a horror story of outsourcing, as we are dealing with a dilbert style company here, just an example of how it goes wrong when done wrong.

  9. This is a fairly hand-wavy article. The “It depends” is such a predictable answer! *yaaawn*

  10. Thomas Oppong Oct 04, 2013 at 3:10 am

    Forget in-house developer, hunt for smart developers anywhere. Once you make that smart hire, he or she can work with you without necessarily occupying office space, using company resources and saving you money.

    Almost half of 37 Signals employees are overseas. The growth of employee and productivity resources make it simple and efficient to work with an overseas team member.

  11. The other question not raised here is concerned about the long term support and maintenance of the solution. Yes, it may be seemingly cheaper to outsource at the start, but don’t forget with that decision goes the knowledge built up by the developers? At some point you will either have to rebuild it locally or rebuild it in next team who you want changes made. Also who do you have who can do the knowledge transfer?
    Whereas if developed in house you have more control over the retention those skills.

    • Retaining knowledge is factor with both using in-house developers and outsourcing. If you hire somebody to come work for you for 6 months then let them go, it’s a given that the knowledge built up during this time also leaves with them. Project based outsourcing or temporary hires are just that, temporary. However, if you take the time to build up a team, they will be available for you regardless of their location. In-house teams are easier than one 10,000 miles away. That’s why outsourcing firms exist.

  12. Jeremy Janson Oct 05, 2013 at 7:22 am

    Kind of an ad, but still some good information in good faith. I thank you for that.

  13. Nice what to break-down the pros and the cons of outsourcing.

  14. Alina Shahnazari Oct 17, 2013 at 3:48 pm

    Great article !
    I think the best solution is to hire a responsive and agile software company close to your office location and make sure that software company uses offshore developers to bring the cost down for its clients.
    This way you have a local team that you hire on demand and also you get the benefit of lower cost comparing to what you would pay for a full time in-house developer since they use some offshore resources.
    This is the model we have been using for our clients for 7 years now, and they are extremely happy with both the quality and the price.

    Contact me if you need your products to be dome this way.

    Alina , Cofounder of Agile Clouders, Inc.

  15. Kirk Maudsley Nov 20, 2013 at 10:36 am

    We’re big advocates and practitioners of onshore development. In the end, offshoring usually costs you more time, money, and frustration than originally anticipated.

    Good developers not only code for the present need, but also code in such a way that future changes and updates can be easily implemented. If your cheap software code leads to a dead-end, don’t be surprised if you need to recreate it from scratch the next time you need an update.

    This is easily overlooked by many businesses and startups who are looking to get the cheapest development for their “important” projects/ideas. In the end, you usually get what you pay for.

  16. Stella, thank you for the great points!

    Surely outsourcing is not a magic wand, and people opt for outsourcing for many different reasons. It won’t work for everyone.
    Here you can see some great information on outsourcing ideology and best practices:

  17. Elena Gritsuk Apr 16, 2014 at 4:10 am

    Thanks, it was intresting to read!
    i think that it’s difficult to guess who will work better either in-house developers or outsourcing providers. It depends on a company and people. For example our team is not only highly skilled but also responsible one.

    • Elena, glad you liked the post. It’s always a tough balancing act, but once you figure it out it’s great!

  18. I’m going to through in a monkey wrench here and ruffle some feathers. Outsourcing offshore is always going to be a bad idea in the long run. In the broader spectrum of things, it undermines the economy simply because this is money going out and not coming back in. You end up with local displaced developers (workers in general) that are less likely to contribute to the economy. As a result the need for government intervention (BIG Government) to alleviate the economic imbalance increases. Taxes go up, and companies doing the outsourcing suffers. It turns into a vicious cycle until this part of the economic infrastructure contributes to the many issues associated with our current economic collapse. Everyone suffers.

    • You bring up some great points. Thanks for sharing. We look forward to hearing more from you :)

  19. Definitely the risk of outsourcing are communication flops. To make it work, you need to be sure the team you’ve chosen has a transparent, clear process that keeps all people involved on the same page. Some of the good practices is doing systematic video calls (Skype/Google Hangouts) for planning next iteration/collecting feedback, creating staging environment (both devs & Clients can ‘click around’ and see how the product currently works). Here’s a couple of other things that works for our team:

  20. Good article! Thanks for sharing.

    I think, software outsourcing companies don’t work in isolation. It is always a good idea to involve your staff in the making right from the day you decide to get it outsourced.

    We look forward to hearing more from you :)

  21. Finding the best outsourcing partner is always a hassle. However, above 5 questions are really useful to decide the best development partner. There are some resources available that can be useful in choosing offshore developers.

  22. It is always a good idea to involve your staff in the making a good Corporate Identity Design practically makes you there are some resources available that can be useful in choosing offshore developers

  23. Yeah! It’s a great Topic and a useful piece Stella. I recently decided to outsource some of my projects to and the charges and services are really cool for me.

  24. Tony Turkovic Mar 18, 2015 at 12:00 pm

    Your best bet is to go with a company that oversees the offshore development because it’s usually hit & miss, I had to learn the hard way.

    I created after a trip to India where I was able to establish an in person relationship with an amazing team. We do the design here in states. Doing so allows us to combine the creativity & design of the west with the technical skill & expertise of the east.

  25. I truly believe that remote working is here to stay and infact now slowly all the tech companies will eventually find a way to make remote working work for them. This increases the lifestyle, ambitions and employee happiness a lot. My time in Bali Hubud made me realise that there is a whole tribe of remote workers who love their lifestyle and still manage to follow their dreams be it software development or marketing all by living a remote working lifestyle

  26. I think that outsourcing is almost indispensable element of today’s business world. I personally decided to outsource some of our IT operations. Positive Power Software House helped me especially in the mobile application design and development. Nowadays almost every business keeps its eye on the costs and outsourcing gives you an opportunity to reduce them.

  27. There are many advantages of outsourcing

    1. Cost advantages

    2. Increased efficiency

    3. Focus on core areas

    4. Save on infrastructure and technology

    5. Access to skilled resources


  28. So nice article about hiring a developer. The points discussed in the post are so useful and interesting. You should hire developer from in house or outsource from overseas, it’s depends on your project requirement and your past experience.
    I have seen lots of people who don’t have good experience from outsourced developer, then other side lots of people have good experience from in house developers. I am not saying that all the outsourced developers are not good From my personal experience I have hired IndiaNIC Infotech Ltd for my business website. And my experience is very good with the company. So I always prefer in house developer to hire for my any projects.

  29. You can find brilliant developers from just about any country. We’ve tried outsourcing at two companies I’ve worked for and it hasn’t worked out yet. It probably says more about our management than it does about the outsourced developers.

    The problem is the management team always says, “We going to get a developer from India that will do the same work as our local developers, but at half the price! We may even hire 2 instead of one local developer.” Good luck with that.

    The problem is smart, skilled developers (no matter which country) are in high demand. So, when management sees the rates of skilled, senior developers in other countries, they just say “I don’t want to pay that much, give me a developer for $20-$25/hr”.

    When you add on language barriers, time zone mismatches, no face-to-face meetings and they fact that the U.S. mangers aren’t properly defining and delegating tasks, you get a lot of wasted time with poor results.

    I’m sure if you get the right offshore team members and have good, local management, it works. But, that is a rare case in my experience.

  30. Outsource someone is always very tricky , expecially if you outsource to India , it’s not a matter of being racist here, but after 2 years of trying hard to get developers from there , hiring 100 differ developers. I the conclusion that are not reliable and not professional.


    • I agree. I cant stand when I log onto websites like elance or odesk or bidding sites and all you have are offshore companies willing to do a huge ecommerce website for 100$ or 1$ an hour.

      Now personally i have used a contractor before. And I went with someone USA based with decent prices and a portfolio. I would never go through someone in Indo because from what ive seen over the years, they just want to do the work quick with no quality. Like really, how much can you expect for 1 or 2$ an hour?

      Then I see people posting gigs on craigslist where they want an entire website for 100$. I say unless that site only takes an hour or two, you wont get very much from it.

      And you have so many people asking to do there web site for a trade bc they dont have the funds to pay. Noone will do a website for free unless your a teenager just getting your feet wet.

      However the best off shore contractors are from the phillpines .

  31. Does anyone know when this article was published?

  32. There are quite a lot of people I agree and disagree with. Its very important to look out for smart developers either when hiring or outsourcing. It takes time but you got do it, as an entrepreneur or CEO you don’t want to be the guy who is self learning tech skills, you want to be the manager running the show.

    I am from India and I have never said Yes to a project that has involved a “Price Fight” If I am working my ass hard on hiring the best guys to do the best job, Man I got to be paid right for it. But people who outsource to India don’t understand that, they want to pay less and get the best and so the product suffers and hence the burn. As a company looking for outsourcing, you need to address these questions first:

    – Is the company I am hiring the right fitment for what I want
    – Does the company have the ability to go beyond and think with me on my project.

    My company does less projects out of choice, people think we are crazy but We love what we do and with full commitment. Our clients have been extremely happy with what has been delivered, we have been associated with few for more than 5 years as their CTO and they are all US companies.

    For those who outsourced and got burnt, its a lesson, see what mistakes you did when hiring, you probably failed to find a “smart one”

  33. Often, there are concerns about the level of quality produced when companies outsource their software development. It’s much easier to do quality control and monitoring when you know the software engineers directly and can physically speak with them one on one. In this instance, it’s best to pick a reputable outsourcing company that has a demonstrated track record of producing quality work.

Comments are closed.

← Previous ArticleNext Article →