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.

Conclusion

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!

  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.

  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. 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. Great article, always a relevant topic!

    For a lot of companies finding local talent is difficult. A few mentioned in this article I wrote awhile back are finding success training developers instead of outsourcing.

    I’d be interested to read your thoughts on that.

  8. Ninan Thampy (@ninan99) Oct 02, 2013 at 11:29 pm

    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.

  9. 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.

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

  11. 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.

  12. 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.

  13. 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.

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

  15. 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.

    Thanks,
    Alina , Cofounder of Agile Clouders, Inc.

  16. 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.

  17. 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:
    http://www.coherentsolutions.com/content-resources/coherent-solutions-white-paper/

  18. 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!

  19. 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.

  20. 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: https://netguru.co/blog/posts/5-communication-tactics-for-building-great-web-applications

  21. 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 :)

28 comments

Please use your real name and a corresponding social media profile when commenting. Otherwise, your comment may be deleted.

← Previous ArticleNext Article →