Thanks for clarifying. There have always been technical leads and hands-on engineering managers, but two things have changed:
1. The balance of responsibilities attributed to different titles has varied over time and across different companies.
2. Early personal computers were so resource limited that there were only so many programs you could write that actually made effective use of large teams. Today we can write much larger programs, which requires more coordination (across people and with AI—which can reduce the number of people required).
I would also strongly push back on the assertions that being very technical means spending most of your time on the code, and that you have to be using AI all day for it to be useful. Let’s say I’m a technical lead or a manager reviewing a design doc for a large project. I have an idea based on my years of technical involvement for how to significantly improve the quality or delivery timeline for the project. I used to have to ask the doc author to look into this approach, not knowing for sure if it would directly translate. Now I can take my crazy idea, quickly dispatch a coding agent to try it out against the codebase, go to a meeting, and then check on what it came up with to give a much more informed and technically accurate suggestion on the doc. I still have to have the technical expertise to iterate a bit with the agent and not over or under state the possible impact of my idea. But this lets me take say an hour rather than a week to come up with a vetted recommendation that saves months on the schedule.