Programmers Stockholm Syndrome: Don't get addicted to crappy projects!
Episode 1.1.1 of "This Developers Life" discusses an interesting theory: Programmers Stockholm Syndrome.
The answer: The Stockholm Syndrome. The more we get abused by our project environment the more we get sucked into it and the more we define ourselves by the project and its goals, however stupid they are. We get dependent, even addicted to the dysfunctional environment.
Read Chad Fowlers blog post bringing up that theory.
Scott has another interesting theory in this podcast: Like the career of successful Hollywood actors is defined by the scripts they have turned down, programmers careers could be defined by projects they have refused to be part of ...
Then Scott goes on and gives the opinion that failed projects finally are the experiences that makes us good developers. We should write on our CVs in how many failed or botched projects we have worked...
On this last point I tend to disagree. Of course I believe that we can learn from failures, but this learning is limited. And it diminishes with every additional failure. I think you can learn much more from participating in successes and in reflecting them.
I think in our industry a lot of us have assumed this pseudo-darwinistic position of "what does not kill us, makes us stronger". We use this as an excuse to stay on a failing or botched project. We say "at least we learn how not to do it" and try to stay through it. However if we never learn "how to do it right" all this learning "how not to do it" will never help us. We can take a thousand ways of "how to fail" to our graves without ever having experienced any success ...
As expressed by the guys from 37signals:
Learning from mistakes is overrated!
Or as Tony Hoare puts it:
If we could only learn the right lessons from the successes of the past, we would not need to learn from the failures.