If you've done this once or twice, sure, I think it's reasonable that the companies you worked for were exceptionally bad at keeping up with the times and ignoring technical debt.
By the fourth or fifth time that you've moved jobs for this reason though, I start to question your judgement. Every company is going to have some degree of technical debt, and the speed that trends come and go in this industry means that any company older than a few years is going to have some technology that isn't the latest and greatest.
A skilled developer isn't someone who refuses to accept any technical debt whatsoever, it's someone who knows how to manage it appropriately and balance it with the ability to execute.
Problem is that the companies with the biggest issues are the one that need to hire the most and the ones hiring you are often the most oblivious to it because they've stuck around so long. You don't find out how bad the code is until you start the job and you don't find out how the company really intends to handle it for some time, possibly months.
What we really need is corporate code reviews when interviewing. They give me code tests for my competence, I should be able to do the same for the hiring organisation. Then I could at least ask about specific issues and ask how and when they intend to deal with them.
By the fourth or fifth time that you've moved jobs for this reason though, I start to question your judgement. Every company is going to have some degree of technical debt, and the speed that trends come and go in this industry means that any company older than a few years is going to have some technology that isn't the latest and greatest.
A skilled developer isn't someone who refuses to accept any technical debt whatsoever, it's someone who knows how to manage it appropriately and balance it with the ability to execute.