As fun as it is to, you know, build stuff, one of the challenges of working in the software development space is taking responsibility for your failure when things go wrong.
After all, the danger of building things that hundreds (or thousands or even millions) of people use is that you’re always one bug away from hosing their experience.
Responsibility, huh?
This past week, I released a [free] project that included a bug that had potential to bring down approximately 300 people’s sites.
I’ve previously worked for a major Internet destination (we’re talking millions of paying customers) where the cost of rolling out a bug can literally cost an inordinate amount of money.
But what’s funny is that in each of these cases – for both the free and the paid model – I get the same exact feelings of disappointment failure when bugs roll out.
Despite the fact that we’ve got greater testing facilities than we’ve ever had and that I’ve been fortunate enough to have worked with and currently work with an amazing team, problems still happen.
Although I do believe that good software engineering is about producing the highest quality of software possible, it’s also recognizing that failure is an inevitable part of the job.
If I – or any developer – doesn’t feel as if they’ve failed on some level when a problem is released into the wild, then I’d argue the passion for the craft is dead.
Eric Dye says
Dude.