Live data from Hacker News

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

blog.danslimmon.com

61–70 of 194 posts

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

#61
post #47

Earlier quoted context omitted.

Its because software is always "new" Imagine if an electricians invented new types of wires for every job they did I'm not sure why software is the way it is, maybe it will be more like a trade in a few decades...

No it's because a piece of software with a few hundred thousand lines of code has a state space that boggles the mind. And then that software interacts with a dozen other services of similar size. And then new features need to be added every few weeks. It's completely incomparable to wiring up a normal house. In buildings with nontrivial electrical systems, shit hits the fan really quickly too. Just look at the absol…

I see what you're saying, but I think electronics is equally or more complex than software, but over a longer time period

Copper, plastic, other things which I have no authority to talk about, were all complex at one point in time

You do make a good point about scope creep, I wonder if the early days of electronic had a similar problem because nobody knew what they wanted or what was possible?

Very interesting to think about IMO

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

#62
post #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.

I guess it depends. As a solo entrepreneur, I do it all the time, because I care about my customers.

Working at Instagram, probably not, since it wouldn't be my job to handle support.

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

#63

So sure, bugs happen, regardless of how good you are. But there really are some people who constantly make mistakes, and those that rarely do. There are people on my team where, when there is a bug, I just start looking at diffs of what they have committed because more likely than not, they caused the problem. I think it's important to reinforce an attitude of trying to become better and people who give a shit when t…

It's more important to identify the root of the problem and actually solve it.

Even if these people suck at coding and are still committing code without someone else double-checking their work, they're not the real problem.

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

#64
post #59

Earlier quoted context omitted.

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[...]"

Really incredible, when you have to go through university for at least 5 years, with heavy technical and at least for me mathematical lectures. Also incredible, when the complexity of IT systems is ever rising. Incredible, when we basically have to build mathematically correct systems, to make sure things work exactly like they should, including weird user wanted behavior, just for historical reasons. Also weird, that working in IT often requires a degree and that degree has requirements in educational background, which do not exist for plumbing.

Besides all this incredibility, yes, I do work professionally in an engineering role.

Limiting a statement is not the same as a completely making it meaningless. Of course there are plumbing projects, which are more complex than a static blog. Besides that, I would also like to remind you of the little part of the phrase "I'd wager that". I did not know, that it is an "ignorant" statement, to express ones believes.

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

#65
post #59

Earlier quoted context omitted.

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[...]"

I think it's normal to assume averages when comparing things.

I would be interested in some experiments of average developers learning average plumbing vs average plumbers learning average development. I'd wager theres an order of magnitude difference in the results(time spent, quality etc).

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

#66
post #60
post #56

Earlier quoted context omitted.

> 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: http…

Read my reply again, note especially the part "While this happens". Obviously I am acutely aware of what you are saying, no matter how many Wikipedia articles you link, so your comment is not only superfluous but also makes no sense, as I was asking OP if he was personally affected in such a way because he seemed bitter. Your reply does not answer this, and you should let him answer for himself.

> I'm not sure what your definition of "very few people"

I think my definition is about the same as every accepted definition of "very few", the number of people affected by such bugs falls within this definition, considering how many users software has.

> Many people have been significantly affected by software bugs. Therac-25[1] is one I constantly remind myself of; it killed 5 people.

5 does not fit the definition many in anyone's book.

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

#67
post #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 h…

I think the important point is to let go of ego issues. A bug is a technical problem, how do we address a technical problem? By being level-headed and not playing the blame game. Being sorry doesn't add any relevant information and generate a strange atmosphere, like admitting a moral failing really. Any matter of substandard performance is better dealt by the management, well outside the scope of bug fixing.

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

#68
post #50

So sure, bugs happen, regardless of how good you are. But there really are some people who constantly make mistakes, and those that rarely do. There are people on my team where, when there is a bug, I just start looking at diffs of what they have committed because more likely than not, they caused the problem. I think it's important to reinforce an attitude of trying to become better and people who give a shit when t…

> There are people on my team where, when there is a bug, I just start looking at diffs of what they have committed because more likely than not, they caused the problem. If you can tell the bug from looking at diffs, why was the bug not caught in code review or by tests? Most obvious bugs should be caught this way.

In my experience, it's because Thing 1 and Thing 2 can review each others' code, and have no compunctions about potential bugginess. Somebody else gets to pick up after both of them, and is always outvoted during team code review.

It's like giving a minority report, honestly.

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

#69
post #19

I earn a living from my SaaS. I am a solo founder, responsible for everything. I wrote all the code. My customers pay subscription fees because the software makes their work easier (it's a B2B SaaS, https://partsbox.com/ ). Bugs are solely my responsibility: there is no one else to blame. And bugs mean that my customers paid money for a product which did not work as intended (certainly not as I intended it to work).…

I think the article is talking about (not) apologizing to your coworkers, not costumers.

Co-workers are customers too. Everyone who has a dependency on your code is a customer.

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

#70
post #11

Earlier quoted context omitted.

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…

Understood. Thanks for the explanation. I have to say I don’t intuitively like the position, because taken broadly you could conclude that no-one in an organisation is ever personally responsible for their actions, because some system should have prevented the mistake. This feels wrong

Indeed, it does feel wrong because it is, technically, wrong.

The intent of a "no blame culture" however is to find a new sweet spot on the myriad of tradeoffs an engineering organization does, as an many paradigm shifts we do, it is accompanying with a certain amount of bullshit-sounding maxims meant to be thought provoking and dislodge the readers from their suboptimal local maximums.

Post reply on HN