In my spare time I am a soccer goalie, a co-ed, rec league superstar
Goaltending is an exceptionally tough sport mentally. There is no such thing as a goal that wasn’t your fault. Every goal is a failure. Goalies have to accept failure and being beaten as a fact of life. Growing up, acceptance of failure is generally not part of how we are taught life. “if you study hard you will get an A+”, “practice makes perfect”, “set goals and achieve them”, and all the other optimism/success oriented values of our society do not apply to goaltenders. The philosophy of goaltending has to be one of managing failure. I think strikers have to have the exact opposite philosophy…. they have to succeed and are constantly trying to optimize success.
To me, this is also the exact attitude of software development. There is no such thing as a bug that isn’t your fault. And you will have bugs, sometimes embarrassing ones that cause big outages. Much like the goaltender, us poor techies are often the ‘last man’. So ultimately we are accountable, we are the ones who make the mistakes and have to fess up.
And I think this is why there is a huge dropout rate in computer science and shortly thereafter. Is a 21 year old mentally mature enough to deal with constant failure in his life? Or will they blame the requirements, the due date, the money, the hours, the lack of sleep, the constant changing priorities, their boss, the dev’t env’t, the production env’t, the build process, etc. There are few things worse in soccer than a goalie who can’t accept failure, the maniac screaming at his defense on every goal. Similar for the developer – “it works perfectly on my machine” is an attitude that simply won’t work.
And I think thats why project mgmt styles like ‘agile’, ‘tdd’, ‘extreme’, etc have exploded and done so well. They manage failure & risk along the way (and maybe CMM, waterfall, etc are in the optimize success bucket?).
So for all of you who are looking to ’succeed’ in life – don’t become a goalie or a programmer (or a salesman or somebody trying to raise money or a whole litany of other jobs).








