Live data from Hacker News

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

news.ycombinator.com

81–90 of 93 posts

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

#81

Stop feeling guilty and start writing/improving a test suite. Start using linters and set up a CI pipeline. Don't ask permission, just do it in between tasks. If management is at all competent they will see you as promotional material in the medium term. There's a classic Joel on Software post where he talks about making workflow changes as a grunt. An important point is that you want to get your daily work done firs…

I love the idea behind this - as a software engineer, it's your job to build good processes, and not something to ask permission for.

But wow, some of this post is incredibly toxic and passive aggressive. Create your own personal bug tracker, then refuse to fix any bugs unless everyone else uses it? "Neutralize the bozos" by sending them incessant bug reports, until they're no longer productive? Can you imagine working on a team like that?

I totally agree that you should incrementally work towards hardening your systems. Inasmuch as it's something you can fit into your workday, I'd say that's just part of your job.

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

#82
post #19

Earlier quoted context omitted.

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!"

I would hope that there are end-to-end 'did it save the baby' tests!

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

#83
The thing about enterprise software is that sales are the hardest thing. Even if you had the perfect product already, each new customer wants their specific customizations before they sign that big cheque. This will not change regardless of how many features you have or how many customers are currently happy with the product. What should change is that the effort of making customizations should become easier as they fall into categories that you've done before.

As you company grows, eventually you may have the luxury of core product/feature developers and support engineers that adapt the software filling in those customer requested features. Until then priorities have to be balanced. But it shouldn't be your responsibility. If a particular issue needs to be raised because it doesn't seem to be getting sufficient attention then you can raise it and make as clear an argument for it as you can.

This shouldn't be for every one, and it shouldn't take all your energy. Things like you shouldn't be in direct communication with customers. There should be a designated support person(s) with understanding of the product use but not its implementation to record the issues that can be triaged, grouped, prioritized by a PM, and scheduled to be worked on.

Beyond that, it's common that developers will do incremental refactors or bug fixes (as time pressures permit) along the way when working on areas of the product.

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

#84
I get where you're coming from. My first job out of Uni was in a start up, and I know I felt much the same as you describe here, with the added pressure of bug fixes being harder to distribute (since connectivity to the devices we worked on could be spotty).

The thing you have to do is just keep trying to improve your process. Beef up your test suite, set up automated regression testing, start reaching out to customers or combing through other forms of feedback. You can't stop bugs from creeping in, we're all human and it happens. It's totally fine! But you can put your best foot forward and give it your best shot.

You've got this bud.

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

#85
post #81

Stop feeling guilty and start writing/improving a test suite. Start using linters and set up a CI pipeline. Don't ask permission, just do it in between tasks. If management is at all competent they will see you as promotional material in the medium term. There's a classic Joel on Software post where he talks about making workflow changes as a grunt. An important point is that you want to get your daily work done firs…

I love the idea behind this - as a software engineer, it's your job to build good processes, and not something to ask permission for. But wow, some of this post is incredibly toxic and passive aggressive. Create your own personal bug tracker, then refuse to fix any bugs unless everyone else uses it? "Neutralize the bozos" by sending them incessant bug reports, until they're no longer productive? Can you imagine worki…

That he gets sarcastic at times is for entertainment purposes, not to hurt your feelings. Bozos do exist however and are not productive by definition. I don't think writing valid bugs should be a problem.

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

#86
post #79
post #66

Earlier quoted context omitted.

> 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 bubb…

I started my journey on DOS. I'd put more hours into probably five or six other desktop operating systems, plus Android on mobile, than I had anything from Apple, before I finally gave OS X a real shot (around 2011) and, a couple years later, after developing for both Android and iOS but being and Android user, switched to iOS for my personal devices.

I assure you, I'm not being "tricked", and I could name a bunch of shitty things about Apple software off the top of my head. They're not the best because they're perfect, it's just that everyone else is extremely bad so they look great by comparison.

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

#88
At the first startup I worked for, we focused on making a high quality product, understanding the people who would use our software, solving their problems - users loved us, I loved the company. I worked there for 9 months even after the money ran out, simply because I was so happy, but dev team enthusiasm couldn’t save a lack of sales.

The second startup I worked for, we focused on sales. The salespeople would lie about what features we had, make impossible promises, then stall the customer for a week while the devteam would work overtime to build a flimsy fascade of the desired feature. We focussed on delivering not what our users need, but on what our users’ managers think the users need. Management formally reprimanded me for fixing a bug on a tuesday, because only mondays were for bug fixes (Management didn’t actually want us fixing _any_ bugs for existing customers, just build new facades to trick new customers - but the dev team were so miserable at the state of our codebase - things like “it takes 45 minutes to reload the webapp after each code change” - bugfix mondays were a compromise). I ended up in hospital from the stress of working there. Seems they churn through recent compsci graduates, giving people burnout by age 25 and replacing them with fresh, optimisitic, cheap students. That company is still going strong.

I myself, bailed out of the startup scene, and now work fairly comfortably doing SRE work at a FAANG - it pays the bills, and I have permission to fix the bugs. The only downside is people on HN always blaming me for the downfall of western civilisation :)

Welcome to capitalism, I guess? ¯\_(ツ)_/¯

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

#89

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…

"Nobody gets fired for buying IBM"

> if they are using your software, they have chosen that option because, on balance, it meets their needs

This doesn't hold in any enterprise setting.

Coming to this case that OP describes, I think OP, you have high empathy and are passionate about your product. Since you're likely an entry-mid level engineer, sometimes others have more context of the business setting.

It would be good to implement ideas like: 1. Tracking crash reports 2. Coming up with a test framework that helps avoid regressions 3. Coming up with a script that can analyze errors, which reduces manual ops. 4. Setting up a job that compiles these errors and send it out over email every week, so managers and business automatically learn about what users are seeing.

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

#90
post #35

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 possibl…

This is true, but not nearly so much as FP advocates make it out to be. Once you reach a halfway decent level of competence in any programming language, most of the bugs that you write will end up being ones where you didn't understand the "requirements" correctly, or where you failed to predict some sequence of actions and account for it correctly. Type systems and immutability provide exactly zero help in situation…

Agreed, but I would go further to say that the type system and immutability helps in the area you describe as well: "or where you failed to predict some sequence of actions and account for it correctly."

Basically immutability serves to create more invariants and reduce complexity of the program such that it is much more predictable.

I'm advocating exactly your conclusion hence the reason why I specified that immutability is the keyword, not monads and other advanced concepts associated with functional programming.

Post reply on HN