Choosing the Right Dev Shop
Three questions you should ask when choosing between development shops:
Is the dev shop's reputation on the line? This is really 90 percent of it. You want to go with shops whose reputations will take a hit if they mess up your project. High-end development is a reputation business where word of mouth and a good referral goes much farther in closing deals than any advertisement or SEO. This makes sense, considering most contracts are five to six figures. Good shops want happy customers who help refer the next customer.
Lower-end development shops have more of an advertising model and compete on price—reputation is not so important because most of their leads do not come from referrals. That is very dangerous for you. Other than the market segment the shop is in, whether their reputation will take a hit also depends on factors such as size (the bigger they are, the less reputational risk they take on your project), caliber of people (the lower the caliber of people, the less they care about their reputation), and location (if they're in your city, reputational effects are much stronger than if you are an ocean apart). Your entrepreneurial dream is on the line—make sure theirs is too.
What’s the caliber of the executive team? (This is for non-technical people. If you’re technical, you can just ask for sample code and evaluate quality from that.)
You know the old saying “A people hire A people, B people hire C people?” Good people attract other good people, while mediocre people hire lesser talent because they either can’t tell the difference, or they’re afraid that good people are a threat to their position. Furthermore, good people have reputations they need to protect, and that is in your favor. One easy check on the caliber of the shop is what proportion of a shop’s executive team is engineers—engineers are the most precious resource in this industry because you need to be formally trained to call yourself a "software engineer,” so these guys get gobbled up quickly.
Other roles require no qualification. Anyone who took an online class can call themselves a programmer, while "marketing" and "sales" are titles people give themselves—they might be amazing, but you won't know until after you work with them. Good shops can attract engineers that are good enough to sit on their executive team, and those people will in turn hire more good engineers and programmers.
There are four senior partners at Hacknocraft, three of whom are engineers with expertise spanning Android, iOS, web, and backend. We cannot tell you how many shops we have come across where there isn’t a single engineer on the executive team, but the whole enterprise is run by digital marketers and sales people. Sales and marketing are vital roles, but an engineering firm completely run by non-engineers? Would they even know the difference between a good engineer and a mediocre programmer? As a client, you want to pay for development, not glad-handing or fancy marketing brochures, so make sure you know who is running these shops.
- Onshore or offshore? This is usually a cost versus risk question. The more resources a dev shop has onshore, the more expensive it would be. But on the other hand, the more resources they have offshore, the greater the risk to you, the client. At Hacknocraft, we have a portion of our team in NYC and a portion in China. We suggest that you either hire onshore, or hire a split team where someone senior is onshore whom you can meet with face-to-face to develop a personal relationship. This person is putting his or her reputation on the line if things go south. Never hire a team that can run away with your money and suffer no consequences because they’re all in another country.
A lot of split teams have management in the U.S. and development offshore. In those cases, be extra careful if the management team doesn’t actually contain an engineer, as previously mentioned. You should ask them these questions: How much control do the onshore managers have over the offshore team? Can they speak the language of the offshore team? Do they know the offshore business culture enough to know how to hire good developers? Can they evaluate the offshore devs’ technical chops and know what they’re really capable of? I’ve seen it work, and I’ve seen it burn, so be careful.
Lastly, you should figure out how much the offshore devs are being paid. You can try asking, or you can estimate from their rates. In our experience, devs are generally paid one-third to one-half of the rate the shop charges you (the rest is administrative costs plus profit), although some devs get less than that. Again, high-end development is a global market. If someone tells you that they have a kickass Node.js expert in India, but you realize he’s only being paid $5 per hour (yes, we have seen this), you should adjust your expectations accordingly.