4

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?

Update

  1. 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.
  2. My project is the top priority one. This is down from our investors and CEO
  3. 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.
  4. 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.

  • 3
    why do people get pulled from your team? is your project low priority? or is it known you make good engineers and other people wanna grab them? the new joiners, are they new hires? And why do you get new people, instead of the other team? amore context helps us to make the answer more specific – Benjamin May 4 at 9:04
  • Do you get to choose which engineers, and do you get them back at the end of the project? Do other teams have this problem? Not really an answer, but with some companies, building siloed team can be hard. It's often far more important to try to share tools, processes and standards across multiple teams to ensure flexibility with staffing as these requirements change. – Gregory Currie May 4 at 14:34
  • @GregoryCurrie I get to choose which engineers to an extend. I sometime get them back at the end of the project. Other team does not have similar problem. They are under staff and they just work to death to meet the deadline. I just take different approach where I talk to my manager that I am under staff and get more. P.S. I like your suggestion on sharing tools, processes, and standards across multiple teams. – Code Project May 4 at 14:59
2

Here are two things you might try

  1. Strategize to live with it. You could assume that this is going to happen and build it into your strategy. Sort your engineers by those you will keep and those you will lend away. Spend your effort training those engineers while using the giveaway engineers for lower priority tasks that can be more readily dropped at any time. You would also not bother to really train these engineers and have them focus on producing code for features where scalability and code quality are less important or perhaps unit tests or documentation.
  2. Budget for it and push up your resource requirements accordingly. You currently have 8 engineers. That assumes a certain amount of expertise and skill is developed. Businesses struggle to value that. What they do understand are increases in monetary cost. Make the cost monetary. Budget for two extra engineers to complete the same work on the assumption that supporting other teams is part of your team's duties, so in the same timeframe ask for the additional $200,000. No way you get the money, but sticking a resource cost on it usually causes people to think twice. On my current project, someone suggested a total UI redesign. We devs were really not keen to do that as none of us are frontend devs, so we then asked if their budget would cover the $150,000 in salary costs for that. It was not mentioned again. Had we just extended the project or said nothing, it would have happened.
| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .