Live data from Hacker News

Ask HN: How do I feel less guilty about bugs?

news.ycombinator.com

21–30 of 93 posts

Re: Ask HN: How do I feel less guilty about bugs?

#21
>So it's probably an issue with myself that needs fixing, right?

You are feeling guilty because you care about your (your app) customers, this is not (IMHO) an issue, it is only you being a "good" person (like hopefully most people).

But 1% (if it is 1%) can (still IMHO) be a lot.

Let's say (for the sake of reasoning) that the app is about invoicing.

One of your customers used to be able to prepare 8-10 invoices per hour and now, thanks to your app, is able to make 16 instead, BUT every 6 hours or around 100 invoices one fails, the work done is lost and it takes "a few hours" to solve the problem.

Hardly an increase in productivity.

0.01% or 1 in 10,000 would be probably acceptable in this completely hypothetical scenario.

Re: Ask HN: How do I feel less guilty about bugs?

#22
Believe it or not the language you use influences the amount of bugs in the system.

Also your programming technique and style of programming influences the amount of bugs.

Generally to reduce bugs, go with a functional programming style and make sure the language has robust type checking. Functional has a bad connotation in some circles so another way to think about it is to use immutable variables as much as possible. Avoid mutation wherever you can.

This is the first step. The next steps are testing and QA, but most teams have that side covered.

Re: Ask HN: How do I feel less guilty about bugs?

#24
If a bug happens because you didn't test, you should feel guilty.

Do everything you're supposed to do as a software engineer; then you won't feel guilty about the remaining bugs that slip through.

Also, don't feel too guilty if you break something which someone else developed that wasn't (1) documented and (2) covered by regression tests to catch the breakage.

When users report a bug, don't feel guilty if they are relying on some undocumented behavior, and it's not working they way they imagine. (Of course, security, reliability and robustness to bad inputs shouldn't have to be documented; that's not what my remark here is about.)

Re: Ask HN: How do I feel less guilty about bugs?

#25
There are always bugs.

What keeps bugs from happening is processes, not programmer conscientiousness. Processes begin with a test suite, and enough time spent on maintaining the test suite. And generally, enough time spent on managing bugs.

The way for the software to have fewer bugs is for the organization to spend more resources on processes to reduce bugs. If they are choosing not to do that, perhaps thinking they won't gain/lose enough business over it to justify the investment... well, your boss has already told you that they think the number of bugs you have is appropriate for business requirements and there is no reason to invest in having fewer. So, you can accept that, and give up your feeling of responsibility to make things different (your boss has already said they don't want things to be different), or you can look for a different job, I guess!

I admire you for feeling guilty for putting out crap software, and don't want to tell you you are wrong. Too many of us get paid to put out crap software. I think we are responsible for making people's lives just a bit crappier having to deal with our crappy software. I don't want to tell you to become a soulless automaton who doesn't mind producing crap that makes people's lives crappier as long as you are getting paid.

(Alternatively, maybe it's not crap software? Even high quality software sometimes has bugs. Maybe you are being overly critical? But there is so much crap software out there, that's not what I'd assume).

But it sounds like there isn't a lot you can do about it at this job.

Or... is there? We can brainstorm. It's not spending your time doing things your boss has told you you should not spend time on, though, to try to save the company from itself. That won't be good for your career, or your personal stress level, and also won't help. Whatever it is will about trying to pitch your boss/team on new processes.

Re: Ask HN: How do I feel less guilty about bugs?

#26
You caring and feeling bad means you take pride in your work, you are paying the cost of giving a shit but I hope you continue to do so. If you want to grow try and identify recurrent sources of bugs and design processes to mitigate. Again - taking pride in your work is admirable but this is the cost.

Re: Ask HN: How do I feel less guilty about bugs?

#27
To feel less guilty about them: fix them. Everyone makes mistakes, but that's just part of the iterative process. If you fix your bugs as soon as they come up, there is no issue. QA is there fore finding bugs, and if a bug leads to a catastrophic failure, it's certainly not just your fault. Typically a whole chain of safeguards failed.

That said, it is a good idea to look into your bugs, and figure out why they happened in the first place. With this you might find a way that allows you to avoid them. Good luck!

Re: Ask HN: How do I feel less guilty about bugs?

#29

You should step back and see the big picture. 1) they don't have to use your software. they could write their own, or choose another vendor, or do whatever your software automates manually. if they are using your software, they have chosen that option because, on balance, it meets their needs. that's not to say it's perfect, but it must do more right than it does wrong. > For example they might spend an hour working…

This is a great point. Sometimes a more elegant solution will come to mind, if you only give yourself the free time to relax, explore the problem, and find it.

Guilt is probably not going to contribute to that.

Re: Ask HN: How do I feel less guilty about bugs?

#30
Many commentors have given you advice at higher level.

On a tactical level,

First work with your development team on setting up temporary stores(autosaves) workflows either at the browser/ app level and/or in the backend with redis/Kafka etc.

If your users can think they can safely refresh and un submitted forms would be there , then they won't worry that much.

Secondly from a devops point of view, there is a lot of things you can do improve tooling for your teams. Canarying deployments, CI/CD automation, performance monitoring (APM) robust traceability and observablity, better error tracking and deeper data captures(session /request replays), to help solve bugs faster, production like environments with good mock data, failure point simulations with network etc, isolated dev environments (virtual clusters) . Ability to run code in a PR etc. [1]

The idea is you catch bugs before it goes to users or before the user notices.

----

From a biz perspective your boss will not change his view, even with some bugs you are better than the market and decision makers in companies buy a product for features, not because it is bug free , they don't care because the buyer is not the user. Your boss will only start caring if you start losing customers over bugs.

There is no right answer, many times your boss is right, sometimes not fixing bugs can explode technical debt and slow your growth or kill the product too, very hard to know that balance.

---

[1] these are things devops could do without product engg involvement for the most part, writing units tests or fixing architecture is not a practical initiative for you to take up although it may pay off more .

Post reply on HN