I agree with this — there is at least some bifurcation by skillset and capabilities. Lots of engineers are overfitted to working on consumer web apps or SaaS products, but those are no longer an area of focus. You need to be adaptable enough to work on other kinds of systems too. Doing so either requires that you’re really good commercially (can lead development of a product over time, drive revenue, etc) or very good technically at a wide breadth of technologies and problems.
What makes this more extreme is that we’re in a paradigm shift, technically. Systems of the future look different than what’s been built before. Building agentic stuff is very different than web apps. The infrastructure side is also different. Moreover, both are uncertain so there’s no plug-and-play set of skills that would fit into any company in the way you could probably get hired reliably in the 2010s if you can operate Kubernetes, design a database schema, write Node.js APIs, etc.
Context windows are a natural improvement, but new architectures are completely speculative and it’s unclear we can make any sort of predictable progress with new, better architectures. Most progress has been made on essentially the same architecture paradigms, although we did move from dense models to MoE at some point.
Depends on the team — managing can be quite a bit more scope than being a senior IC, depending on expectations for that role. You have broader ownership of technical outcomes over time, even aside from the extra responsibility for growing a team. Managers have all the responsibility of a senior engineer plus more. In that way manager feels to me like a clear promotion to me. Manager vs staff eng, maybe not though.