Hiring engineers in Silicon Valley these days is tough. There are a large number of talented engineers in the Valley, but also an incredible number of companies trying to hire them! It’s become common to look outside the area to beef up engineering organizations. As software continues to eat the world, talented people around the globe learn to code, and it is possible to find great engineers in ever more places.
I’ve started a number of remote teams and worked with a much larger number of existing remote teams and employees. Here is a brief review of some of the issues you’ll face and best practices to follow if you decide to open a remote engineering office. I write from my perspective in Silicon Valley, but the inability to hire great engineers locally is a problem in a growing number of locations.
Hiring Remotely
The most important suggestion is that you should choose a remote location to build out a team only if you or someone you trust knows that area well. You need to know about the depth of the talent pool, how to effectively screen and recruit in the area, and what it takes to run an office there. If your company is venture-backed, you may be able to lean on your investors for help—they may already have portfolio companies in the same locale who can share information.
If you are the locale expert, plan on spending significant time in the area doing the legwork. But often the remote location is picked because you already have a trusted person in the area— maybe someone you have worked with before, a current, high-performing remote employee, or a strong reference from your network.
Whoever is running point at the remote site will need to lead the initial recruiting effort and the search for an office space. You can hire a local recruiter to find and screen candidates, but you will want someone local to talk with each good candidate. You may need to make small adjustments to the recruiting process regarding how you collect resumes, who you bring on site, and how to screen for technical and cultural fit. But making changes should not mean lowering your bar for hiring. If you don’t keep your recruiting standards as high as those at your home office, don’t be surprised when the remote teams underperform. You and/or a strong engineer (who is a good interviewer) from your home site should head out to the remote location to help with the first key hires, as this is more than a one-person job.
A coworking space often makes a great first office. These are pretty much everywhere by now and usually take care of many details including utilities, Wi-Fi, printers, cleaning, etc. You won’t want to worry about those details in the early days.
The First Few Folks
A good strategy is to wait until you have been able to hire a few strong people then assess whether or not to build out a full office. If you are hiring only a few folks, you might find it more appropriate to employ them as remote employees or contractors. This is considerably simpler than starting up an entire remote office and might be sufficient for your needs. As always with remote engineers, get people who are good communicators and know how to effectively work remotely.
Whether or not you are building out a larger team, your first few engineers should be embedded into your current technical teams to get familiar with your people, processes, and code. Fly them in to work at the home office for extended stretches, if at all possible. Also, flip it around and send some of your good engineers out to the remote site to interview, mentor, and build bridges with the new team.
The first few hires will be key in helping you grow your remote office. These folks will interview the next round of hires, plan out the local work, and spread your culture at the remote location. They are likely to be the leaders of the new office.
Building Out The Office
When you have enough remote folks and have made the decision to build an office, peel the first hires out of their initial home office based teams and form them into local teams. But make this change only after discussing it with them and learning their preferences. You should try to give all your engineers the opportunity to work on local teams, with local management. But if they desire to work on a remote team and are willing to put in the effort required to make this successful, that should remain an option. Engineers (people in general, really) do their best work when they have a choice as to what they work on.
Hopefully, your first hires will include a strong tech lead and a manager (who may be the same person). If not, hiring for these roles should be a priority. Your remote employees will really appreciate onsite leadership who can handle daily issues, one-on-ones, and problems unique to the locale; plus, they can help the local team build out their culture. Handling all of this from home base when there are more than a few engineers to deal with is hard. The challenge will be magnified by any time and/or language differences between the home and remote office. Usually the local leaders are responsible for attending meetings at various odd hours then communicating back to the local team in their native language during normal working hours.
The best engineering teams should have high levels of independence and good ownership over their products and processes. As much as possible, give them projects that don’t overlap or depend upon work from the head office (or vice versa). This will minimize interference between teams and help them achieve their best velocity. This is important for local teams—and critical for teams spread across the planet.
Depending upon the size of the team and the nature of the work, you may want to invest in local product managers. Like engineering leaders, these folks can sync up with the home office and share the product vision with the local teams. Again, this is useful to foster self-sufficiency and effectiveness in the local teams.
While team independence and ownership are best practices, some areas should be consistent between all engineering teams including standards for hiring, coding, quality, security, basic processes, and other common issues. There also must be overall architectural alignment. Rather than dictating standards from the home office, exchange engineers between sites to discuss and hammer out these concerns. Hold regular meetings with local leaders to ensure that everyone is aligned.
If you are going to build an international office, plan on hiring an HR person and a local legal person. These may be contract personnel, but you must trust them to guide you in local rules and regulations. Many countries are strict about the handling of employees—don’t assume that you can ignore these issues indefinitely. Any employees that work with your home team will also need to be read-in on rules and regulations that apply at the home office.
Best of Luck
It’s not uncommon to open an office in a specific location based upon contacts you have in that area. That is a reasonable way to start. The real challenge is to convert one or two key people into an entire engineering office.
It is not easy to build a great engineering team anywhere. Building a remote team will take even more time and effort. It will require extensive (and expensive) travel. There will be communication challenges setting up and maintaining the new team. Each location will have unique quirks that will develop over time.
But if you are struggling to hire in a tight market for engineers, such as Silicon Valley, you should consider building a remote office to increase your engineering fire power. If you choose your locations and office founders carefully, and proceed methodically, you can absolutely build out talented, productive engineering offices!