Too many programmers measure themselves by whether they’re leveling up in the tools they’re using and the kinds of problems they’re solving. In some cases I think they’re deluding themselves. They’re on easy mode, creating a sensation of movement for themselves without ever getting into the hard stuff, which is not glamorous, it’s things like naming and restraint and kindness and caching patterns.
I have kind of spent my whole career learning how to solve the same problems better. It’s still the same DIVs and HTTP requests I was manipulating 20 years ago. But the game I am playing within an organization and within a platform is fundamentally new.
I can see how from the outside it might not look like I have “leveled up” but I think I have leveled up in my methodology.
We learn to solve the same problems better because we're exposed to the limitations of our initial naive understanding of those problems and the methods we choose, which may be sufficient in the first year, but over time that understanding becomes deeper and the methods become more elegant, reliable, and maintainable.
The wisdom and methodology improvements are necessary components of achieving 10 years of experience, but the 10 years of the same year approach literally is staying at the same level of understanding no matter the number of projects.
This sort of argument is silly and dismissive.
Jumping from new hotness to new hotness isn't a means to achieving real experience, it's often a quick way to 10 of the same one year since you never gain depth of understanding by flitting from one thing to the next.
Nowhere did I claim that you must have new projects/tools/stacks/toys/whatever to gain real experience.