Things I need to remind myself:
Teamwork is important... There is a quote I like "A real friend is someone who help you when it's inconvenient" The same thing for teamwork. It's easy to be on a team when everything goes your way. It's not a real team until the conflict arises and decisions are made against your best judgement.
We all serve at the will of the master. Like it or not we all have to do what we are told. Again it's nice when everyone is in lockstep but that's not reality. There are the obvious customers like the customer who uses your product... but then internally there are many more less obvious customers. Any one of which can change your situation.
There is never a RIGHT decision or the RIGHT way. Decisions in real life software development are fuzzy in nature. It is a balance between individual skill, vision, experience, and risk; many of which overlap. But there is never a RIGHT decision. What is right today may not be right tomorrow.