Lessons From Building a Global Engineering Team
It used to be that if you referenced a “global engineering team” you had contracted with a few freelance developers in a remote location to do a few hours of work per week. There’s a good reason for that: historically, recruiting, retaining, and growing global engineering teams has been a significant challenge.
At HubSpot, we opened a Dublin office two years ago without plans to develop a full engineering team there, but quickly realized there were plenty of really talented engineers in Dublin and changed course. Over the last two years, we went from having no engineering team whatsoever to having a full team of more than a dozen front and back end developers taking our product game to the next level in Ireland.
A key factor in recruiting and retaining an international team has been recognizing what attracts great engineers, both in Dublin and across the globe. We found these 5 motivations to be universal and are still prioritizing them as we scale:
- Solving Interesting Problems: The best engineers in the world are motivated by solving truly interesting challenges. Particularly for young developers, a strong purpose strongly outweighs any additional perks your company can offer, and yet most companies give their global teams second-rate problems to solve or test and are surprised when they can’t recruit or retain top talent. Our Dublin team has played a pivotal role in the success of our product by driving the HubSpot mobile app, leading the charge on our e-mail tool, and being on the core teams that launched LeadIn and our in-app help tool, Zorse. Building a successful global team starts with presenting developers with interesting challenges and giving them significant autonomy in how best to tackle those challenges on a daily basis.
- Making Every Team a First-Class Citizen: Many dev teams make the mistake of allowing one office to get all the cool, autonomous projects while giving a newer or satellite location less interesting or menial work. They then add insult to injury by sending over some of their weakest team members to train and recruit new folks, which in turn lowers the standard for the entire team. When it came time to launch the Dublin engineering team, we didn’t say we were investing, we showed it. I spent a few months in Dublin getting the team comfortable with our business, software, and culture, and our heads of product took frequent trips back and forth, too. If you’re going global, you need to send a powerful message to your entire team that being an international team is of utmost importance.
- Owning More Than a Business Card: I don’t believe in hiring someone you wouldn’t trust to take the wheel if it came down to it. That applies to any role, in any field, and in any industry. As engineers, we want to work for a company that can give us ownership from day one to decide architecture and operations over a product, feature, or tool. Does that mean nobody on your dev team should ever have to do any grunt work or take direction? Of course not. Engineers have to work on their craft and pull their weight like anybody else, but by giving them the autonomy to own pieces of your product, you’re giving them the freedom to develop their skills while showing them you trust them.
- Working for Managers That Are There to Serve: A world-class team is only as good as its managers. Being a servant leader is a difficult but crucial role for managers to play. They need to push the team to innovate, stay on track, and produce disruptive results, but at the same time, they can’t be in charge. Great managers work for their employees by enabling each and every engineer to GSD. We have to block and tackle for our talent, and work with them on an individual level so that unique skill sets get the attention they need to grow. Engineers already have a coveted talent, but they’ll pick the company that works to provide an environment for them to develop it. Managers, that’s on you.
- Shipping at the Perfect Pace: One of our favorite things to tell potential candidates in the recruiting process is that we ship code 300 times a day because it speaks for itself. The best developers, product managers, and engineers in the world want to build something meaningful. Instead of frustrating bureaucracy, they want to break through barriers, knock down walls, and ship code that will transform a product or an industry.