How do you get promoted so quickly? I've worked my ass off at several companies and been in high positions at early startups but when I ask for a promotion everyone so far has said no"sorry, you only have X years experience". Maybe I'm not working for the right places...
Hard to say for sure, I think being in the right places has a lot to do with it, luck too.
My "break" was when I was at the time freelancing for an agency/ production studio (about 3 years ago). All the project managers and other developers I've worked with said really nice things about me to the tech director and the person in charge of staffing projects, and when they had a project that they didn't have a tech lead for, they decided to take a chance on me, even though I'd never really lead a project before, wasn't even sure myself if I could, and I've only worked with them for about 3-4 months at the time.
That first project came dangerously close to flustercluck territory (partially my fault, partially because we were understaffed), but everything actually turned out pretty great. The projects afterwards went much smoother - always delivered on time, usually ahead of schedule without having to crunch, and they liked how I mentored the other devs; so when a a client pulled a project (through no fault of ours, they had some internal restructuring) and I started looking for contracts elsewhere, they offered me a senior developer position instead.
It's a really cool place with amazing people (still hang out with them), atmosphere, and some breathtaking projects. Leaving it was one of the hardest things I've done, but I couldn't say no when a cancer research place asked me to be the architect for their front end projects. The story about how I got that offer is actually even more random. Maybe I'll write a post about it one day :p
Most recent job boss asked what I wanted written in on my contract, I was tempted to have "<code-monkey>" but I had that on my business cards at the previous place so I just went for "Senior Software Engineer".
I'm the only software engineer so I am simultaneously the most senior and most junior software engineer ;).
Thing is if I go for a new job in the future I can legitimately put "Senior Software Engineer" on my CV (and Systems Administrator and Systems Architect (previous jobs)).
The reality is that if you work for a small tech company as the sole/part of small team developer you'll effectively do multiple roles (sometimes less than brilliantly) that would earn you most of the way towards those titles in large orgs.
I've worked with big companies where their 'senior' programmers where less capable than me (and I'm by no means fantastic, just experienced, diligent and patient), outsourced IT firms with "years of linux experience" where the solution to permissions issues was chmod 777 everything etc etc.
Some of it I wouldn't believe if I hadn't actually seen it (I'm actually preparing a tech talk on the subject since all the talks I go to locally are "Look at this fabulous tech/architecture" and never "Putting out the dumpster fire").
To paraphrase Louis CK "Think the most average developer you know, half of them are worse than that".
Also soft-skills, they matter, I know it's tempting to think that technology/software is a meritocracy and parts of it might be, hiring/promotions near universally aren't.