In general, I stay only as long as my circumstances force me to stay. At the same time, there are ways to make a soul sucking job suck less - mostly by figuring out how to do the job without caring about the job. Be that burned out cynical co-worker who just scrapes by and doesn't truly care. It is a bad attitude for building a career with a company, but a life-saving attitude if your current employer will never take care of your needs anyway.
Why hadn’t I left before? Because I lived in hope that the developer experience there would click with me, and I wasn’t keen on going through the job hunt wringer again.
I started my current job in August. It’s way better. I will keep this one.