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 € 100/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.
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, 62% of offshore IT contracts cost much more than businesses expected.
Short Term Commitment – The most underestimated 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 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.
Here are 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.
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.
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.
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.
A way to get around this is to hire a team with a project manager who is either local and speaks your own language.
If you’re looking for a developer, and you’re deciding whether to outsource overseas, I’d recommend asking yourself these questions:
- What am I looking for in a developer?
- How much time do I have to spend doing the search?
- Can I write comprehensive technical requirements and judge how well code is written?
- How important are collaboration and feedback to the success of my project?
- 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.