Outsourcing Developers 101
The following three articles focus on these categories:
- A. Things to Think About & Prepare Before Hunting for Outside Developers
- B. How to Choose the Right Development Company ('Dev Shop')
- C. How to Manage the Dev Relationship
Additionally, you will find an appendix with helpful tips. In these articles, we mainly address 'dev shops' because it’s easier to say than 'outside developers', but the insights apply to freelancers as well.
These insights are largely based on the experiences of Hacknocraft, a development studio based in NYC. Let's get to it.
A. Things to Think About Before Hunting for Outside Developers:
- Do you really want to hire outside developers? Even after you know what you want, outsourcing still isn’t for everyone – make sure you’re doing it for the right reasons.
Here are a few reasons why you SHOULD hire a Dev Shop:
- You want to have in-house devs long term, but you need to ship product quickly and you don’t want to rush the hiring process. Hiring a dev shop to ship your product gives you time to find the right in-house devs rather than hire the first ones who bite, and that sets you on much better footing long-term.
- You have a tech-enabled company but technology is not your core business. You don’t want to spend time hiring, managing, and maintaining a development team so you decide to outsource the whole thing and focus on your core business.
- You’ve pivoted your company to an area where your current devs do not have core competency (this is common in web -> mobile pivots). You need a product fast to raise your next round of funding and justify your pivot.
Here are a few reasons why you SHOULD NOT hire a Dev Shop:
- You have a lot of money and you’re too lazy to learn about technology or recruit a technical cofounder. You just want to have someone else do all the work and see a shiny app/website after 3 months. If this is the case, you are doomed to fail, so you might as well save your money.
- You’re not technical and you have a hard time selling your vision to engineers. You want to build an MVP you can show to attract engineers to your team. This is not necessarily a bad idea if you have a web business, but we generally recommend against this if you’re mobile. This is because a good app is expensive, so before you make it, you should have done enough homework to have a compelling vision to pitch. Wireframing tools like Balsamiq or Fluidui make drawing up your vision easy and cheap, even if you’re not technical. If you intentionally do not want or need engineers in house, that is fine, but if you want one but cannot get one unless you first pay outside devs 5-6 figures for a piece of marketing, then you need to rethink your pitch.
- Your friend/cousin/brother’s roommate knows a guy who can build your product twice as fast and at half the cost of hiring a developer in house (If it sounds too good to be true, it probably is).
- Lean startup the sh!t out of your company before you give a cent to a Dev Shop. Lean is always useful, but it’s especially useful if you’re going to be working with outside developers. This is because the more work you’ve done beforehand, the better you are able to articulate to the dev shop what you want, the better you can supervise their progress, and the less likely you have to make changes mid development. If you don’t have detailed specifications for your product, then the time and cost of development is not clear. Good dev shops generally price this into their quote by adding a “buffer” of time and money in anticipation that things will end up harder than you first told them, while less scrupulous dev shops will give you a low bid but then ask you for more time or money midway through the project and hold your product hostage until they get it. Neither of those situations is favorable for you, which is why it’s important to have a very clear idea of what you want before approaching outside developers.
- How much should it cost? We routinely come across entrepreneurs who get sticker shock when we quote them $100k for their app, and then tell me with a straight face that they’re currently raising funds at a $2 million pre-money valuation even though they have no product. “So, you think your company is worth $2 million pre-product, but you’re not willing to spend 5% of that valuation on actually building that product?” Yeah, don’t be an idiot.
As of mid 2015, we generally see good apps built in the $50k-$150k range. Any higher, you can probably break it into phases, e.g. where you pay $150k for phase 1 and $50k for phase 2 rather than $200k up front – this reduces your risks and allows you time to test your app between phases. Web products cost less, but not by an order of magnitude. Websites (as opposed to web products) are really cheap – if all you need is a static website, you should probably just learn Wordpress and do it yourself “for free”.
To know if a quote you get is fair, first, understand the components of your product: do you need a custom backend? Do you need iOS and Android or can you start with just one? Do you need to host vast amounts of images and video? How much of what you need to do is novel versus how much is common - this determines how much needs to be built from scratch versus just integrating a third party solution. Next, research the economics of the tech industry – how much are good UX/UI designers, project managers, and developers being paid, and what are the ancillary costs like benefits, equity, and management and search costs if you were to hire in house? Best way to find out is by hitting up your friends who work at good tech companies and asking them what their companies are paying. As of mid 2015, my research in NYC tell me that senior iOS developers are making $150k+, senior web devs a bit less, and good designers and project managers break $100k as well. For offshore teams, a good rule of thumb is to take the NYC dev salaries and adjust it downward by the cost of living of the offshore area. High end development is a global market – there aren’t really arbitrage opportunities outside of cost of living. Finally, after understanding your product and the economics of the industry, think about how much you’re valuing your company and what portion of that should be your technology.
Working Across Time Zones
Working across disparate time zones can cause lots of pain and anguish. You'll need to frequently collaborate and if there is a big difference between time zones it can become very tiring. Additionally, cultural differences can exacerbate communications issues. These things can adversely affect the development of your product if can't manage them.