There are developers that always seem to find some way to avoid taking responsibilities. They’re always right on their own way… or the team took some bad turn… the boss made some bad calls… the schedule was really tight… - you name it. Isn’t it annoying when we have to work with people who hide themselves behind excuses?
After so many years in this industry, I’m really tired of watching potentially good professionals lack even the basic ethic/moral skills to realize/assume when something’s gone wrong. A sad reality to witness, and to live with.
Good programmers also say “no”. They communicate. They strive their best to apply successful coding and software engineering practices. They document their work, and stand by their decisions. And ship. But professionals can make mistakes, human beings they are!
Eric Sink reminds us that this is perfectly normal, in his good article Career Calculus (“Bug 5909” section).
The fact that we are all subject to make silly (or even severe) mistakes means absolutely nothing. What really makes the difference, as professionals, is the way we’ll approach this reality. Be it doing damage control, applying workarounds, providing support, giving long term solutions, whatever. After all, acknowledging the truth that some unfortunate thing happened.
We all have to live with regrets about bad decisions made in the past. As a personal take on the subject, it’s been a hassle having to live with poor design/implementation choices in major products I’m responsible for (after so many years, I must deal with these issues in a daily basis).
I was very young, less experienced, and didn’t understand much of what I know today. However, as a matter of fact, the problems are still my responsibility. In the end of the day, I have to overcome them. With patience, creativity, better applied knowledge/techniques, and transparency. Without head sticking in the sand, or negating some circumstances that won’t just vanish away.
Most important, without lame excuses.