TL;DR:
The first few job changes I've made were, in large part, due to two things:
1. me trying to find a job in NYC that would allow for a seamless transition to TX while preserving my compensation and job responsibilities, and
2. Finding a job that will accelerate my transition into a senior management or technical sales role.
It took me a few years to find a job that met goal (1) (I'm actually making more now than I did in NYC by a healthy margin), and I have a strong feeling that my current job will really put the gas on goal (2).
Longer:
There were also minor reasons behind me switching roles:
* Job 1 -> Job 2: Lots of micromanaging and process that made it difficult to do real engineering. Job 2 was much more fun and provided free food and a wear-what-you-want policy. Also, $20k pay increase, which was a deciding factor.
* Job 2 -> Job 3: Potential of moving to Houston at Job 3. Job 2 was amazing but I felt like there was no way of growing my career vertically unless I wanted to become a Linux admin (which I, ironically, became anyway, at least of sorts) or quant (a very high bar to hit, at least at the time). $5k pay increase was not a factor.
* Job 3 -> Job 4: No opportunities in Houston outside of tech support with Job 3. Also, Google was Job 4; no way I was turning that down. They also had an office in Austin. $30k salary cut front loaded by a sign-on bonus and RSUs; opportunity to work at Google outweighed this.
* Job 4 -> Job 5: No relo opportunities available on the short-term (and very unlikely long term). The $35,000 pay cut also hurt over time despite sign-on and peer bonuses. I didn't stay long enough to vest my RSUs, which would have made up for most of the loss. Also didn't feel like I fit with the team well. Very different working/communication style that wasn't for me (it felt very isolated). I kind-of like being in a party atmosphere; open space, lots of noise, events all of the time, etc. My team didn't have any of that; very nice, but quiet, bunch of folks. Also didn't like how far I was from the money and how arguably meaningless the work felt, despite the work being really good engineering overall. (Google makes its money on Ads. I was in Corp Eng maintaining non-prod app servers.) I also ALSO didn't like how you effectively HAD to move to Mountain View or stay in NYC to advance (most of the senior folks are in MTV) and how it took many many years to make it into management at a salary that's slightly below market (even though RSU reloads effectively offset that). Also, Job 5 restored most of my lost salary ($30k pay increase, was a deciding factor).
* Job 5 -> Job 6: LOVED that place, but it was time to move to TX (couldn't take NYC anymore) and Job 5 wouldn't allow it despite having a sales office in Austin. (My boss and I tried to make an extended eng team there; CTO wasn't having it. She was nice, though.) ($10k pay cut but slightly over $10k gained from not having to pay income or state/city taxes. It was a minor factor. I would've seen more of that had I not fucked up my withholding that year!)
* Job 6 -> Job 7 (current): Really enjoyed working there too. Learned that I LOVE LOVE LOVE to travel. Wanted more of a sales-like position. Tried really hard to get myself plugged into sales pursuits; I networked with damn nearly every sales person in the US org and offered to effectively be their PowerPoint person lol. Did a lot of blogging and solo pursuits alongside my engineering work. Was VERY vocal about work that me and my teams have accomplished. Getting to where I wanted wasn't happening quickly enough; also, company outlook was shaky. Also turns out that I was dramatically underpaid (despite it being a lateral salary move). $25k pay increase was a factor.