It's my goal as a manager to be that manager that I never had and lead by example for my reports technically in addition to the expected soft skills of a traditional people manager.
It's my goal as a manager to be that manager that I never had and lead by example for my reports technically in addition to the expected soft skills of a traditional people manager.
I strongly believe that managers should be able to fulfill both roles but maybe it's just because I've been burned by so many managers in the past.
* 20% for 1-on-1s and dealing with management level issues people bring up.
* 20% spent on hiring
* 20% on various status meetings (team, cross-team, with my boss, etc.)
* 20% spent on pro-actively finding or solving issues before the explode. This includes networking with my counterparts in the rest of the org so I get information and build political capital.
Where do you work? Sign me up! I have hardly any time to code after weekly sprint-related ceremonies, 1:1's, cycle planning, and architecture and code reviews.
The job of management, like the job of any developer, varies from company to company, and situation to situation. Thankfully, the people side of my job as a manager is easy right now, but only because the people I manage are reasonable people to work with, and well receptive to feedback. It was very difficult last year when I had to work through more delicate relationships between the employee and employer. As always, it comes down to people.
It also sounds like the place you may be managing at may not be challenging enough for you. Perhaps it's time to make a change?
It all becomes a bunch of soft targets as a manager and that's really hard.
The one big success I had when I was a manager was getting our client teams to unify on the bugs they were having and to be much more cohesive. When I first got there the android and ios and web people never talked and refused to believe they had the same types of issues/bugs. LOL.
I ultimately hated it because really... I don't want to yell at people for being late to standup, so went back to engineering.
> The job of management isn't hard (I'm doing it)
What signals would you look for to tell the difference between these two possibilities?
A. This person has so much tacit knowledge of good management that they don't realise how much skill they are applying day-to-day.
B. This person has zero awareness of how their team is burning out underneath them.
I’d ask a few questions about the bits of management that I think are hard.
How do you get your team aligned on the company’s priorities as they shift?
How do you foster growth?
How do you assess who needs to be promoted/given a raise?
How do you handle feedback for employees that aren’t doing well, or aren’t meeting your expectations (or even harder, employees who think they should be promoted but you think are just solid at their current level)?
And the big/meta one - what do you think the job of a manager is? (Could just be a semantic disconnect on what the job entails).
1) that’s interesting! What do you consider the hardest people management issue you’ve run across? 2) what is the people management problem you think most people overrate in difficulty?
It usually will surface if they, for instance, consider people management easy because they have zero emotional affect and hence never bear any emotional load, or if they’ve been bless by ignorance and don’t see the work their peer and senior managers are doing to avoid them setting everything on fire, or never consider coaching or growth of someone to be a problem - because they never do it.
The most important skill to have in the workplace, management or not, is humility. This absolutely does not mean that you’re a pushover, but it does mean that you should never deceive yourself with the notion that you’re infallible.
I've been doing this for some 23 years and had a stint as a proper manager for a year, where I spent about 20% of my time coding, and I was more starved for time than just about any other phase in my career.
I'm currently a principal eng/ arch at a mid-size medical device company, and my principal eng/people manager complement, perhaps one of the strongest devs I've ever encountered (close to a fabled 10x dev), barely has time to code at all. He's just slammed all day every day with general meetings, doing 1-on-1s, presentation prep, working on process improvements, Scrum/product owners for backlog grooming, interfacing with other managers, etc, it just kills his day for anything more than tiny bits of coding here and there, and because he is such a great dev, he does provide meaningful contributions.
I have worked at small startups where things are a bit better, but I can't recall ever seeing a case where a good manager has more than 1/3 of their time to code. 80% dead time would mean hardly managing at all.
You as a manager don't need to do all that. If you can't delegate most of that to reports then you have a problem.
If you’re sitting around with nothing to do, either you’re in a dead end, or no one actually trusts you with more once you’ve ‘succeeded’ because you’ve burned too many bridges or alienated key people - even if the org chart looks good.
Of course if someone is finding themselves in that churn all day for any length of time, you are quite correct - they are busy not succeeding.
And no, delegating a lot of those tasks doesn't mean that you as a manager have nothing to do. Instead you can spend 20% time doing management tasks and 80% time coding. Each person in the team sharing the "management" burden makes it pretty manageable. (it isn't really management to coordinate with other teams or present to people etc though, no reason you should have a bus factor of 1 for that role)
I have seen a few people convince themselves this is what they were doing (usually in a line manager/tlm role), while everyone around them was suffering from lack of a proper manager, which their lack of EQ was hiding.
If you somehow found the secret sauce for this, please do share!
You might think you're doing a good job, but you really aren't. 20% of your time are only 8 hours. Even if you just spend half an hour with everybody on your team of 8, 4 of those are gone. You haven't spent any time yet coordinating the team as a whole. You haven't spent any time planning. You haven't even answered e-mails yet. Neither did you do any signficant coaching. Nor did you spend time hiring. Or even writing a job description. Or planning compensation. Or helping your two star engineers who are at loggerheads to come to an agreement. Prioritized the backlog? Set up a triage process? Spent way too much time to find out why your junior is super-withdrawn and doesn't ask questions? Set them up with mentorship? How's that design review coming along? Talked UX of the latest "luxe UI" ledge? Got yelled at by them because one of your engineers decided that specs are just suggestions? How's that training program for the new toolkit coming along? Also, the team is kind of nervous because the big project will end in 9 months, and there isn't a new big project yet?
TLM roles are the biggest mistake this industry makes. They work beautifully for 3-5 people, start crumbling for 6-10, soak 100% of your time for 11-14 people just managing while you despair you can't do technical work any more, and become an incredible way to burn out people at 15+ direct reports.
If you're that good at delegating that you're only using 20% of your time and your team is humming along at a high level... congrats, we've got these other four teams that AREN'T being managed that well, you're now the senior manager in charge of all of them, please get those other managers up to your level too!
Just because you've never seen this dynamic work successfully doesn't mean that it doesn't. The best manager I've ever had operated like this. She spent most of her time coding and made sure to know what everyone on the team was up to. We were all competent professionals, so we did a perfectly fine job of prioritizing our work and working with others within the team and across teams to get things done. It helped that much of our work could easily be undertaken in parallel with strong ownership of different parts of the code by a single person, but when there were projects that required strong and frequent collaboration she just carved out a sub-team and designated a lead then trusted the lead in the same way she trusted us as individuals. Not only did this mean that we got the benefit of her very impressive technical contributions, but it also meant that we were all able to be more productive because we spent vastly less time in BS meetings.
Afterwards, I moved to a company with a more traditional structure. Ostensibly there were three people in charge of me: my engineering manager, my product manager, and my designer (since we are "design lead"). It was a pretty big culture shock. One difference is that there are a lot more junior people in my new company (the average age was around 50 in the first one), and I think younger engineers may need a firmer hand, but I'm not sure that that explains it all. I joined the first place right out of college and thrived in that environment.
I think most people don't understand just how effective a minimal management strategy can be because they've never experienced one that works well.
Of course the more senior ICs do more than simply code AFA talk across teams and divisions to scope and define work, present workshops and presentations to the team and cross-departments, contribute to architecture decisions, present as SMEs across various parts of the stack, and mentor juniors. None of the ICs year on my team spend more than 80% of their time simply coding, the more senior staff spend probably more like 60-70%, and I spend about 50%.
I’ve worked at 14 companies over 23 years, from 3 Fortune 500s, to a couple mid-sized, to a bunch of smaller companies, to a handful of early stage startups. Have had probably close to 20 supervisors over this time and interfaced with dozens of other managers on related teams, and been a team lead about 5 or so times and a manager once.
I’ve never seen this dynamic play out. IME you're talking about a team lead not an actual people manager. Even in the most streamlined/simplest environments, I don’t think I’ve ever seen a people manager spend the majority of their time coding, not unless they were pushing 60+ hours doing so. Something as simple as 1-on-1s should be done at least once every week or two, and that can take up to an hour (or more counting prep) for every report.
Your mention of having multiple sups and junior heavy ICs at one place sounds dysfunctional and has little relation to any place I’ve worked at.
You may have worked at a lot of places, but your experience is still only a tiny slice of the different shops out there. My experience is likewise limited, and I acknowledge that such light touch management is probably very rare, but it can and does work.
You said she was a team lead not a real manager, which does have some truth to it, but it’s not like there was someone doing the “real” management work to pick up the slack for her. In the right environment that stuff simply isn’t needed.
Don't be too certain about that :-) I recognize the things you mention from my first job, I had a manager / CTO who were like her. (This was a 20-30 ppl startup, high trust, not many meetings)
There is no reason this has to be your manager. Your managers job was to understand that this was something you needed, and find a way to try and provide it for you; it's unfortunate that didn't happen for you.
> It's my goal as a manager to be that manager
Can I make a suggestion? As a manager it's important that you respond to what your team actually needs, rather than your perception of what you would have needed in their place.
There are a number of ways to do this well, and a much larger number of ways to mess it up.
Engineer -> Senior -> Principal -> Staff -> Distinguished
OR
Engineer -> Senior? -> Manager -> Senior Manager -> Director
In both scenarios though, they've been a more senior engineer.
The other was a founders child being promoted from SE I or SE II into a middle management role. That also did not end well.
There is nothing special about software engineering as a technical track this way. There is no one way to set up an organization. To a large degree they are how they actually work (i.e. not what's on paper).
This balance has been an issue in managing technical teams for about as long as that has been a thing, which is a lot longer than software has been a thing. There is a fundamental tension though, in that the focus you need to maintain expertise in your field contends with the breadth you need to understand the context well enough to make good decisions.
I suspect the real reason that you don't see more of it in practice is that it's actually really hard to continue to do both well at a very high level, and it's also organizationally hard to do.
I'm trying to make sense of the rest of your post, but it uses a lot of pronouns that don't appear to reference anything.
I agree software has more leverage, sometimes but we are talking here about how decision making power is distributed in a company.
Regardless about how much impact the IC technical output can have that is about how. The skills & information needed to make good decisions about what and when are different.
Unfortunately, being highly effective at both requires spending time and focus in ways that are somewhat mutually exclusive, which makes this quite hard.
In companies doing this well, the high-level engineer doesn't report to the immediate team lead, but reports to the same director that lead does. Or VP vs director for even-higher-level engineers vs higher-level managers.
That structure, more than the title, is what shows you if you're really on an equivalent track.
Another general comment on this theme. In my experience people making the engineer to manager transition typically need a mentor and guidance in management even more than they ever needed a technical mentor.