I was a fast track developer. Was senior in 4 years but involved a few job hops. Many companies require x years to get to senior but for some reason that goes out the window for new hires with talent.
It wasn’t until managing people that it became obvious why I fast tracked and others don’t. There is a huge difference in our industry. I like to use the analogy of sports. You have multiple levels recreational, college, and professional. As you get better you move up but there’s a gate to moving up that some never achieve maybe genetics maybe effort. The difference is it’s all mixed up in programming there’s no divisions you can have a 15 year programmer stuck at rec level and he’s programming with a 3 year college level athlete that’s running absolute circles around him. The productivity gap is huge. If you manage to get a pro level programmer on your team he’ll make the other 3 rec level programmers look like a waste of money. It’s like the elite runners who complete a marathon in around 2 and a half hours and it’ll be another 4 to 6 hours before the slowest finish. That same gap is in the programming world it’s just not as obvious.
So all that said my advice is to find what your skill is. If you seem to be outperforming your elder peers you’ll benefit from aggressively asking for raises and promotions as well as making a job hop every few years if HR stagnates your pay for the dreaded “years of experience” excuse.
You might also eventually get promoted to a point where you find yourself not excelling. This was my experience in management. I became a manager too young or maybe I’m not built for it. After a few years hating management I went back to programming as a consultant because I realized I was on that upper side of the skill differential, I enjoyed coding and now armed with that knowledge of where I am I can ask for even higher amounts of pay exceeding management pay.