I'm not suggesting the person that overruled you is free from blame. I absolutely am suggesting that if you are in that situation you have to take your lumps and accept it, not deflect ("it's not my fault because Tom told me we had to use xyz"). The other person who is at fault should also be accepting blame, but it's not your job to render the blame. In fact, you're never at all the arbiter of blame with anyone lateral, above you, or (usually) anyone in another department; it's always your fault.
Your boss told you to use xyz technology? You (and others, if necessary) should have convinced him otherwise. If you can't and his decision is a bad one, you have to be the one that says no. That's right -- it's your job on the line, not his. If you signed up to be vp of IOS software, you're in the wrong if something is broken in IOS software. That's why you need to learn to say "no", not only to clients, but to coworkers as well. If that's absolutely not possible, it's time to put on your big boy/girl pants and take the blame because you couldn't fix a problem that you knew existed.
If you're in a situation where different people are telling you different things, then it sounds like you get to decide the specific implementation. It's even probable that those different people telling you different things are really giving you their unsolicited opinion, rather than micromanaging your career.
I think it's cowardly to avoid responsibility for what you sign your name to.
People at this level generally don't have a problem saying "no." That's not usually the issue. The issue in a situation where a CEO is overriding other executives and dictating bad decisions outside of their domain expertise is that it's politics at this point.
The fact of the matter is that you can do your job extremely well, do everything right by any rational measure, have a strong political position, and yet still get screwed by unanticipated or uncontrollable external and internal forces, up to and including nonsense of others on the executive team, especially in an organization with a poor/weak/incompetent CEO or equivalent.
It happens all the time.
It's pretty easy and cheap to make a blanket "it's always your fault" statement, but back here in the real world it's typically much more nuanced and complicated.
I agree that I'll never be the arbiter of blame. I also agree that subordinates should give counsel to their supervisors when it can save them from making a mistake. Unfortunately, from my experience a lot of times a person's pride gets in the way of accepting such advice. Some of the best ideas I've ever heard came from people who were both young and inexperienced.
As far as having multiple people telling me what to do, I was mostly referring to my time in the military. Take my word for it, I wasn't expected to choose a specific implementation (unless it was theirs), and they were definitely not offering friendly advice!
Your boss told you to use xyz technology? You (and others, if necessary) should have convinced him otherwise. If you can't and his decision is a bad one, you have to be the one that says no. That's right -- it's your job on the line, not his. If you signed up to be vp of IOS software, you're in the wrong if something is broken in IOS software. That's why you need to learn to say "no", not only to clients, but to coworkers as well. If that's absolutely not possible, it's time to put on your big boy/girl pants and take the blame because you couldn't fix a problem that you knew existed.
If you're in a situation where different people are telling you different things, then it sounds like you get to decide the specific implementation. It's even probable that those different people telling you different things are really giving you their unsolicited opinion, rather than micromanaging your career.
I think it's cowardly to avoid responsibility for what you sign your name to.