Early in my career, being a Senior Engineer was an end goal. You were happy to reach that position, and it was nothing to be ashamed of if you finished your career as a Senior Engineer. Even if you were an amazing programmer, it used to take around 10 years to get there. You had to demonstrate the ability to do the work for a long period of time before being promoted. And of course, being smart is one thing, but having enough field experience to gain wisdom through witnessing real-life horrors is another.
In recent years, I've seen a huge shift in this regard. The position of "Staff Engineer" has effectively replaced "Senior Engineer," and Senior is now considered a mid-level position. It's not uncommon to hear impatient engineers lashing out because they haven't been promoted to Staff while only being Seniors for a couple of years. 1
I've also looked at newer job descriptions, and Staff/Principal positions don't seem that different from Senior. You used to be required to have a significant impact across the organization, community, or even the industry. But now, it seems that the main component is simply doing your years while being just competent enough.
This seems like a side-effect of all of us following suit with whatever big tech companies are doing. Since the rest of us can't usually compete with compensation, it seems easier to throw job titles around when trying to entice decent talent.
Ultimately, my problem with this inflation is not the superficial titles. What's worrisome is the unnecessary pressure this introduces for younger engineers. The career is already hard enough without adding the need for ever-growing expansionism and instant gratification.
I thought this would be something I could find numbers in surveys by IEEE, ACM or Gartner. But I didn’t find anything explicit in relation to job titles distribution through the years. If you know of anything please let me know.