Hey Or! Thank you for your wonderful responses that are thoughtful and insightful. I agree with everything you wrote here.
The US market for developers is incredibly different than the EU market, starting with developer salaries ($100,000+) compared with the national minimum wage ($14,500 USD, if you can believe it).
There is also no concept of companies needing to be loyal to their employees; you can be fired at any time, for any or no reason, with no notice, and no severance.
However, big US companies are always doing layoffs because the layoff severance agreement includes a "don't sue us if you want your severance money" clause, while no amount of HR covering its butt can eliminate pricey $5+ million wrongful termination suits at those companies.
Putting it all together, the only way to make it likely that you have a stable job and will get severance when fired is to switch jobs enough times until you're working in Big Tech.
Otherwise, the "fired no pay" piece is a huge concern, even for high performers, since there doesn't need to be a reason to fire someone.
That said, I think the biggest risk in changing jobs isn't the balance of comfort, challenge, and salary, but it's the unpaid overtime risk. Many jobs in the US require 10-30 hours of unpaid overtime every week.
For example, Google executives recently threw their Gemini engineers under the bus in the media, and then they followed up by increasing their hours from 100 weekly to 120 hours weekly.
That $300,000 Google salary doesn't seem so good when you could make $100,000 for 40 hours of work at another company, but companies will lie during the interview process regarding things like work-life balance and unpaid overtime.
So the biggest risk in taking a 20% salary bump by leaving is actually that you end up with a lower average hourly rate while you burnout working endless unpaid overtime to meet arbitrary and capricious deadlines.