Over the last 10-plus years, I have been responsible for and fixed many bugs in the software I have helped build. Bugs are never intentional. They are a by-product of an edge case you did not consider the user would do or an input parameter you did not think of but was passed as an input. Bugs take away from a good user experience, and I do my best to ship software with fewer bugs.
I don’t remember a lot of bugs I have fixed, but out of the many that I have fixed, one I remember recently is the one that made me cry.
We had a “Time” feature that helped employees record time for their assigned tasks. Freelancers working for the company would get paid based on the time recorded. Someone from the company’s accounting department sent us an angry email. Many people were underpaid the last two months due to an error in the software they told us. They were angry, and I had tears while I read that email. People have plans with money. Getting a few hundred dollars less and being in the position of that accountant to explain why, due to an external software mistake, a software I had helped build made me sad.
Going through the code, I saw the mistake. Rounding off error. I shipped the fix so that, in the future, time was recorded/reported correctly. I also went through logs, found the time entries for that client’s last two months, and sent them the details. Writing that email was difficult, and the reply also had me in tears. They appreciated the extra effort to help them and are still a paying client.