This post is for Day 13 of Mercari Advent Calendar 2023, brought to you by @fp from the Mercari Mobile Architects team.
As an Engineering Manager, your main responsibility is to make sure your team is working at its full potential, while team members have the opportunity to grow in their careers.
It requires a variety of skills and involves making sure all team members are motivated, happy, feels valued, trust their manager and their peers, believe in what they do and what the company does, and many other requirements.
This responsibility becomes even more challenging when your team is mostly composed of lead engineers. They have a lot of experience and knowledge, they know what they want, they are not afraid to speak up when they see something misleading, and they can easily find another job if needed.
In this article I’ll describe what I’ve learned in my years managing the Mobile Architects team in Mercari, how to try to get a team’s trust, motivate them and navigate good and bad times together.
Definition
In the article I will often refer to Lead Engineer.
Lead Engineer has different definitions, in my case I use it to describe the group of people with different job titles such as Lead, Staff, Principal as well as Senior engineer. But it’s not about the job title, the Lead Engineer I will refer to is a role, where engineers excel not only in technical skills and abilities, but also in communication, teamworking, vision, prioritization and empathy. They excel in all the Mercari values: Be a Pro, All for One, Go Bold.
They are the people you will always want in your team, someone you can always rely upon and will never let you down.
Background
I’ve started working in Mercari a couple of years ago, as Engineering Manager for the Mobile Architect teams.
Shortly after I joined, the team delivered one of the most bold projects in Mercari: GroundUP.
After delivering GroundUP, the team took over more responsibilities and new members joined. Currently the team owns and maintains the foundations of Mercari mobile apps as well as the mobile infrastructure.
The team is composed of iOS and Android engineers, and divided in 3 Pods that foster collaboration and provide independence.
Gaining trust
The foundation of every kind of relationship is trust.
In a managerial role, trust is more important than ever, people will not follow your lead if they don’t trust you.
The most effective way to gain trust is, I believe, to be open, transparent and human.
This is not only true for Lead Engineers, but for people in general.
Being open and transparent while in a position of leadership is complex, especially at the beginning.
Like in every relationship, it is important to not rush it and let it grow.
Personally I always try to be open in the following ways:
- Admit your limits: I make it clear that I don’t know everything and that I sometimes make mistakes. This helps to establish a more peer-like relationship.
- Listen: Simply listening to their issues, challenges, and blockers is incredibly important. It’s also crucial not to dismiss their concerns and to follow up. Asking “How is it going with that issue you told me about last week?” can be incredibly powerful. It shows that you care and makes people feel valued.
- Share your failures: I try to share my mistakes. Lead engineers know from experience that making mistakes is part of the journey to where they are. By acknowledging our mistakes, we can connect with others on a more human level.
It’s not enough being open if you are not being transparent, people will notice it, understand you have a personal agenda. It’s very hard to trust people who hide something.
When managing Lead Engineers, this is especially important. They have experience, they know if you are not transparent with them.
I personally try to be as transparent as possible in my team, we all work together, everybody needs to know as much as possible and be in the loop.
When transparency is lacking, people start filling the gaps by themselves and this leads to making assumptions.
Finally, it’s very important to be human. Treating everyone with respect, understanding how they are feeling, understanding there are good days and bad days, and especially, understanding that this is just a job and people have their personal life, families, and that will always take precedence.
Keeping them motivated
You have their trust, now how do you keep the team motivated and performant?
These people are the best in their field, you cannot simply ask them to work on bug fixes, small tweaks etc.
They became Lead Engineers by pushing boundaries, working on challenging problems with all sorts of tech stacks.
Their Github is full of OSS contributions and every company would jump at the opportunity to hire one of them.
So, what about asking them what they want to work on?
It’s a simple but effective strategy.
Let’s be honest, it is counterproductive to hire and pay Lead Engineers and then tell them what to do.
They know what should be done to improve the product, they worked for years in their field, in the best companies, they have already been in this situation.
Ask them, listen to them and enable them to achieve it.
In some cases, this will need to align with the company roadmap, and sometimes it might not be possible to have them work on what they want.
Being able to align the company roadmap with engineering investigations, improvements, and new technologies is challenging but it’s one of the tasks you will get paid for.
It’s important to balance Lead Engineers priorities with company priorities, and being open and transparent it’s the best way to achieve this.
In some cases it might be a hard pill to swallow, some of the tasks engineers want to work on, might not align with company priorities, and this is where you need to step in.
As their manager it’s important to clarify the requirements, make them understand the reasons, have a normal conversation between adults and listen to their train of thoughts.
When things get delicate
Sooner or later you will be required to have critical conversations.
For example, there might be situations when the team is not in sync with company direction or would like to challenge some decisions.
These delicate conversations go very smoothly if you have your team’s trust.
It’s very important to keep an open mind, I generally try to foster these conversations because it’s how we grow as a team.
Multiple times in the past I had different opinions than the engineers. After listening to their point of view and explaining mine, we clarified and found compromises or different solutions.
With a team of Lead Engineers, these conversations happen weekly, and it’s great.
Every single task or piece of information is analyzed and challenged, and rightfully so.
When a team has experience and skills, it’s important to focus their time on meaningful tasks, their time is valuable. And they know it.
In some other cases, as their manager, you will have to fight for them, for the team.
Defending your team decisions and challenging stakeholders, it’s a very important part of the process that gains trust from both sides.
The good times
Day after day, slowly gaining trust will lead to being part of a team you can blindly rely upon.
This leads to great experiences, celebrating both wins and failures.
The feeling of knowing that your team will have your back, will lead to bolder challenges that lead to more trust and so on.
Working in a team like this is a privilege, sometimes companies underestimate the importance of it.
Luckily in Mercari, we were given all the necessary tools to thrive, from remote work anywhere in Japan, to team buildings to bukatsu clubs and so on.
The team works hard but also likes to celebrate together, and having casual regular team buildings in person is another invaluable tool.
Dedicating time simply for bonding, to talk about non work related topics, to know each other better, and have fun together, leads to even more trust, more motivation and overall happiness.
The future
Finally, it’s important to be prepared for the future.
When managing Lead Engineers, they know if your vision will pay off or not, they have been there before.
Making sure you are planning together, sharing your ideas, your goals, discussing your ideal scenario, and making them part of it, will help keep the team together.
Because it’s inevitable that as time goes on, things will change, people will move to different roles, maybe different teams or even companies.
Being ready to embrace change and be prepared for it, will minimize your team disruption.
It’s important to also to expect the unexpected, discuss every scenario with the team and make them understand that no matter what, you will be there to support them and lead them.
Eventually, some of them might take the management path, some might work alongside you, some maybe in other teams or even companies. But no matter what, the trust and respect will remain.
I look forward to another year of challenges, of wins and mistakes, and to celebrate them all with this amazing team.
Tomorrow’s article will be by @ayman. Look forward to it!