He says that this is a fallacy: > It reinforces the idea that any one person or piece of code can be blamed for a given failure. Why is that a fallacy?
Probably because there is always a bigger picture: culture, process (e.g. testing, code review, time pressure, feature centric performance metrics). Surely, the person making the mistake is the proximal cause for a given bug, and surely all other things being equal personal attitude matters (i.e. a more careless person is going to make more mistakes), but if you zoom out to the big picture you see other responsibilit…
I’ve made a conscious effort to stop apologizing for bugs in my code
21–30 of 194 posts
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#22 1. How will you fix it?
2. How will you prevent it from happening again?
An apology, in my head atleast, is for when you have caused emotional distress to someone and there isn't much you can physically do to fix it other than to convey how you now feel about what you have done. When you make a practical mistake an apology is implied by you fixing it.Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#23Why do software engineers constantly try to project that they are a special snowflake of a profession? Would you accept such nonsense from your plumber, or your dentist, or your electrician? Software engineering is one of the most fundamental building blocks of modern civilization, and yet it continues to be so fragile because of this kind of cavalier attitude. Also, apologizing doesn't mean you have a moral failing.…
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#24Would you be ok with your dentist being OK with her slip-ups? “I really should have checked the x-ray better before I extracted your front tooth. But you know, I’m not sorry. It was an external constraint — there was a queue of patients waiting”. I can’t believe how low we let this profession sink. I hope in 15 years we will look at thies era like we look at the Wild West today. Exciting from a distance but nobody wo…
This comparison is like comparing apples to oranges. I believe we need to get the "context" before judging any situation.
Building software should be an engineering discipline with all its perks and responsibilities just like building bridges. We rarely see it and it propagates to the craftsmen who seriously believe that good quality software is impossible to write under the slightest of constraints. Like business pressure.
We had this ability in the past when programming was way more difficult, tedious and error prone. Look what IBM did with their “Clean Room” approach. I’m sure we still have it at many places but we choose to spread the myth that it cannot be done. This call to stop apologizing is the next step towards not even trying.
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#25Why do software engineers constantly try to project that they are a special snowflake of a profession? Would you accept such nonsense from your plumber, or your dentist, or your electrician? Software engineering is one of the most fundamental building blocks of modern civilization, and yet it continues to be so fragile because of this kind of cavalier attitude. Also, apologizing doesn't mean you have a moral failing.…
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#26Why do software engineers constantly try to project that they are a special snowflake of a profession? Would you accept such nonsense from your plumber, or your dentist, or your electrician? Software engineering is one of the most fundamental building blocks of modern civilization, and yet it continues to be so fragile because of this kind of cavalier attitude. Also, apologizing doesn't mean you have a moral failing.…
I have never heard of a plumber, dentist or electrician apologizing for anything - unless you count court orders...
Maybe there's a reason you rarely hear one category apologizing and hear the other category coming up with excuses.
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#27As a manager, I've always striven to apologize for my errors. I do agree that errors are unavoidable and are bound to happen. That's why I actually never cared at all whether programmers apologize for bugs. Fixing bugs is also part of the software development process after all. However, I've always believed an apology is important to show humility to my team mates. As a manager, I do not want to appear entitled. Of c…
I think context matters too. The industry you're in (what are the consequences of bugs) as well as the part of the codebase (presentation or data integrity) change the acceptability of bugs.
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#28Why do software engineers constantly try to project that they are a special snowflake of a profession? Would you accept such nonsense from your plumber, or your dentist, or your electrician? Software engineering is one of the most fundamental building blocks of modern civilization, and yet it continues to be so fragile because of this kind of cavalier attitude. Also, apologizing doesn't mean you have a moral failing.…
"Just be more careful" has pretty much proven not to be a successful strategy to reduce defects.
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#29Why do software engineers constantly try to project that they are a special snowflake of a profession? Would you accept such nonsense from your plumber, or your dentist, or your electrician? Software engineering is one of the most fundamental building blocks of modern civilization, and yet it continues to be so fragile because of this kind of cavalier attitude. Also, apologizing doesn't mean you have a moral failing.…
Sure you have a point, but then I do not force my plumber to do his job in far less than the time required, keep changing the plumbing requirements and make him start before the final requirements are seven known.
Re: I’ve made a conscious effort to stop apologizing for bugs in my code
#30Don't beat yourself up if you accidentally have a bad commit, but don't excuse sloppy behavior. Demand better from yourself. Don't produce garbage software.