If you've got a few years of development experience in companies like that, I recommend you "find a boss [you] respect" by becoming your own boss. Start with consulting. These engagements are different than employment because often times they're not full-time and you can stagger a couple of contracts together at the same time. This is to your advantage because you now have two "bosses" (clients) instead of one. I know it sounds counterintuitive that more bosses are better, but if things aren't going as you'd like on one contract, you can move on to another contract as it becomes available without the sort of risk you incur when you're switching full-time employment at one company to another.
From there, you can further increase your independence by building a product that has many smaller customers. Again, many "bosses", but you need each one individually much less, so you're actually more in control of your circumstances.
If it doesn't work out, you can be reasonably confident you can just fall back into regular full-time employment. In this scenario, your definition of failure is most people's definition of success.