Culture and communication
In this entry I will discuss culture and communication, some of the most overused terms in the tech industry. I'm writing about this because earlier this year I read The Culture Map by Erin Meyer and I am surprised about how this reading impacted the way I interact with my co-workers in a positive way. The author also co-wrote No Rules Rules which I reference in another entry and it's also highly recommended.
When I was going through the pages I couldn't help myself to nod constantly to the description and examples of interactions among different cultures in the professional setting. She created a framework to understand how each culture approaches communication, decision making, leading, deciding, disagreeing, trusting, scheduling and persuading. She even has a tool in her website that you can use with your team to map your team's culture.
I am from Argentina and our culture is not so direct and give a lot of value to human connection over rules, we say that each case it's unique. Living now in Germany, I found adjusting to the rigid system in this country quite challenging and Germans quite rude in their communication. I'm not saying that Germany is worse or better, I'm just saying is different and knowing those differences has helped me not to take things personally.
Of course there are exceptions, I found myself a lot closer to people from completely different cultures because we grew in this almost universal (or is it American?) internet culture which made us similar, however when you work with companies embedded in other country's values or with people who were not as addicted as the internet subculture as yourself you can see these treats coming to life even more.
Building team culture.
I will not enter here in the topic of how difficult is trying to integrate a diverse array of cultures in one company but I will say this: your company and your team need to define cultural rules that will guide your hiring and daily interactions from the start.
Sometimes these seem like weird cult-like rules and we all like to make fun of them but they're necessary, one of my favorites are the ones defined by Netflix.
Not every person will fit every team and hiring just based on technical excellence will only cause a lot of pain and waste time across the organization. As employee you also need to understand that sometimes the way you like to work it's not a good fit for how the company or the team like or need to work in that moment. There's another book I read this year called Blitzscaling by Reid Hoffman that defines the different challenges of a company according to size (family, tribe, village, country, nation) including hiring the right people for the right moment, as employee you should also learn which phase you enjoy the most or feel more confident working on.
Of course this is with obvious (but somehow still in need of clarification) concepts of fairness, if your culture is based on white males living in a frat house then you do need to change that and also it's worth saying that sexism, racism and abuse of workers is not a valid culture, if you think that you forking suck. Also teams do need training about unconscious and conscious bias and in general your hiring process should have an important place for evaluating this.
Ok, now let's get out of the mud and continue...
Communication is the most important skill
If you are working in a multi cultural company (colleagues and/or customers) I think reading this book is a must, personally it has helped me to defuse some situations and to understand my colleagues better but for doing that you need to learn how to listen and communicate. Communication is sometimes overlooked in the software industry and this mythical idea of the hacker coding their life away under headphones is a wrong approach to working in a team. True, sometimes you need silence and hours coding your way through requirements and complicated codebases but most of the time I see developers wasting valuable time because a lack of communication, specially with stakeholders who are not in the engineering family.
The learnings of this book are worthless if we are not willing to learn how to communicate. I know many engineers who appreciate the lack of communication as a value. It's not. At least not if you're part of a team and much less if that team is part of a huge organization. If you really like that (hello extreme introverts) then you need to find a team or project where this is the way to work, I did freelance outsourcing for over 9 years and I think that's a good fit for that. But if you want to be part of a big organization your promotion and growth over mid level engineer will depend more in your ability to handle large projects than in how well you can code and it's impossible to handle big projects without an excruciating amount of communication.
Culture is a living thing.
Once you have defined a culture you need to keep those values up to date. Culture will evolve as the company evolves and it's important that it moves to a positive direction.
One way to achieve this is incorporating feedback in your daily interactions. Feedback sometimes is lost when it's the driving force of performance reviews so having a culture of open feedback it's important, your team should be honest and give feedback to each other often, I worked for companies where the feedback period is more a punishment than anything else. Personally I liked the Netflix concept of the 4A feedback: aim to assist and actionable when giving feedback; appreciate and accept or discard when receiving it.
Another tool I found useful are retrospectives which are (in general) biweekly or monthly open conversations inside your team where you analyze the good, the bad and the ugly of what's happened since the last retro. I was part of processes who were forced on the team and felt like unnecessary tasks so be sure the team gets something out of this. Maybe your team needs a process, maybe it needs going for food or a walk or even playing a game, you should do whatever makes your team feel safe to talk about what you're getting right and wrong as a group.
Finally, I think that educating the teams in the importance of culture it's important but it has to start from the top, the leads should teach with context, that means accepting feedback as well. Building a healthy culture it's an ongoing process, it's never "done", but I think it's one of the most important tasks to nail to be focus in the task your company is pursuing.