It's absolutely shocking how many people lack basic empathy when shit hits the fan. A lot of people are so quick to throw others under the bus if they make a mistake, as long as it saves their own ass.

Witnessing the lack of empathy has led me to follow my own advice of "don't be a dick" throughout my career, because being a dick has never helped. Here are some examples from only the last 5 years of my dev career:

1. While I was a junior developer I worked with a PM that would constantly ignore the advice of developers. She was the senior PM of the company, and would drive down every estimate given. If we said it'd take eight hours to build something, she'd drive it down to four because "the devs that used to work here used to be able to do it in four". When I became a senior developer at another company, she applied for a job there when one of our PM's was leaving, and after a chat with the MD about what it was like to work with her, he asked some other people he knew that'd worked with her. They all had the same story. She didn't get the job, and to my knowledge she's no longer a PM.

2. I was contracted out to work on an external clients work (I won't name them, but they're very big, you've definitely heard of them), and to cut a long story short, we were given a poor spec, no explanation of the project, and three weeks to get a site working. We managed to pass their tests, and deliver on time. They were given a generous about of time to raise bugs, but they went silent for a few weeks. On their go-live day, they called up at 5:30pm, demanding that we work over the weekend to fix the insane number of bugs they found, otherwise we'd not get any of our money. I fixed the bugs they raised (2 bugs, all minor) over the weekend, and their site went live on Sunday morning. Despite all of this, they said they weren't happy with the work (without a reason why, and in a very rude manner) and said they wouldn't pay. The company got a debt collector in, and got their money in the end, but the relationship between the companies was gone. A few years later, the offending company offered me a senior dev role, which I declined for this very reason. At my most recent job, the PM we spoke to who was very rude to us applied for an AM role, which we declined after I raised concerns about them. Finally, my old company had close ties with a number of freelancer groups in the area, and many of them directly heard about this companies attempt to squirrel out of paying their fee, alongside some other freelancers sharing similar stories. Now, many of the more established freelancers in the area won't touch them with a barge-pole.

3. I worked with an account manager that was ultimately blamed for a client wanting to leave us. I had a good working relationship with him, even though his role was ultimately to deliver stuff on time, and my role was to help drive development standards (the classic delivery versus tech one). A few of the other developers didn't, and were quite publicly vocal about how he pushed for delivery. I didn't agree with a lot of his decisions, but I kept it civil, as did some others. When he was let go, he freelanced at a few different companies, and those of us that kept it friendly still keep in touch with him. It's led to some of them receiving job offers by companies he freelances at, and him receiving tip-offs regarding leads for new clients. One of my old work colleagues moved to a company that is now his client, chose over the company we all used to work at.

I have a ton of other stories like this, where someone is a dick to another person, and it ultimately comes back to bite them in the ass in one way or another, even if they don't ever realise it. Treat people like decent human beings, and be humble. If a company or person is toxic, deal with them in a friendly way, but look to exit that relationship. If you're working with a junior dev that makes mistakes, be nice and help them as much as you can, because in the next 10 years you might end up working for them. Basically, don't be a dick.