The Elder Zosima
I'm re-reading "The Brothers Karamazov." I read it for the first time and college and it affected me deeply. It's not quite the same to read it again almost twenty years later. I've changed and I think I'm past my days of existential anguish. But I'm finding new revelations that I'm sure I missed the first time around.
For example, you wouldn't think that Dostoevsky would have anything to say about software development. But any project is really about human relationships and nobody wrote about that better than 19th century Russians.
One of the characters is the elder Zosima. He is a saintly monk who took on of the brothers (Alexei) under his wing. Zosima dies fairly early on in the book, but on his death bed he gives a very long speech where he tells his life story and outlines his overall philosophy. One of the themes that recurs in the book that Zosima expounds upon greatly is the subject of personal responsibility. At one point he quotes his dying brother as saying:
Know that this is the truth and that every one of us is answerable for everyone else and for everything.
And later on
If the evil deeds of men sadden you too greatly and arouse in you an anger you cannot overcome and fill you with the desire to wreak vengeance on the evil-doers--fear this feeling most of all, and at once go and seek suffering for yourself, because you too are responsible for the evil deeds of all men. Bear that ordeal and your desire for revenge will be quenched when you understand that you were guilty yourself for having failed to show the light to the wicked as a man without sin could.
Just substitute the word "bug" for "sin" and you've got one of the clearest explanations of teamwork ever written. The real power of this formulation is that there is no limit to its inclusiveness. The responsibility that Zosima talks about extends beyond your formal responsibility, beyond your team, beyond your product, and even beyond your company.
In some ways this is absurd, you can't expect me to be responsible for a bug in a proprietary application developed for another platform in another country. But that's just the point. People are loathe to take responsibility for things over which they have no power. But the fact of the matter is that nobody has power.
I was talking with a tester the other day who was bemoaning the fact that all he could do was file bugs and argue that some behavior should be changed. He didn't have the power to make the decision like I did. It was difficult to explain that I had no power at all and that any influence I had came from that realization. All I could do was persuade and learn. Mostly it's learn. If I had real power, I wouldn't have to explain my reasoning. As it is, I've found the most effect way to get people behind what I advocate is to tell them what they already think. Usually it's right, or right enough. The times I truly try to change opinion about something it's a long laborious process to move the needle. When I do change opinion, the change happens long after my argument and can't be attributed to anything I said or did. More often it's my opinion that's changed. Some people may call that losing an argument. I call it learning.
This all means it's wrong to complain about getting overruled by management or by a teammate. If you are overruled it's your fault for not presenting your case in a way that could be consumed. It may even be your fault because you are simply wrong. Some people seem to enjoy getting overruled because it helps them avoid responsibility. If they get their way in one thing, they keep coming back with more extreme arguments until someone just says no. At that point they gripe and complain, but secretly they rejoice because they have reserved the right to say "I told you so."
I once asked a manager about five levels above me what the most frustrating part of his job was. He said that he wasn't free to run his business the way he saw fit. He wasn't given complete discretionary control of his budget. I don't think there is any level at which this frustration disappears. The Elder Zosima teaches us that once you are able to accept responsibility for things that are manifestly outside of your influence, it becomes much easier to accept responsibility for things over which you have limited influence. Once you are responsible for everything you are free to focus on the actual problem rather than making sure blame is placed where it belongs.
There is an interesting corollary to this maxim. Once you accept responsibility for things outside of your nominal authority you can find yourself greatly expanding your actual influence. Contrary to popular opinion, influence at the highest levels is about working with the limited authority to mandate and force. The bottom line is that if you think the only thing that's holding you back is lack of power, then you aren't ready to lead.
I've been working at Microsoft since the beginning of 1998. I have been both a developer and a program manager and have worked on COM+, Enterprise Scalability, Core File Services, and Terminal Services.
I am currently a program manager on the Windows Essential Business Server team.