Choosing the Right Dev Shop
Three things you should strongly consider when you're choosing between Dev Shops
Is the Dev Shop's reputation on the line? This is really 90% 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 5-6 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 cannot 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", and these guys get gobbled up quickly. Other roles require no qualification - anyone who took an online class can call himself 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 or even good "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.
- On shore or off shore? This is usually a cost vs. risk question. The more resources a dev shop has on shore, 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 on shore or hire a split team where someone senior is on shore whom you can meet with face to face to develop a personal relationship, and this person is putting his/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 US and development off shore; in those cases, be extra careful if the management team does not actually contain an engineer, as previously mentioned. You should ask them, how much control do the on shore 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 1/3 to ½ 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 kick ass Node.js expert in India but you realize he’s only being paid $5/hr (yes, we have seen this), you should adjust your expectations accordingly.