I manage a team of 8 engineers, 3 of them are really strong while the other 5 are still mid and junior. They are professional and want to learn new things.
My style of building team is to make sure they have enough time to learn things in detail. I also challenge them to push further in term of challenges, for example, if they think they can do 3, I will ask them to do 3.5 or 4. I don't mind give them extra time to figure it out.
My team is in a much better shape than 6 months ago. We now have better understanding on how things work. Knowledge has been shared across team in great detail. We also have good documentation where new engineers on board can go through the document to learn about the purpose of each feature and how it works.
My manager is a nice person and has good intension. However, he always asks me every month or two if he can move a couple engineers from my team to work on another project. Sometime, I need to reassign a couple engineers because the workload is higher there. I find this challenging to me because it takes time to mentor and coach engineers. Every time I feel I have a great team that can start focusing on software engineering tasks, code quality, and scalability, some engineers will move and I have to coach new joiners again.
My team started to feel that we will get stuck in this loop of training and losing people every 3 months. I plan to talk with my manager to sort out this situation and I really want to make sure that I can build my team long term without having to spend 2 months training new engineers all year long. How should I handle situation like this? What should I say to my manager?
- My manager believes that I have more than I need. Every time we talk, I always show him the amount of work to justify number of engineers. He seems to understand it for a few weeks before coming back to me again. This has been on going for a couple months and I want to stop this from happening.
- My project is the top priority one. This is down from our investors and CEO
- There are some great engineers and some mediocre ones in my team. I would say I push them to be better, keep challenging them, and encourage them to learn.
- New joiners are new hires. I got them because I had more responsibilities and two new joiners I got are working on different project.
Other team has 3-4 engineers working on 1 client. On the other hand, I have 8 engineers working on 1 client. Looking at number of engineers seems like I have more people than other teams. However, I work on 3 projects on this one client and 8 engineers are working separately in 3 groups.