> Money aside, did you ever leave a job you were happy with to find one where you were even more happy? Did that work?

I understand you said money aside but money is genuinely all you should care about. You are trading decades of your waking life to the rat race. It should be your first, and in my opinion, most imperative concern. If you were truly a generous and austere person you'd be a volunteer.

Frequently. I've only recently maintained "tenure" in my later engineering years. Mostly because I don't want to fight with scrappy new grads for positions anymore. First piece of advice I can give you is ignore anything about "fun tech stack" or "culture". It's all bullshit. Of course, parrot the lines they want to hear about how these are the things you look for. Appear fun and excited to work in their "fun stack" in their "culture". Use this as cover for what you really want: money. At the end of the day money may not buy happiness but I have rarely met a happy person that can't afford to be comfortable. Beer coolers, pizza, ping pong, and "fun activities" don't buy you time with your family, friends, and neighbors. Money does.

Second piece of advice: never fall for the "find a job you love" trope. Remember this: if you do not own the company you will never love it. You may like it. Hell, you may enjoy it. But the specter of a layoff, getting fired due to a bad review, etc will always be just a few steps behind you. Always remember as a software engineer the pinheaded MBAs have you squarely under the "cost center" line in the balance sheet. And no, getting shares in a company does not imply ownership no matter how many times HR tells you so.

Fact of the matter is for the first two decades of your career you should honestly be looking to move on from any company in <= 5 years. So, a minimum of 4 companies in 20 years. You'll want to reduce that to a move-on-rate of every 3 or so years if you're in start up land. Loyalty is not awarded. Not here, and not anywhere else. That ship sailed 50 years ago.

The reason? More money and more responsibility. You have a chance to redefine yourself at every new job. These redefinitions can bring you more money and more power. More money and more power is very "sticky" and you'll find people who "fail up" execute this strategy brilliantly. You are more likely to see a significant raise via quitting than by staying around. This advice is universal. It applies equally to tech as it does to landscaping.

Of course, this is just a rule of thumb. Don't leave a company that values you and gives you good raises every so often. Evaluate carefully the opportunity cost. One example from my career: I had a job where I made $X where $X was a little below average. I liked the company and the people. I interviewed around after I got my second or third "money is tight" in a review (despite others seemingly getting rank and pay). I found a company that I could tolerate willing to pay me 1.3x $X. That is a slam dunk. Without question I put my two weeks in and GTFO. Especially when you are young this is very important. If your raise is 10% and a competitor offers you 15% you may want to weigh other facts. But when you're talking multiples of your potential raise...just leave. You are not married to the company and they are CERTAINLY not married to you. If you like your coworkers that much get their phone numbers and meet them at a bar. Despite the himming and hawing from your boss they're probably doing the same thing as you.