Building A Good Team Culture
Having a good team culture is of paramount importance for a company. Building and maintaining a good team culture is not trivial. There has to be a lot of deliberate and conscious effort to be put in to establish that.
What grows on the ground automatically? Weed!
Flowers, fruits and vegetables don’t grow on their own. They have to be sowed in the right soil, watered the right amount, exposed for sunlight for the right amount of time and nurtured. Granted that the seeds have to be of high quality, but even then they need the right conditions to thrive.
A team is no different! Recruiting smart, capable and high potential engineers is just the beginning! Building a team of right size and nurturing them to grow as a high performing, happy team is a journey. The leaders in the company need to understand this and be the torch bearers. But the responsibility to build the culture in on everyone and not only on the ones who are in the leadership positions.
What makes a good team culture?
It’s a combination lock. You have to have the right amounts of each of these components. I have tried to list out these below and categorize them into different groups as represented by in the infographic with different colors.
Leadership and Attitude
Ownership
The team needs to feel that they own the product as their own baby. They need to take complete responsibility for any issues coming up. If the product has some dependencies with other products/ teams, they take responsibility for making sure that other teams are pulled in and the issues are fixed. They need to drive those initiatives.
Autonomy
The team needs to have autonomy of making decisions. As they are learning to make right decisions, they will make some bad decisions. Of course, they should consult the leadership/ SMEs to make sure that they don’t go so wrong that the project becomes a disaster and there is a huge impact to the company. All I am suggesting is the team needs to mature and become better at decision making by considering all factors, thinking about all the risks and returns with each of the choices. That’s how the company will scale further.
Accountability
As a team and as each individual, they need to have accountability towards all the tasks. So informing everyone of the progress, not dropping the ball, doing due diligence that a task is “DONE” - all these are important signals that the team feels accountable to each other, to the stakeholder and towards the company.
Lead by example
As we know action speaks louder than words. So as a leader, you always want to live by your words and be a great example for each of your teammates to do the same. Instead of complaining, see if you can start the first step towards mitigating or solving that problem.
Delivery
Performance
The bottom line is delivering the work we have promised as a team. The team’s performance depends upon the individual’s performances. So we need to set a high bar of delivery in terms of code quality, including unit tests, integration tests and load tests. This ensures that there are minimal bugs when the code is delivered to production and customers have best experience.
Innovation
The team needs to think about always innovating - that’s what engineers do at the core. As a leader we need to make sure that creative ideas are heard and evaluated. Team should question the status quo and see if there are better ways of doing things. Of course we are talking about a company which runs a business, so ROI, expertise and timelines are very important. We can’t innovate in a vacuum and always think about pie in the sky ideas.
Operational Excellence
You may have a team which is primarily engineers who develop the product, but what sets a team apart is its understanding of the operational angle of their code when it goes to production. There are many models distributing the development and operational dies of things. Most companies I have seen have a SRE team who help out in attending to production issues, but do require the developers to be available for secondary support. This begins with the team understanding what metrics, graphs, alerts, dashboards and logs to put up, so it’s easier to look at the health of the system and mitigate if something goes wrong. Proper runbooks and SOP should be set up if there are alerts triggering.
Customer Interest
The product may have external customers or internal customers. Regardless, caring for customers is a great quality the team needs to have. If the customer is not able to use the product, it should be very high priority to resolve that soon. The engineers may be shielded by the customer pain by a customer success team, but being aware and sensitive to customer needs should be part of a healthy team culture.
Togetherness
Fun
This is probably the first thing which comes to mind when we think about culture. Having fun together as a team is binding and energizing - be it celebrating birthdays to anniversaries, going for a team outing or a short coffee break together, eating lunch together or taking a short walk after lunch, having some good humor in conversations or playing a game together at work. The team which works hard together and has fun together is a team which can weather any storm.
Friendship
I heard somewhere that if you have friends at work you are more likely to be productive, happy and very engaged at work. So we need to take time to foster this and encourage each other to have some casual conversations about life to allow us to bond with each other. The conversations could be anything outside work like family, sports, hobbies, food, drinks, vacation, future etc.
Collaboration
Team needs to feel the safety net that we have our backs covered. This increases productivity and reduces anxiety. When the team is always there to help each other it helps to perform better as a team. This helps one engineer to build on other engineer’s thoughts and works. This also means the knowledge is shared and documented rather than kept with only a few people. There is an element of cross-team collaboration here, which unites teams at the business unit of the company level.
Team Composition and Feelings
Diversity
If the team always has only one kind of people, it will result into only one kind of views. The work quality will slowly degrade as there are no cross questioning and no different perspectives. It’s very important to have differing views, counter questions, different opinions, different points of views to have a healthy culture. Of course we are not talking about major conflicts all the time - that's not good either. After all the different views and proposals are evaluated and analyzed, the team needs to come out as united with no scars, even if it means agreeing to disagree on a few things.
Respect
Mutual respect is the foundation of healthy culture. This means respecting each other as individuals - respective their religion, race, color, sexuality, family, country and upbringing. This also means not hurting egos of people. It unnecessarily brings wrong energy to the equation and people don’t act rational when their ego is hurt. When you recognize that you have unknowingly hurt somebody, it best to acknowledge that and ask for apologies.
Appreciation & Care
As a leader, we can encourage a culture of appreciating others, recognizing their efforts, and being thankful to each other. Caring for each other in tough times. Understanding if they are going through tough times and supporting them.
Psychological Safety
Every team mate needs to feel open and comfortable to speak their mind out. They should be able to express their opinions without feeling uncomfortable. If there is a sense of discouragement or punishment of some form when you share something contradictory, thats going to suppress creativity and out of the box thinking.
Communication
Right Expectations
At times there can be a lot of confusion, just because different people are on different pages - having different expectations. As a leader we need to make sure that the expectations are clearly laid out for different tasks and projects. Need to document definitions of done in the OKRs and task tickets. As a leader, it’s imperative that we set correct expectations in terms of hours of availability, a new role, a new process being established. Also, it’s important to set reasonable expectations. Sometimes, we set highly ambitious timelines as base expectations - that can set the team for failure.
Clarity
The communication needs to be very clear and concise. From the manager to the team, team to manager and among the engineers. This helps in removing any confusion and reduces any wasted time in back and forth communication.
Transparency
As a leader, we need to convey any information which needs to be conveyed to them in a timely manner and without any facades. Being transparent to the team and promoting a culture of transparency increases trust in the team.
Final thoughts
A team goes through stages from forming to storming to norming to performing and to adjourning. The ideas discussed above would definitely help the team in this process.
I have seen teams of size between 4 to 8 work best. Less than 4 can’t be called as a team - even one person goes on vacation, we will have a load sharing problem. More than 8 is difficult to manage, increases confusion and reduces ownership among the engineers. Also, the team should be balanced in terms of seniority levels, not just all seniors and not just all juniors.
What are your thoughts? Which aspect do you feel is super important for a fantastic team culture?
AI Solutions | Digital Leadership | User & Customer Experience
4 年Dhirendra Sinha - pertinent article for anyone in a team. I liked this part: "The engineers may be shielded by the customer pain by a customer success team, but being aware and sensitive to customer needs should be part of a healthy team culture." :-) As a customer facing professional, I can vouch for the fact that most engineers are protected by people like us...but I found it useful to "sometimes" pass on the heat down to them. Engineers are creative, detail-oriented souls, but when they begin to understand customer realities, they have the potential to become superstar engineers.
Lead Software Engineer at ThousandEyes (part of Cisco)
4 年Well written! +1 I'd also like to add that another key item that contributes to a good team culture: Psychological safety which fosters moderate risk taking, speaking your mind and creativity. Some of them fall under your "Team composition and feelings" section. You can read more about related studies here: https://hbr.org/2017/08/high-performing-teams-need-psychological-safety-heres-how-to-create-it and https://medium.com/@Harri_Kaloudis/psychological-safety-at-work-what-do-psychologically-safe-work-teams-look-like-5585ab0f2df4 Thanks for sharing this article :clap:
Principal Engineer at Amazon Web Services
4 年Very well written!