CI/CD / Development

CircleCI’s Jim Rose on How Distributed Teams are Like Microservices

1 Aug 2018 1:56pm, by

Jim Rose, CEO of CircleCI joins us on this newest edition of The New Stack Makers podcast to talk about maintaining a corporate culture in a distributed environment. He has some experience there: CircleCI has over 140 team members in 27 locations across twelve countries brings more than the usual problems in hiring and retaining talented employees.

The company’s goal, said Rose, is to “make sure that every employee regardless of where they are feels connected and included and sort of dialed into everything that the company is trying to accomplish at any given time.”

CircleCI has two sets of tools, he said. One layer is the digital tools to make communication possible across multiple channel options: email, Slack, Zoom and GitHub primary among them. The second layer is a set of processes and rituals that help each group in the company stay connected and broadcast what they’re currently working on, the challenges that they’re facing, the gains that they’re making and the progress they’re seeing in the market.

The team members need to have enough autonomy to be able to do their work productively when no one else is awake, said Rose. This is done by making sure everyone understands the CircleCI Playbook, what they’re trying to accomplish, and having all the tools necessary to do their work.

That puts a lot of pressure on from a management perspective, he said, because it requires “constantly communicating and re-communicating and reiterating and just repeating yourself constantly and making sure that everyone understands all of the various components: Not only what we want to do, but how we want to do it, as well.”

The internal joke, said Rose, is that no one will understand something until they hear it seven times.

Who’s Responsible for What

As the company grows beyond 150 employees, it must contend not just about communicating the overall corporate message and ethos, but also about providing information about who’s responsible for what so that so that people know where to look for answers, or who to ask when they have a particular question. Rose calls this the “internal tribal knowledge.”

CircleCI has created a structure that has not just functional teams, but also guilds, a concept borrowed from Spotify. Each of the service teams that build out software might have one or two front-end developers inside of each team, said Rose, and then all the front end developers across the company are organized into a front-end guild. The guild works together to establish standards and best practices, answer any necessary questions that come up, then percolate those practices back at those functional groups.

“And so it’s a little bit like a matrix,” he said, “without it necessarily being a matrix because it’s not a reporting thing. It’s really more of an information sharing and knowledge Gathering and distribution mechanism.”

Hiring for Distributed Teams: What’s Different?

Hiring for distributed teams is very hard, and with the true cost of recruiting an engineer estimated at $250,000-$850,000, it’s critical to get it right as often as possible.

CircleCI has spent considerable resources on defining and fine-tuning the process. Candidates go through the requisite coding and de-bugging exercises, but the interview process is designed to determine if the candidate has the necessary soft skills to be a good team collaborator. The go-to skill, said Rose, is empathy.

“So it’s empathy for your other coworkers. It’s empathy for other teams. It’s empathy for your customer and your user And so we’re always looking for folks that have high levels of empathy and just high levels of understanding of it’s not just about what is right. It’s about how it’s consumed.”

He’s found the best way to determine if the candidate will be a success is to have a round of interviews with different engineers that involve problem-solving. This gives the interviewer a glimpse into how the candidate processes information and goes about solving problems.

The company has identified a set of indicators of success for the company, and these points are divvied up between each interviewer to make sure that they are all covered. So one interviewer is not looking for everything on the list, but a specific subset of the list. At the end of the interview process, all of the interviewers get together and create a 360-degree view of the candidate.

Company recruiters are also looking for how well the candidate communicates through digital channels. Part of the interview is held in person, but part of the interview is also done remotely, to test their skills in digital communication.

This means a significant investment in interview skills training for their team members. Rose says it’s worth the investment.

Hiring for Diversity

CircleCI also sees a diverse workforce as critical to CI/CD. “You just end up with better answers,” said Rose, “and you just end up with a better process.”

To stock their pipeline with diverse candidates, the recruiting team is measured by the diversity of the funnel and use Entelo, a software for finding diverse candidates. In addition, they partner with local community organizations Code 2040, Hackbright Academy, and ClojureBridge.

Listen to the podcast to find out what’s in the CircleCI stack to facilitate distributed teams, more about how to hire for teams instead of looking for a 10x programmer and how distributed teams are like microservices.

In this Edition:

2:32: What other tools do you use to manage an international set of employees and distributed systems?
7:21: Do you use playbooks?
13:02: How CircleCI has restructured its hiring practices.
18:03: CircleCI’s approach to the interview process and interviewing.
20:07: What are some of the things you’ve learned during this process?
25:03: Tackling the discrimination issues facing women in tech.

CircleCi is a sponsor of The New Stack.

Feature image via Pixabay.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.