Throwaway account because my employer reads HN.
I'm a DevOps engineer and I have been working at my current company (a startup) for less than a year. For context without giving too much information, we make enterprise software that makes certain jobs a lot easier through automation. Our customers use our app basically as their full time job, many tabs open for hours at a time. Our customers are people who used our trial, then begged their bosses to sign up for a yearly plan with us, which costs 5 figures.
I feel guilty when our customers have repeated bugginess in our app. For example they might spend an hour working on a task and then suddenly our code runs into an exception and their data is not saved properly. These issues are rare from a numerical standpoint, we track exceptions and we have a low percentage of errors, but it can still be a serious negative user experience. 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. We have also had complaints that they were pulled into a meeting with their CEO or VP or whatever and they needed the app and it wasn't working properly and it was really embarassing. One customer has requested access to our API because they want to write a script to make frequent backups of their data because they are nervous about our data integrity. I feel like we owe it to our customers who had advocated for our app to their bosses and made a significant financial investment to have an experience that is as polished of an experience as possible, since it would make them look really bad if our app is a buggy mess.
This is my second job out of school. At my first job, I'd search Twitter and see people complaining about our app being buggy and I would feel bad, but less strongly than I do here. That is because we had a QA team triple the size of the DevOps team that triaged bugs. Whenever we had an incident, I figured if it got through a whole QA team then it must have been a tough one to prevent. Nevertheless, I did have at least some bad feelings about the complaints.
I have casually asked my boss how they feel about all the random bugs in our product. They feel that as a startup of our size, our number 1 priority is making sure we have enough features. Our prospective customers tell us things like "we can't sign up until you support X number of features," and my boss and the founder believe that our number 1 indication of success is the downward trend of X. I understand what they mean (it doesn't matter how bug-free your code is if you run out of funding and go out of business) but I still feel guilty. My boss also is correct when they say that these issues happen less than 1% of the time. I don't feel like I have buy-in to make any changes to this process. Alerts are ignored, and some people don't even have PagerDuty set up, their alerts go nowhere.
I wouldn't call myself a perfectionist, I write bugs all the time. But when I see the bug I feel a responsibility to triage it and fix it.
I think about people who work at big companies and all the complaints people have about them, like becoming demonitized on Youtube for no reason or getting their app banned from the App Store for no reason. Those things would make me feel really bad working at those companies, especially if there was no way I could address them. But after doing some thinking, I realize the majority of the employees there probably don't feel this way. So it's probably an issue with myself that needs fixing, right?
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 on a task and then suddenly our code runs into an exception and their data is not saved properly.
Nobody should ever do this! Spending an hour working on unsaved work is not sensible. Either your software should save it along the way, or they should do their work in some other place (notepad?) that saves it incrementally, then copy and paste it in as a last step.
This is an example of where you need to step back and see the whole picture - it shouldn't be a case of doing unsaved work for 1 hour then saving with 100% reliability, it should save incrementally. Even if the save code were 100% reliable, they would still lose their work if they lose power, have a network disconnect, etc.
Unless you step back and understand why they are choosing your application, despite these problems, you won't be able to see the most important aspects of the business.