Managing international engineering teams — Hezheng Yin // Merico

Leveraging global engineering talent is increasingly impossible to pass off. But how do you manage such a team with diverse cultural backgrounds? How do you ensure everyone is in sync when a scrum is impossible to schedule? And how do you foster collaboration among teams to move your company forward? Tune in to this episode of the CTO Podcast as Hezheng Yin, Cofounder & CTO at Merico, discusses strategies to manage international engineering teams.
About the speaker

Hezheng Yin

Merico

- Merico

Hezheng Yin is Co-founder & CTO at Merico

Show Notes

  • 02:10
    How Merico became an international engineering team
    Merico was conceived and built in America, but the first client was in China, so having a service team in the country made sense. That became the start of a global team.
  • 05:11
    Expanding the team to Canada, India, and France
    The expansion into other countries was based on the belief in the open-source way of working.
  • 06:20
    What is the open source way of working, and how is it different from the standard scrum of stand ups?
    The fundamental challenge is that sometimes you can't even have a scrum meeting with your team members across three time zones. How do you manage that?
  • 08:03
    Rituals and ways to keep the team on the same page
    Have an asynchronous update channel distributed by teams, and use OKRs to align teams.
  • 09:29
    How do you encourage collaboration across teams regarding a specific technical solution?
    Thats where the open-source way of working comes to play. Someone makes a proposal, and everyone chimes in, and sometimes a vote is taken. And if everyone is aligned, the team moves forward with it.
  • 11:22
    What characteristics of how open source communities work are helpful to manage your team?
    Transparency, keeping everything in public within the organization, and reaching a consensus on critical decisions so everyone feels a part of the decision-making.
  • 12:43
    Handling disagreements before consensus
    There's always a negotiation phase led by the person who proposed and works with someone against a proposal to reach a consensus.
  • 13:53
    What happens when the community of teams fails to reach a consensus?
    Try to get some juries together, not just the person proposing and the minus one, to share perspectives, and if they dont reach an agreement, the CTO vetos. Avoid overriding decisions as much as possible.
  • 15:35
    Managing cultural differences in a distributed team
    Have a common work language. The cultural issues will appear mostly in communication, but the team will learn and trust each other in time.

Quotes

  • "Our company is a big believer in the open-source way of working. Initially, the first idea we pitch to the investor is to help with the open-source sustainability problem by inventing an algorithm to decide every developer's contribution to the software project. So that when the project has some income, we can automatically distribute that income to every developer in the project." - Hezheng Yin

  • "The fundamental challenge is that sometimes you can't even have a scrum meeting with your team members across three time zones. We have one analytics engine team with US, France, and China members. Finding time for everyone to get together for a scrum meeting is almost impossible. So, we had to do that asynchronously. Everyone posts an end-of-day update to the update channel to summarize what I have done today. And are there any pull requests that need to be reviewed? What are my thoughts on other items for us to sync up?" - Hezheng Yin

  • "A lot of things are similar with non-remote teams. For example, we found OKRs effective in aligning teams together. Every quarter, we set OKRs and align our objectives. And that's very helpful for orchestrating a remote team working towards the same goal." - Hezheng Yin

  • "How do we manage team collaborations? One person proposes linking the relevant GitHub issue, and we discuss it. Everyone chimes in, and sometimes we take a vote. And if everybody's aligned, then we move forward with it. It's very similar to how the Apache open-source communities work together." - Hezheng Yin

  • "I think of some open-source principles we are trying to follow. The top priority is to keep everything in public. Ensure the discussion is not in a private channel or among a small team group. Put it in a major channel of our team that everyone can see. Everyone can participate and know what's happening in the team. Our top priority is transparency, keeping everything public Secondly is consensus. When we move one thing forward, we try to get everyone's opinion around it, have a discussion, sometimes a heated debate, but bring everyone on board so that we all give our thoughts to this decision. And we are part of the team moving forward." - Hezheng Yin

  • "What happens when the team fails to reach a consensus decision? When that happens, we try to get some juries together, not just the person proposing and the minus one, right? But bring some other colleagues together to share those perspectives. See if we can reach a consensus before I can make a crude, brutal decision and no arguments. We try to avoid that as much as possible." - Hezheng Yin

About the speaker

Hezheng Yin

Merico

- Merico

Hezheng Yin is Co-founder & CTO at Merico

Up Next: