The No. 1 problem of almost every Silicon Valley entrepreneur is finding engineers. Developers in San Francisco are similar to apartments in San Francisco — really expensive, hard to get and even harder to keep. On top of a six-digit salary, bonuses and large stock packages, you’ve got to offer a super-duper cool office, some unusual perks, etc.
It doesn’t have to be this way.
Our engineering office is offshore, and we’re really happy about it. We have close to 0 percent down time, timely releases and an amazing product. However, most startups that go offshore for their development needs fail. What is amazing to me is that the founders of these companies make the same mistakes over and over again.
Building an offshore development team that doesn’t suck is hard, but doable.
Rule No. 1: Go In Person
When you go offshore, you’re more likely to have to deal with another culture. It’s impossible to work with people you don’t understand (literally and figuratively).
If you want to hire engineers to work for you remotely, you have to fly there, meet in person and become friends. You better spend a few weeks, or even months, working with them on their home turf. You need to first make sure they actually speak English and you can communicate with them easily. Then, build trust and understand their culture.
Folks in Eastern Europe are going to be super blunt. Sometimes, too blunt for their own good. A developer from Russia will definitely say that some mediocre code is shit when it is not shit, it is just mediocre.
If you want to be successful anywhere, doing anything, you need to treat people nicely.
On the contrary, folks from India or Southeast Asia are more likely to say the same code is “OK” to avoid a confrontation. And both developers could be fantastic to work with — you just need to learn to understand them, and you can only do that with real-life interaction.
Airfare is cheaper than the cost of a bad hire.
Rule No. 2: Give Your Engineers Stock
Regardless of where they are based, your first engineers need to be paid fair market salaries. You don’t want them to be stressed out about money and take on other projects. However, the salary should not be excessive, and incentives should be in the form of stock.
There are a few reasons that you should offer stock, but we’ll start with a dark one. Here is what could happen: They write crappy code to deliver features quickly because they treat your business as just another client/job. Once the code behind the product becomes spaghetti, they slow down, you get frustrated, they leave and your startup is screwed.
Why would they leave? A) It was no fun to work with crappy code; B) You bitched about them not delivering. If they have stock as an incentive, they’ll make sure their code will (at the very minimum) work for as long as they’re vesting.
The lighter reason is that most talented engineers don’t care about money as much as, say, salespeople (not that this is a bad thing, they just typically have a different set of motivations).
Giving your engineers stock is a sign of trust and appreciation.
Engineers tend to be more creative and care a lot about the products they build, so they need to believe in what they’re doing and need to be a part of it on paper. Otherwise, they’ll get bored really quickly. Giving your engineers stock is a sign of trust and appreciation. If you want them to treat your product like their baby, you have to make your company their baby, too.
Finally, stock incentivizes engineers to stay with the company longer. Software developers are creators. Many creators get bored once their creature is mostly done. Most products get “mostly” done from an engineering perspective once you launch an MVP.
Past that phase, there is just maintenance, integrations and other things that are no fun for creators. You need to make your engineers understand that they’re not only creating your product, but also creating your business. That and only that will make them stay for years.
Rule No. 3: Build A Hiring Brand Where You Hire
There is a reason it only takes me a couple of Facebook posts to line up great Belarusian talent. We promoted the heck out of PandaDoc from the start. I was interviewed by all the major tech publications in Belarus, we participated in a bunch of startup events and sponsored a number of them. Even in San Francisco, we positioned ourselves as a startup from Belarus. And while I do care about the startup ecosystem in my motherland… it was not the sole reason. I’m a capitalist pig, after all :).
From Day One we were actively building a hiring brand in Belarus. We want to be the go-to place for engineers if and when they want to join a startup. We want to make our engineers proud of the fact that they work at PandaDoc. Folks in smaller dev communities talk to each other all the time.
Companies in Silicon Valley spend millions to build hiring brands; we spent a few thousand. Sponsoring events there is 20x cheaper. Journalists there jumped at the chance to interview a Big Shot from Silicon Valley, which I’m not, but that was OK with them. Journalists are great at making things up.
Going through a third-party agency is equal to doing a half-assed job on your end.
Another way to pimp your hiring brand offshore is to bring a piece of Silicon Valley culture with you, AKA “perks.” No, you don’t have to freeze their eggs. But you should absolutely treat your offshore team members the same way you treat your HQ team. If the HQ team goes to Napa, make sure something similar happens for your offshore developers in Ukraine or Bangladesh. I’m sure they have their own kind of Napa. Oh, by the way, it will also be 10x cheaper than Napa.
Rule No. 4: Fly Engineers To Your HQ
Bringing some pieces of Silicon Valley to where you hire your engineers is really important. But what is even more important is bringing some “pieces” of India or Belarus or Philippines to Silicon Valley. By “pieces,” I mean your developers. You should fly them out to your HQ. Why? First of all, your team members will get to know each other and they’ll be able to communicate more easily in the future by building in-person rapport.
Secondly, your engineers will be able to better understand the business side of things, which is hugely important, especially if you’re an early stage company. Thirdly, your engineers (depending on where they are coming from) will be able to see a more developed country with more advanced business processes. Bringing them on-site will help them feel that they’re a part of this other economy, despite being thousands of miles away.
Rule No. 5: Don’t Use An Agency
For this one I’ll probably get my ass kicked the next time I fly to Belarus. There are a lot of agencies there with startup clients. But as a current founder and former owner of an agency that worked with a bunch of startups, I’ve got to say that if you’re a startup, don’t outsource the development to some third-party agency. Hire individual engineers and build your own team.
It doesn’t matter how good the agency is or where they’re based: India or the United States. Building your product via a third-party is a fail trap.
First of all, you won’t be able to compensate properly and get high-quality engineers if there is a third-party involved, because you don’t have a direct relationship. Yes, you can find out what this third-party pays them and ask to raise their salaries. But how would you give stock or perks to someone who works for an agency?
Building an offshore development team that doesn’t suck is hard, but doable.
Secondly, most agencies assign project managers that are supposed to be intermediaries between clients and engineers. This scenario might work if you’re not planning to innovate and iterate on your product. If that’s the case, then you’re not a startup and I’m really sorry about the time you’ve just wasted reading this article.
If you are a startup, I’m sure that you believe that every team member has to innovate and have a say in product development. Having a project manager in between makes bottom-up innovation really hard.
Finally, going through an agency is going to be more expensive. You’re going to pay 50 500 percent more. Spend this money on the airfare and pay for your devs.
Having an intermediary just makes it impossible to do all the things I’ve written in this article. To me, going through a third-party agency is equal to doing a half-assed job on your end.
Rule No. 6: The Most Important One
Some founders who outsource, especially to third-world countries, treat their offshore employees there as third-class citizens. If you’re one of these founders, you can be sure the universe (or those developers) are going to fire back. Karma is a bitch, after all.
Here’s the thing: People don’t choose to be born in a place with a fucked-up economy. And you didn’t choose to be born in a place with an excess of capital. It just so happened that you got lucky and they didn’t.
If you want to be successful building an offshore development team, treat your developers there the same way as the ones you work with locally. Actually… let me rephrase that: If you want to be successful anywhere, doing anything, you need to treat people nicely. Amen.