Contributor: Daniel F.
Software engineers, being human, bring their full selves to the workplace, and with that, their culture—broadly defined as a collection of shared beliefs and practices, including their religion, customary foods, and ways of showing respect to others. How does this affect the practice of engineering management? In this post, I will share my reflections on the challenges of managing a multicultural engineering team, as well as provide some guidance on how to resolve them.
I'm proud to say that I’ve managed teams that have included software engineers, quality engineers, and product owners from around the world. Countries represented include Austria, India, Lebanon, Myanmar, Nepal, Russia, Serbia, Thailand, and Yemen. As my entire management career has been based in Thailand, most of us are also experiencing working in a culture foreign to our own. It’s a rare opportunity to get a chance to experience such a diverse array of cultures.
In my experience, the first, but not necessarily simplest, step in managing a multicultural engineering team is to explicitly acknowledge this cultural diversity. Reflect with your team that working with people of different backgrounds will likely cause some friction and miscommunication. It’s only after you and your team reflect on this diversity that you can become sensitive to issues that may result. Once you open the discussion, here are some things you might learn:
Now that we have made ourselves aware of our cultural differences and reflected with our team, the next step is to build a new culture. Usually, when we talk about “culture” in the context of software engineering, we refer to a collection of shared beliefs and practices we use to deliver great software: Do we enforce code review? How do we triage bugs? What metrics (if any) are most important to us? Properly setting a healthy engineering culture and getting a team to uniformly adopt and enforce it put the team on common ground and can address the friction and miscommunication highlighted above. Setting this common ground can distinguish a high-performing team from a low-performing one and is arguably the chief responsibility of the engineering manager.
In conclusion, managing a multicultural engineering team is a two-step process. Step one is to not ignore traditional cultural differences; talk through them with your team. Step two is to acknowledge that your role as an engineering manager is to set a healthy engineering culture. Accomplishing these two steps will make working in such a team a rewarding experience for you and your teammates.