Lessons From Leading and Developing Product Engineering Teams - Part 2

In my previous post I explained the first part of of my experience. I covered about trust, team empowerment, and direction clarity. In this post, I’ll focus on people aspects. 

If you missed part 1, you can read it here.

#4 - Take care of your people

Your team members are your partners in achieving your goal. You should not see them as someone from a lower position. Instead, see them as people having different roles and skillsets. Learn from your team as your team will also learn from you. Grow collective wisdom. Read into each other’s mind and understand how to work best with each team members. The collective wisdom in a team is the one that will drive the team forward. Embrace it, and foster the development of the collective wisdom.

The question that is usually asked would be

How do I take care of my people?

I’m from Indonesia, and here we have a saying

"Tak kenal maka tak sayang"

It means if you haven’t known someone, you can’t care about them. That, my friend, is exactly what you need to do in the first place. Know each and everyone of them. Knowing does not mean only knowing their names and their faces. You need to know their background. What they like and dislike. How their life out of work is. Get to know them on 2 levels, personal and professional.

Why do I have to do that?

You need to know them on a personal level to know their habits and motivations. You will also know their preference and endurance level. Connect to them on something else out of work. This way they know that you want to actually know who they are. You would respect them more and vice versa. One thing you need to notice is be genuine. They will be able to tell if you're not being genuine and they would think that you have agendas. This would be bad for your relation with your team members. 

On a professional level, you need to get inside their heads. Learn how they think and how they would approach a problem. Understand their habits so you can look for signs when something is not right. If you nail these items well, you will have some sort of telephatic connection with your team. Since they usually look up to you, they would try to have this with the other team members. When you can achieve that, your team can work more cohesively.  

Once you know them on both personal and professional level, you can now start seeing them better. There are 3 things you need to identify from each team members.


This is the first thing that you need to identify as this is what you need to coordinate within your team. Their strengths combined will enable you to achieve the team goals. This is why you need to know what they’re good at. They will have optimal contribution when you coordinate them well. Another way to put it is if you play by their strength, you’re setting them up for success. If your team is successful, you are successful.

How do you identify strengths? Look at conditions where they excel and can do things well with minimum supervision. Open your eyes and see. If you have already known them personally and professionally, this becomes easier.

Talk to them and ask if they see it as well. Some people can't identify their strengths. Explain their strengths so they see it too and guide them to improve it.


To work better, you need to identify weaknesses. The goal is to cover the weaknesses with one of the two scenarios: 

1. You cover the weakness by assigning someone with strengths in that weakness point

2. You cover the weakness by asking someone in the team to learn and improve the weakness.

You see that when you identify the weaknesses, you make your team work better. When you identify the strengths, you can see if the collective wisdom is enough to cover the weakness. This is scenario 1. When no one in the team can cover it, the team member can improve by improving to cover the weaknesses. 

Improvement opportunities

You might ask, what is the difference between improvement opportunities and improving weaknesses? Those are 2 different things. Improvement opportunity is the area where your team member is not bad at but has the potential to make it great. Example, your team member provided small but beneficial feedback during code reviews. But, that team member does not give code reviews often. Harness that and encourage that person to give more reviews. Push and develop that person to be a good reviewer that will improve other member's code.

Why do you need to do this? Sometimes, there are people that are not aware of their potential. You need to help them unleash it. As a manager you deal with more people and are usually able to spot potential better. Believe in your team member's skills and potential and improve them.

After you've known your team members, the next step you need to do is listen to their plans and aspirations. This is important as you can dig deeper into growing your team's collective wisdom. Some people have the aspiration to lead. You should know this and look for opportunities where you can grow them into that role. Some people prefer to stay technical, take notice and grow them into that role.

In the previous post I wrote on how you should become a coach. This is one of those moments. Play to their strength and aspirations and improve them. Managing people's aspirations will help them feel more appreciated. Also, you're making the habit of them taking control of their career. They learn to think of their plans.

Sometimes, their plan might fit them being in a different company. That should be fine since it helps them develop. You should help them develop with you until their development is better served elsewhere. In conditions where I have a team member expressing their desire to leave the company, I always ask them this. Can you develop better in the new company? If not, why don't you stay until you reach your best potential here? I never block a team member from leaving for better development. If leaving will improve them then it's for the best. Listening to their plans also means helping you plan better for the future. Don't be selfish, their career is theirs, not yours. No player is bigger than the team and you should appreciate their plans and aspirations.

