Should I hire a mobile developer for a business app or source it to a mobile app development company?
The answer would depend on a number of things based on my experience of running a app design firm freemiumlabs and having built 20 + apps. -
How fast you can learn things? How good are other co founder since you need a minimum of one backend developer, 1 front end, 1 android developer and 1 iOS developer.
Where are you living ? If you are living in Westersn Europe, North America, Australia, I think its pretty expensive to make app, since your time costs more dollar than the the time of a freelancer or web agency in country like India.
How complex your idea and product is. If it is something unique and difficult, you might want to make it by hiring people.
How sure you are and how serious you are about new business? If not very sure or not very serious or both, I would suggest go for a web agency.
What is the demand supply chain on your area. Developers available vs needed. For example in Silicon Valley there is such a massive dearth of developers, that you end up paying 100k+ salaries to developers. Whereas in country like Singapore, India there is no dearth of developers and supply here outweighs demand far more.
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.)
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 andPossible 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.
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 likeTopCoder 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.
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.
The Downside of Hiring Full Time Developers
Cost — Health insurance is ridiculously expensive. 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 associated with hiring outsourced workers, that may be the best solution.
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.
You could also consult me for any help or any kind of work you need to outsource.
Some of our works in app design -