Live data from Hacker News

I’ve made a conscious effort to stop apologizing for bugs in my code

blog.danslimmon.com

51–60 of 194 posts

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#51

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?

One person wrote the requirements and acceptance criteria, another person signed them off, a developer wrote the code (probably using parts of code that many others have written), another developer peer reviewed the code, someone else QA'd the feature, someone else checked the feature was deployable, and so on. Code is never written by a single person on anything but the very simplest projects.

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#52

Why 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.…

[deleted]

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#53
post #15

Well there are multiple kinds of bugs. You did not test it? Apologize. You were sloppy? Apologize. In most other cases I can agree with the author. All I can add is that, as a freelancer, I always explain (like they are 5) what went wrong. My customers don't care about the details but they like it when they know I made an effort of creating good software (bugs included).

> You did not test it? Apologize.

Not on every case. I once had a customer who literally removed the "Testing" part of my offer because it seemed to expensive to him.

As testing often takes a considerable amount of time I do list it explicitly in an offer and don't "hide" it in the numbers for the other tasks.

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#54

I think it's worth acknowledging over your customers that the bug has caused them lost time or other kinds of issues. Whether you do that with an apology, it doesn't really matter, but I know I'd personally feel better when a vendor emphasizes with me. Something you definitely don't want is to sound like it's an inconvenience for you that they're reporting bugs. Bug reports are extremely helpful and you should be gra…

> I think it's worth acknowledging over your customers that the bug has caused them lost time or other kinds of issues.

As a company, by some PR representative, yeah, sure, maybe, but individual developers should not apologize.

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#55
post #51

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?

One person wrote the requirements and acceptance criteria, another person signed them off, a developer wrote the code (probably using parts of code that many others have written), another developer peer reviewed the code, someone else QA'd the feature, someone else checked the feature was deployable, and so on. Code is never written by a single person on anything but the very simplest projects.

I'm not sure if you can extend bugs to that many people, since usually bugs and awful code are not tied into the requirements or the acceptance criteria. That being said, I do hold code reviewers partially responsible if shit gets past to production.

A code reviewer is able to see that someone is building SQL from raw input, the QA isn't. And if I see that a developer writes that kind of a thing and another person approves it, the first question I have is if they actually read through the code or just glanced at it.

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#56

Earlier quoted context omitted.

I have never heard of a plumber, dentist or electrician apologizing for anything - unless you count court orders...

And yet my house has never caught fire due to a miswiring or got flooded due to a misplumbing but let me not even count the ways in which software has failed me. Maybe there's a reason you rarely hear one category apologizing and hear the other category coming up with excuses.

> but let me not even count the ways in which software has failed me.

Failed you? This sounds either very entitled or sensational. Has software caused you major grief in any way financial or the loss of limbs or loved ones? While this happens, very few people are affected by bugs in such a way, at least confirmed.

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#57

Earlier quoted context omitted.

I have never heard of a plumber, dentist or electrician apologizing for anything - unless you count court orders...

And yet my house has never caught fire due to a miswiring or got flooded due to a misplumbing but let me not even count the ways in which software has failed me. Maybe there's a reason you rarely hear one category apologizing and hear the other category coming up with excuses.

Plenty of people are hurt or killed through clerical errors by medical professionals, but you're not going to get anyone admitting that. Even for something simple, if you have any accusation to make in a medical context, it's probably time to evaluate your options and consider a new doctor, and only then make your accusation.

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#58

Why 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.…

Yea, this is a really bizarre article.

>It reinforces the idea that any one person or piece of code can be blamed for a given failure.

That can absolutely be the case. How could it not sometimes be the case?

>Short of malice, this is never the case.

Never? Outside of somebody deliberately harming a system, there has never once been such an instance?

>It gives the impression that, when you wrote the code, you should have written it better. This is a counterfactual that rarely holds up to examination.

Lots of assertions in this piece with no supporting information. There are plenty of reasons substandard code is written by some individuals. Laziness is a big one. Apathy is another.

>It positions shame as the correct emotion to feel about bugs in your code: if you were a better engineer – a better teammate – the bug wouldn’t exist.

Call it whatever you want, but concern is certainly warranted.

>If you’re a more senior engineer on your team, the effects of these anti-patterns are magnified: people see you apologizing for bugs, so they think that they should be striving to write bug-free code. They may feel ashamed if their code has bugs.

People look up to experienced individuals within their profession. In fact, I would argue that it is even more important these senior individuals are able to accept responsibility and act accordingly; that's setting an example, something from which everyone will benefit.

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#59

Why 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.…

Depends on the project, but I'd wager, that software development is a _bit_ more complex than plumbing in many cases.

>Depends on the project, but I'd wager, that software development is a _bit_ more complex than plumbing in many cases.

This is an incredibly ignorant statement. Have you worked in that profession? Any professional engineering roles?

But that all doesn't really matter because the statement becomes meaningless when qualified with "Depends on the project[...]"

Re: I’ve made a conscious effort to stop apologizing for bugs in my code

#60
post #56

Earlier quoted context omitted.

And yet my house has never caught fire due to a miswiring or got flooded due to a misplumbing but let me not even count the ways in which software has failed me. Maybe there's a reason you rarely hear one category apologizing and hear the other category coming up with excuses.

> but let me not even count the ways in which software has failed me. Failed you? This sounds either very entitled or sensational. Has software caused you major grief in any way financial or the loss of limbs or loved ones? While this happens, very few people are affected by bugs in such a way, at least confirmed.

>Failed you? This sounds either very entitled or sensational. Has software caused you major grief in any way financial or the loss of limbs or loved ones? While this happens, very few people are affected by bugs in such a way, at least confirmed.

Many people have been significantly affected by software bugs. Therac-25[1] is one I constantly remind myself of; it killed 5 people. Here's a list for further reading: https://en.wikipedia.org/wiki/List_of_software_bugs

I'm not sure what your definition of "very few people" is but we'd all do well to aim for 0 adversely-affected people as a result from using software we write.

[1]https://en.wikipedia.org/wiki/Therac-25

Post reply on HN