The role of an Engineering Manager and management philosophies
developer.squareup.comIn general I like this article, it's an ok introduction to the expectations of an EM.
> The incoming list of prioritized projects will not be the same difficulty. That’s why it’s important to have a team of varied levels and differing skills.
I'd argue that's not why you want people of varying levels. Having juniors on the team is a) building for the future b) energizing and c) important for seniors to develop their skills as mentors. They should be working together with seniors, not taking the easy stuff.
> With this understanding, I can match the incoming projects with the appropriate individuals.
After a number of years as an EM, I tend to shy away from "matching" anything like this. I've a big believe in self selection with these things and try to avoid the role of task master at all costs. The only exception (I think) is when I need to take into account someone's development goals and actively encourage them to take on challenges that another team member would more naturally take. Example - if a team member really wants to learn iOS development, I'd actively encourage them to pair up with an experienced iOS dev on some tasks even though those are not things they'd normally be involved in.
I agree for the most part. That being said, I have noticed more senior engineers will grow resentful and bored if they are assigned very basic tasks, while a more junior engineer would be thrilled.
Senior engineers should be mentoring junior engineers, and the general talent and outlook of the team should match the problems being solved. A senior person at one company might seem more like a junior at another. It's important to be honest about those kinds of realities I think. Transparency leads to the longest lasting and most harmonious organizations.