There are lots of great things about being a database or software professional - mastering cool tools, learning the ins and outs of different systems, exploring the evolution of diverse business processes and problems, the satisfaction of having your customer really like your work. But where I really love to go is the most challenging spot.
Let's face it - it's tempting to indulge your ego by conquering a problem others have flailed at. It's better, naturally, to challenge yourself when you see a problem you haven't seen before, and throw yourself at it.
But do you always have to use the same old trick? Do you always have to have it your own way, even in a large team environment?
As professionals, once we master a technique, a pattern, or a technology there is a tendency to advocate it. And when the situation is complex, subtle, mind-bending, we all want to run home to mama; we all want to re-fight and re-win the same battles we won before. Sometimes that's fine.
Other times - not so much.
I know the problems can be complex, but you don't always know the only best way to solve it.
Make it a thought exercise to understand another developer's point of view. Or your manager's. Find out why they advocate something. See if you could advocate it. Find out what their base reasoning is, and what the long term effects would be. If you can't understand your colleagues, how will you convince them?
And sorry to tell you, any one of their idiot ideas will probably work if you flay it long enough.
The old saying "there's more than one way to skin a cat" was true and is true, and it could be used in a lot of software engineering discussions. During one of these I blurted out my variation - "there's more than one way to skin a tarantula."
I've never skinned a cat, but at least it has skin. It has four limbs, a tail, two ears. Pretty simple.
A tarantula has an exoskeleton which is flexible but rather tough, I gather, along with eight legs and a bunch of other yucky hairy - yucks. That's why I still think it's a good metaphor for the bulbous, protruding hairy complexity of the problems we face in software.
It's also why it's a good metaphor for listening to alternative views from your colleagues. Their proposal will be involved, elaborate. You may not grok it in five minutes or even fifty. You may think they're oversimplifying, overcomplicating, or uninformed. But the problem is not in their ideas, but in your attitude.
For the sake of your project and your team, tell it to yourself: they aren't stupid, they aren't wrong, they can make this thing work. It's not your idea, but it's OK. You will consider it because this problem has more than one solution. More than one combination of existing components and new development will get the job done. However difficult or subtle, among the vast accumulation of known software patterns, there's more than one that can succeed.
There's more than one way to skin a tarantula.