some learnings

leading : engineering : teams


Part 2 of 2: A manager of software engineers – the people

I wrote about aspects of the system here. This post looks at people.

Your responsibility as a manager is to improve the system. Part of the system is the team. At the heart of a team is a group of people, formed by persons – each one different in many ways. Your goal is to grow each person to the best of her abilities. To elevate her superpower. To build trust. To create an environment that is safe for each person – where they feel engaged. To grow the team to become greater than the sum of all the parts. A team that improves every day. A team that imbibes the value of placing the company first, the team next and the self last. A team that looks to a mistake as a way to get better.

It is hard work to build trust between two people. It is even harder to build trust among three. It is even harder to build trust in a team. And so it goes. It is hard because each person is different. Each person is who they are through infinite variations of nature and nurture. Each person has different skills, aspirations, insecurities, strengths and weaknesses. You are no different.

Our one path is to become a better person – day by day. The manager’s path is to provide a safe place that allows every person to become a better person including ourselves. Everyone is a leader; expect leadership from each person. Peel the notion of leadership from the title of management. Be unselfish. Let go of your ego – it is your enemy. Your ego limits your growth. Put your team above you. Ask for feedback with the goal of doing better. Learn from the people around you. Empower them to make the team better.

How do you build this level of trust? You are playing a role – that of a manager. Others play different roles. You have an interest and skills to play the manager role. It doesn’t make you better than others on the team. Or more important. Hierarchy and the world around you might make you feel that way. Try to not to allow this title to mislead you. Resist the urge to command and control. And the urge to provide all answers. The urge to pre-empt every mistake. Each person you meet in your life will be better at something than you. Each person on the team will teach you something new every day if your goal is to be better every day as it should be. There are no shortcuts to building great relationships.

You have an outsized influence on the culture of the team. The culture of the team has an outsized influence on how engaged your team feels.

The people

Some questions we could ask ourselves about the people and the world we create for them at work:

  1. Is the workplace safe?
  2. Does the team operate with a high level of trust?
  3. Does the team look at improving the system?
  4. Does the team look at failure as an opportunity to learn and get better?
  5. Does the team share joy at work?

(Refer the ADP Engagement Plus survey described in the book Nine Lives About Work)

How does one improve the people on her team – of which we are one?

  1. Understand each person. Use all open channels of communication to understand the individuals on your team. This isn’t about becoming friends with everyone. By now you know that that is impossible. Respect each person for who they are. Invest time and energy to help them do better. It is about leaning into the differences. You need to care. Adjust your communication style and tone to adapt to the other. Understand that people have a life outside of work that can never be kept apart. Assume good intent.
  2. Listen. Listen mindfully. Listen to not just the words. Listen to the body language, to the tone, to the expressions. Listen to the unsaid words, to the pauses, to the eyes. Listen like you have never listened before. Use the OARS(open-ended questioning, affirmation, reflective listening, summarizing) framework. You learn more from the ear than from the tongue.
  3. Build trust. Be unselfish so that others can be the same. Be a better person. Always stress the importance of the company-first, team-next, self-last mantra. Always put the team above yourself. This is a team game. Give real-time feedback non-violently. And build trust so that your team can move fast without friction. If trust is lost, all is lost.
  4. Be aware (or beware) of your title. Accept that you might have a title that deceives you. That lulls you into a feeling of importance. Working software adds customer value. You enable it. You make the system so that value flows to the customer faster. Beware systems setup mimicking Taylorism. Resist the urge to command and control. Avoid top-down planning. Create a culture that transcends and outlives you.
  5. Use meetings effectively. Andy Grove, again: “A meeting is nothing less than the medium through which managerial work is performed. That means we should not be fighting their very existence, but rather using the time spent in them as efficiently as possible”. There are two types of meetings he prescribes. (i) Process-oriented meetings – 1:1s (avoid skipping or rescheduling 1:1s), staff meetings and operational reviews. Use them to teach and be taught. Share relevant information. Question each other. Review your “business” using metrics that are relevant (DORA, say). Make visible progress towards the north star. (ii) <decision-oriented?>
  6. Feedback. Ask for feedback, and create an environment where it is safe to provide feedback. In No Rules Rules, Hastings and Meyer talk about the culture at Netflix. “Be radically honest”. Create a culture where the team is comfortable to question. A culture where each individual can get better with their strengths. Where it isn’t required to be “well-rounded”. Where the team seeks out ways to get better. Where the source of the idea matters far less than the idea itself. Practice Crucial Conversations. Assume good intent. Keep emotions in check. Disagree and commit.
  7. Be available. You are the catalyst. The glue. Your job is to unblock people. We grease the wheels of communication. A big part of our job is to respond to the needs of the team. Be it in person or in public, by email or other collaboration tools – be responsive. Look out for the needs of the team, the customer, the stakeholder. Ensure the flow of information. This might make your day fragmented but that is the job. Avoid taking on work on the critical path. Your job is to make the team effective. Be responsive.
  8. Resolve conflicts immediately. Conflicts are unavoidable. Differences of opinion are important. There is no room for disrespect in a team built on trust. Allow people to try an idea, fail fast if that is so, learn from it. Sometimes the team needs to learn from failure. Sometimes you need to let go and observe. You might find that what you thought was wrong, was in fact right. You learn. If two people have conflicting ideas, ask them to talk to each other. Create team norms that guides behaviors. Apologize when you are wrong.
  9. Be positive. You are an important face of the organization to the team. Your optimism will rub on to the team. A pessimistic leader is not a leader. Every organization will have a multitude of problems. A good chunk of them are outside your control and the team’s control. Redirect focus back to the customer and delivering customer value. Understand and articulate why some things are so. Be wise. Be kind.
  10. Think systems. People behave based on the system. Adjust the system to model behaviors. Ask what part of the system needs to be tweaked to change behavior. Retrospect as a team. Learn from it and try to tweak to system to prevent a repeat.


I am Jayanthan (Jay) Bhattathiripad. I lead engineering teams. I have met success building software iteratively. I value Lean principles. I build relationships effectively through trust and a culture of transparency and openness. I focus on systemic improvements that helps teams deliver value better. I strive to leave things better than I find it.

Linkedin