login


Google Sign inLinkedIn Sign in

Don't have an account? 

How to Build a Distributed Engineering Team

Remote
Internal Communication
Ownership
Hiring

18 December, 2018

Bruno Miranda, vice president of engineering at Doximity, answers the age-old question of “Is a distributed workforce actually practical?” and offers his own valuable lessons as testimony to this.

Problem

At Doximity, we decided early on to cultivate a culture of inclusion. It was a priority for us to work with people who could bring unique perspectives and help us think differently. We recognized one of the best ways to do this was with a geographically distributed team. Building a diverse team, however, is not an easy feat. How can you guarantee a culture that fosters innovation even though employees aren't in the same room?

Actions taken

1: Fine-tune your recruiting practices.

  • It is paramount to look for people who have the ability to self-manage, closely followed by precise and fluid communication, self-respect, and respect for others.
  • Hiring someone with remote work experience goes a long way to smooth out the process. Whenever we speak with a candidate considering a remote position for the first time, we make sure to discuss the process and communicate pitfalls that other remote employees have encountered during the process. 2: Establish a personal connection with your teammates and communicate company values.
  • We start this process with video interviews which allow us to meet the candidate early on. Then, we ask new employees to spend at a minimum, their first week working in the office to review, discuss and most importantly practice company values first-hand. Separately, we also get together once a quarter with the team for a few days to retrospect, share lessons learned, and plan for the quarter ahead. 3: Treat collocated and distributed equally
  • Ensure you can communicate asynchronously and that you enforce continuity of discussions independent of location. 4: Virtual water cooler
  • Asynchronous communication allows us to filter distractions, yet it also filters out tonality and spontaneity– which are key components in the way we communicate with and understand others.
  • Conversations in these channels are typically not business related; providing a casual medium for discussions gives people somewhere to grow their personal connections. 5: Focus on delivery teams
  • Hire self-managing people, keep the teams small, and form product-focused teams. Each major product should get a dedicated delivery team of 6–10 people who work closely together to build and deliver solutions. Each person on the team owns the overall quality of a small part of the product. 6: Leverage the right technology Videoconferencing
  • Our San Francisco office has 12 conference rooms, each one of them outfitted with a ChromeBox, conferencing system, and a large, wall-mounted TV. ChromeBox integrates directly with Google Calendar and makes joining meetings a breeze. It also enables screen-sharing during meetings, two-way video, and uses an omnidirectional microphone to make two-way voice clear to all callers. Asynchronous chat
  • Slack is our tool of choice, but there are many equivalent alternatives, such as HipChat and Stride, both of which are made by Atlassian. We've chosen Slack because it provides the integrations we needed to consolidate work into one platform. These integrations include alerting from our DevOps stack, calendar reminders, and automated auto-responders. Screen-sharing
  • Many tools nowadays allow for remote control and annotation directly on the screen, enhancing the "being present" feeling. Voice Calls
  • Realize early and often when a particular text chat would be more effective over voice.
  • We tested several tools for online voice calls and once again ended up going with Slack since it was already such an integral part of the workflow. Slack gives us the ability to go from text to call, to screen-sharing, to video, quickly and seamlessly.

Lessons learned

  • A significantly expanded candidate pool is a massive leg up on the competition. Another big motivation for having a distributed team is that it enables you to build a more diverse company.
  • Set your hiring practices early-on, and optimize based on feedback. Distributed employees must be clear communicators and share a high sense of pride in the quality of their work. They must be able to self-manage and be receptive to cultures other than their own.
  • We continuously collect feedback during 1:1s to improve our practices.
  • Take some time to fine-tune your company's onboarding and mentorship methodology, and, most importantly, facilitate an environment that enables asynchronous communication to foster a diverse, distributed environment you want to create.
  • Treat teammates equally. If one person is remote, treat everyone as being remote.
  • Operate as small delivery teams to foster ownership and high-quality software. It also improves efficiency and lends itself very well to the distributed nature of the organization.
  • Getting a few days in person with the team has a massive impact on the exchange of culture, not only the company's but also each person's heritage and location-based customs. We have found that those simple steps make shared company values prevail regardless of physical location.
  • A timezone differential larger than 6 hours is a bit more challenging, and it is not something I recommend lightly.
  • A distributed team is less about saving a penny and more about hiring top talent regardless of location.
  • As a leader, it's your job to empower efforts where trust, collaboration, and creativity prevail. Sources: https://www.infoq.com/articles/10-lessons-distributed-team https://blog.brunomiranda.com/building-a-distributed-engineering-team-85d281b9b1c

Related stories

Cultivating a Relationship Between Collocated and Remote Teams
3 July

Arjun Rao, Director of Engineering at Place Exchange, highlights three ways that induce a genial, positive, and flourishing atmosphere between collocated teams and their remote, contracted, or outsourced counterparts.

Remote
Collaboration
Company Culture
Arjun Rao

Arjun Rao

Director of Engineering at Place Exchange

Some Ideas for Breaking Down Silos In Your Organization
30 June

Jeff Foster, Head of Product Engineering, shares how he managed to break down silos in his organization by encouraging their employees to choose their own team.

Team reaction
Managing Expectations
Company Culture
Internal Communication
Collaboration
Productivity
Reorganization
Jeff Foster

Jeff Foster

Head of Product Engineering at Redgate

Recruitment and Interview Rotas: the Engineers’ Way
30 June

Jeff Foster, Head of Product Engineering, explains how engineers at his organization self-managed their taking part in the interviewing process.

Hiring
Collaboration
Jeff Foster

Jeff Foster

Head of Product Engineering at Redgate

Prioritizing Tech Work vs. Product Work: The Incomplete Story
30 June

Jose Pettoruti, Director of Engineering at CurrencyCloud, shares some tips on how to prioritize and balance tech work with ever-emerging new features by working closely with the product team.

Collaboration
Internal Communication
Jose Pettoruti

Jose Pettoruti

Director of Engineering at CurrencyCloud

Asynchronous Written Communication: How to Make It Work
30 June

Jose Pettoruti, Director of Engineering at CurrencyCloud, describes how to handle multiple inputs from a number of people in an asynchronous mode.

Remote
Internal Communication
Jose Pettoruti

Jose Pettoruti

Director of Engineering at CurrencyCloud

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.