I can only speak from my own perspective. I realized, that for me, I would always feel like someone was taking advantage of me. If it wasn't other developers, it was BAs/sales or even the management (or owner for small companies). The only way I got over it was to become a consultant. This allowed me to completely emotionally divest myself from stupid mistakes the company makes. I never have to think about how my review is horribly inaccurate, or anything else. I make my hourly wage, I do a good job, and people like it when I work for them. At the end of the day I go home and no one is calling me in the middle of the night to deal with issues. Everyone is different, so there's no telling what will make you happy, but for me, that changed my whole outlook on working and dramatically improved my emotional fitness.