Nov 22, 2025 • 4 minute read

Your company has too many managers

Or, why you need ICMs

Table Of Contents

    I tend to speak my mind. This has been a boon and a disadvantage at different stages of my career.

    When I was a more junior IC, I would use my weekly 1-on-1 with my manager to talk about what was troubling me. My manager then was very empathetic; they would rush to try and fix things in any way possible. I remember walking away from those meetings a bit displeased with that.

    Really, I just wanted to vent. Sometimes something I said required some movement, but often I was looking for an assessment or a kind ear.

    In more recent years, I’ve had exceptionally good management - a manager that fits with my style of work. I’m not terribly different; I still vent a lot. But my complaints are met more with challenge than empathy.

    I’m sure to some people this is worse. Abstractly, this reads as absolutely worse than the previous situation. A manager that doesn’t help? But really this management style, for me, does help.

    To different people in different companies with different topologies, a different management style might work better. Managing is hard and people are unique, I suppose.

    But still you hear a lot about managers that aren’t doing a good job. I’ve managed people and I’d love to not be an example of that. If you have to manage everyone differently, this feels like a difficult bar to hit.

    No, I don’t think that strategy is achievable or required. As subjective as things tend to be, there’s certainly a best fit approach that works.

    I read a comment on Hacker News once that resonated quite a bit. It was on micromanaging. I’ve lost the source now, but here’s the best I can do from memory:

    Where does micromanaging come from? It comes from giving managers downwards pressure to meet deadlines and the only powers given to them being to manage. If you want to help, but your only available lever is to manage harder, that’s what you’ll do.

    Something clicked when I read this. My previous managers felt less effective because I was asking something different of them.

    What I wanted really was some combination of empathy and growth opportunity. I didn’t need them to use their powers of management in this unless it was to get me interesting work or focus my block of tasks.

    In many organizations, your manager acts as a proxy between your team and the rest of the organization. At some size of company, this feels like an inevitable requirement. There will be too many things pulling at your attention.

    Or so I’ve heard. It’s certainly less true of smaller companies. If you’re a startup, these proxies are actually terribly dangerous to put in place. You want fewer barriers between engineers and the goals of the company.

    These barriers create a strain on the proxy with the growth of the information you’re filtering. So you add more managers and more inefficiencies creep into the system.

    The utopic workplace has everyone self-managing perfectly efficiently into small groups with low communication overhead and high context. This is difficult, especially when dealing with anyone less than super-senior.

    What you really want are ICMs - Independent contributor (and) managers.

    My current employer has this set up. Many companies (e.g. Lyft) have an ICM role as a possibility, but it’s not the only role and nowhere close to the majority.

    The ICM approach has some downsides - you suddenly need much smaller reporting chains. The manager exists now mostly for high-level mentorship and HR. They are responsible for the output of their direct reports, but also have personal IC objectives.

    An ICM might have only one direct report or up to 10. They cannot have the same responsibilities as an EM, it wouldn’t be feasible. An entirely ICM org requires fewer barriers between your engineers, product, and sales. This is also generally a desirable thing.

    Tech leads are separate roles. A tech lead is responsible for the planning and direction on the technical side of a product function. They can be an ICM or just an IC. There is no EM; the responsibilities must be distributed.

    One of the cooler outputs of such a setup is that micro-managing is mostly gone. Your responsibility as an ICM is to deliver a product or feature. If the way to deliver this faster is by getting your hands dirty, go ahead and code. There’s no formal process where you take off your manager hat to get into the weeds - you are regularly moving between IC work and management.

    Hiring for such an organization is a little difficult. You need some percentage of your ICs in a state to take on management responsibilities. Not all ICs need to manage, but at least a quarter need to be willing.

    I’ve not heard one person complain about “middle management” under this structure - the role simply doesn’t exist.

    # end note