I've known some managers who think they know everything. This blocks them from accepting suggestions. This kind of trait is hindering team development. Team members will develop a habit of only pleasing the manager, not performing to the max.

I enjoy it when a team member challenge me. It shows that they're not afraid of me and they want to contribute more to the team. This will foster the environment where your team members feel safe to contribute. When team members feel safe, they will be more transparent and the collaboration can be healthier. Again, your job as a manager is to make sure the goal is to make the team  successful in achieving the goal. Leave the selfishness at the door. It's about healthy collaboration, contributing and growing together as a team.

Once the culture is open and safe, what you need to master is to identify when to hit the gas and when to hit the break. You should put some push to make sure the team member is not in the comfort zone to grow them. Yet, you also need to make sure not letting them burnt out. When you have committed to work with the team, you need to communicate circumstances. Example, I had a team member who was a fresh graduate. During a tight timeline project, that member asked to leave early without informing me beforehand. He wants to go to a concert. I don't have any problem with people going to concerts. I have problems with plans changing at the last minute. By not informing the team of the plan, extra burden is put on the team without anticipation. I still let that person went to the concert, but I made sure he remembered what was wrong about it. 

I ask people to work hard, to charge hard. But I also like to make sure they have a good break. I like to tell my team to plan their leave ahead of time. And during leave, I ask them the log out from the office communication channels. They need to handover whatever they're working on to another teammate. This way they can concentrate on recharging themselves and will come back fresh.

A note about taking care of your people is you need to make sure is that you have a clear boundary between personal and professional matters. For instance, I play CS:GO with my team, to have fun with them and to let them give me a headshot. Out of work it should not be a problem. Also, you need to make sure that you don't have preference towards team members. You should always appreciate them based on their merit. When you start having favourites, politics began. You need to make sure that you don't give any room for politics since it will be very toxic for your team.

Also, you need to always reflect and learn on your experience. I don't grow the skills overnight. I made mistakes, lots of them. But, I always learn from the mistakes. I have a lot of discussion and learning from people with more experience. There's no silver bullet when it comes to managing people. It's actually the hardest part of scaling an organisation.

The most important part of it all, the mantra you should always remember is:

Take blame, give credit

As a leader, you need to take blame. If your team failed or mistakes happen, you are responsible. You need to make sure everyone is working at their best. If something goes wrong, you didn't do your job well. Explain this to the team and explain to them so they also understand what went wrong. On the other hand, if your team achieve something, give them the credit. You don't need the credit. Remember, if your team is successful, you are successful.

#5 - Be aware of toxic culture and toxic people

We all want to have a good organisation. What you  need to get rid of are 2 things, toxic culture and toxic people. What counts as toxic cultures?

One is blaming culture. I remembered once I was in an organisation  that always say it's okay to make mistakes. But there's a fine print that comes with that. It's okay to make mistakes but we'll remember and remind you and blame you forever and ever for the mistakes. It's normal to make mistakes and you should be forgiven for the mistakes under the condition that you already learn from them. We should punish not learning from the mistakes and repeating the same thing over and over. It's wrong to always make a problem of past mistakes people already learn from. After all, we are all adult professionals.

Another is reporting the behaviour of other team members to the supervisor to get an upper hand. This is the worse kinds of all and will breed work politics. If you find something wrong with your team mate, tell to that person and help that person improve. When you report to gain upper hand, you break trusts. As a leader, when you see this happening, you should not accommodate it. Have a one-on-one session with the reporter and explain what's wrong about it. Also, have a conversation with the reported members to check what is wrong. This way you improve everyone.

The worst culture of it all is office politics. This is when leaders have bias towards certain team members. This is also a condition when leaders let team members backstab each others instead of making sure they collaborate well.

Toxic people are people who are always trying to influence others for their own gain. This is against the basic rule of working in a team where we achieve success together. Please put as much effort as possible to filter these kind of people from entering the company. They can cause unrest, can make people uncomfortable and will hinder you from achieving your goals. When you meet people like this, don't give space. They will influence others in a negative way and will make situations worse. Identify based on ambitions. They're usually the most ambitious of all and only looks after themselves. These people are the ones that creates politics at work. 

Please, please, please, please for all leaders out there, remember to achieve the team goals together, not only listening to influence from the toxic members. Instead, get rid of these a**holes!


That is part 2. The last part will discuss about how to scale an engineering organisation. See you at the next post.


Popular posts from this blog

Customizing Sanic's Logging output on Gunicorn

Bali: A view from an Indonesian

5 Takeaways From My Past 5 Years With Coral, Prism, Midtrans and Gojek