Live data from Hacker News

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

news.ycombinator.com

71–80 of 93 posts

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

#72
post #19
post #5

Breathe. It's just software, we're not saving babies here. https://www.hanselman.com/blog/software-and-saving-babies

Some people write software that saves (or can take) lives. Don't take one of those jobs if you're stressed about bugs in your web app.

"Now, to be clear, if you ARE saving babies or working on software that does, for crying out loud, don't breathe and make sure you've got unit tests!"

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

#73
If developers are solely responsible for finding bugs, your company is doing it wrong. Don't feel bad, our company is also doing it wrong; not having a QA department is a rampant cost saving measure.

I'm not sure I would try to feel less guilty about having bugs, that guilt helps you be conscious about finding them before going to production. Keep in mind it should never be solely your responsibility. If you don't have a QA team, you should feel less guilty, because the biz doesn't think it's important to hire at least one QA person. If you don't do user beta testing in your cycle, you should feel less guilty, because the biz doesn't think it's important to establish that communication relationship.

I work as an internal dev environment now, but I have worked at several software companies that sold software to other companies, and they were pretty mission critical to the clients. We had a dedicated and talented QA department, we had automated testing, and we had a beta cycle with a few choice companies to help us find bugs. Bugs still happened but we took measures to make sure they were minimal if they ever got to a release.

Try to minimize the impact of a bug. In the example of the user losing an hour's worth of work, perhaps save periodically. Also, any bug you squash, particularly in production, you should make a script and make sure that gets tested every time. Unit tests are great for this.

Definitely keep being a perfectionist and honor your craft, it will pay in spades throughout your career, especially once you get older.

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

#74
Peer reviews really help develop a sense that "we're all in this together." The work is then the product of the team collectively and depersonalizes any problems that arise. It's similar to a QA team having your back ("...if it got through a whole QA team then it must have been a tough one..."), but even better because defects are caught earlier and everyone learns from reading each other's code.

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

#75
> We have even had a customer recently complain about a bug, which we fixed in a few hours, but the next week they had to complain about the bug again because it was back.

An interaction like this was the genesis of me spending a lot more time trying to understand code via the commit history instead of just looking at what's in front of me. That in turn made me highly opinionated about bad commit hygiene practices.

There's a class of regressions that is caused by interaction between two features. As long as one exists, the other does not work. Until someone sits down with a three way merge of sorts, and finds a new solution that allows both features to work at the same time, you're just going to ping-pong between two open bug reports. The only way I know to get past this is to figure out what both developers were trying to do, for which the commit history is often the cheapest option.

So we do things like require bug numbers in commit messages, pester people to learn to do move operations the 'right way', push back on squash operations, separate formatting changes from functional changes, use revert operations to remove bad code, and so forth. Like any safety procedure, they seem like a waste of time and energy until something bad happens.

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

#76

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…

> What keeps bugs from happening is processes, not programmer conscientiousness While maybe it's not sustainable, or maybe it doesn't work for large companies, if you're at a startup or small company, conscientiousness absolutely plays a large role. That's not to say that process cannot help reduce the mental burden of developing though by reducing the need to be conscientious.

I mean, sure, you can try to write good code or not give a shit, and if you do one or the other will certainly matter to the outcome, agreed.

But I (who has worked my entire decade+ career on very small teams/companies/projects) think that, past a certain point of not being just apathetic/irresponsible, "trying harder not to have bugs when I write the code the first time" has much much less effect on outcome than code review (including even code review by yourself, but giving yourself the time to do that, including some resting time in between when you write and review your own code), test suite, QA, error monitoring (with allowance to spend time diagnosing and fixing any errors reported; actually just having that allowance in general, otherwise bugs keep building on bugs), etc.

Plus if you think bugs are a result of "not trying hard enough" or "not focusing hard enough", you just stress yourself out. Even more so on a small (or especially solo) team. There are ways to create high-quality low-bug software without stressing yourself out. I don't think they include a model where bugs are your fault for not trying hard enough.

But sure, everyone should try to write good code, and if you don't care about what you are doing and don't even try, you will have more bugs, it's true.

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

#77

