^this. You need to learn to deal with office politics or stay out of office politics, which is almost impossible. Get out of engineering wont solve anything for you on that front.
I have, and still am until the end of this week, worked with people who are just rotten people. I am a very honest person so when someone screws me over I want to tell them what a SOB or B they were. Sometime I don't control myself and I have, but I also have a generally good reputation, and reputation for speaking my mind, so if I tell some off, people assume it was for good reasons.
Aero, I told you in the other thread how I deal with office D-bags. Stop the conversation/pissing match and look them in the eye and ask, "are you having a bad day?" That has saved my ass more than once from a potentially shitty situation. Angry people especially want to be heard. If you are the listen-er, you will turn an enemy into a friend.
Also people who are miserable are easy prey for the office SOB/B. You sound like a guy who wears his misery on his shoulder. People see that and they attack because they know they'll get a reaction. Cheer up, it will make your life easier.
Homework for Aero--compliment a stranger today. Say something nice to someone you don't know. This way there is nothing to gain from it. "Nice tie," "nice car" whatever, making someone smile for no good reason will make you day better.