My experience with going back and forth between manager and IC a few times over my career (I prefer to be what I call a radical-IC, usually a specialist consultant), it's important to understand how different the competencies are.<p>First, a manager is not a super-engineer. Rarely are super-engineers good managers, and rarely are exceptional managers really good engineers.<p>Second, we need to separate management from leadership, and this razor does it really well: leadership scales effort, management extracts value.<p>Super-engineers have some natural leadership because they can scale their brains by adding others with clear explanations, mentoring, and leveraging others. However, this also is why you can have great team leadership on products that go nowhere because there is no one <i>managing</i> to figure out how to extract the value from the amazing technical feats your scaled and well-led team is accomplishing.<p>Teams with lots of management but little leadership feel like optimizing to get blood from a stone, because micromanagement is the antithesis of scaling effort, as it's about micro-optimizing extracting value on a linear, monotonic basis without any scale. But that's just the anti-pattern. Great management is when you have customers who are happy and interested in what you are doing because you've managed to extract value from your team and made them that way. You've given customers the thing that empowers them in their own organizations because you understand the factors that go into your product, and how to balance them so that what comes out is valuable to others.<p>Third, to transition to management, find a role to do pure management in a domain that isn't your top skill, where you can focus on the aggregate value instead of getting sucked into solving the problems themselves. This is counter-intuitive, but most important things are, so if you are a good programmer, don't start with managing developers. Do ops or better, a customer success/support team. Product is cool and interesting, but it's still an IC role, management means extracting value from teams. The path to CTO means managing teams and departments, so find something unsexy (like customer support) and take that on.<p>Alternatively, join a small company or startup and take over one of their teams, or get a 6-12mo contracting gig as a project manager with resource accountability. Long comment, and YMMV, but consider these dynamics on your quest.