Why is it something that you feel needs fixing? Caring deeply about something you care about is a good thing, it shows pride in your work/craft. Sure, nothing and nobody is ever 100% perfect 100% of the time but none the less I can assure you that people in other fields often feel the same way about the same things (bugs, faults, design errors, something missed in an audit etc). In my opinion you are showing the attr…

The reason I think it needs fixing (and the reason I created this thread) is because _I know_ every product has bugs. Suppose I invited you to a party and I gave you directions but they were so bad you were lost for an hour. I would feel bad about that, even if you enjoyed the party. But that's just one person. If I discover a bug that causes one user each month to lose an hour of work, I'd feel bad and try to get th…

But remember (actually remember to your founder/CTO/whatever) that the moment enough people get pissed off, growth will stall, particularly in a niche market, word of mouth is relevant.

Before being allowed to have (too many) pissed off customers you (your app) needs to be unreplaceable (or have much worse or no competitors).

If on the other hand you would expect to have no pissed off customers, you will need to reduce your expectations.

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

#78
Doing the best you can has a ceiling, my friend!

You sound like a very thoughtful and caring person. These are qualities that can make you an excellent leader and an excellent ambassador for the good of your customers. Trust in yourself .

Maybe consider starting your own business if you feel you’re not able to utilize your skill set best for the customers. That might not be best though, I don’t know your situation. It sounds like a confidence issue, and you sound like a younger professional getting started. Keep at it, and take good care of yourself.

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

#79
post #66

Earlier quoted context omitted.

Apple also ships less code than other companies, relies on 3rd-party apps to do the marketing research of what users want, has horrendous documentation, and tries as hard they can to block users from doing unsanctioned things with their machines. If it seems like they have less bugs, it's because they do as little as possible with their software as they can get away with. Their hardware is great.

> If it seems like they have less bugs, it's because they do as little as possible with their software as they can get away with. This does not square with my experience of their bundled software being very capable, very respectful of system resources, plenty featureful, quite stable, and usually sitting somewhere between "quite good" and "best there is".

That's a psychological trick. I got my first iPhone ever this week, so let me tell you about my experience.

One of the first text messages I ever sent via iMessage, it defaulted to texting the user's "home" phone number in the contact card, even though they had another number listed under "mobile" (and they have an iPhone themselves)!

The only reason I noticed was because the text message in iMessage was a green bubble, not blue. Then, I figured out that in iMessage you can't long-press on a message to see metadata about it (i.e. exact date/time sent, and to/from what number, like you can on Android).

The message silently failed in a stupid way, and I had basically no way of knowing anything save for the fact that I happened to be aware of green/blue bubble and knew what type of phone this person had.

Aside from that, I have noticed the little app bar on the iMessage keyboard will just disappear from time to time, inexplicably. The only way to get it back is to reopen iMessage.

I didn't want to enable Face ID, but I caved and did it because it's the only way to install free apps from the app store without requiring your Apple ID password every 15 minutes (my password is long, for security reasons... I figured I'd at least be able to just enter the phone PIN, but no!) Now I'm stuck with Face ID as a mechanism of authentication that I frankly don't want. Face ID isn't continuous, so if someone snatches your phone, points your camera at you, and runs, your phone is now unlocked for them to do whatever they will.

I don't think their software is actually that good, unless you stay precisely in the box they want you to stay in. The second you deviate from that, the experience is utter garbage. And if something DOES go wrong in their walled garden, good luck figuring it out. You literally have no ability to.

Your experience is a consequence of software that is largely inflexible and when stuff goes wrong, Apple just pretends it never happened.

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

#80
post #7

" a customer recently complain about a bug, which we fixed in a few hours, but the next week they had to complain about the bug again because it was back." Don't feel bad about the bug. Bugs happen. But the company should feel bad about the process that let it come back. Can the process be fixed? That should be top priority.

We have blameless postmortems after major incidents like "the app is completely down." The action items aren't always followed, even easy ones like "new PRs should not use X function, they should instead use Y function." Two days later a PR will be approved and merged that uses X function. So then I'll make a meeting a month later saying "here are all the action items from the last couple postmortems that I don't thi…

The action item isn't easy if everyone has to individually remember it going forward. An easy action item would be to add a lint rule to prevent the X function from getting checked in, even if the author never heard of this rule before.
Post reply on HN