23
gto3000
4y

Difference between && and || - 1,7K damages

So last Friday we released a my mistake, which resulted in 1,7 K losses for the company. I feel like total idiot, because I messed up if’s and instead && used ||. Testing did not noticed, pull req was approved, nobody noticed it for four days. But that’s because of complex nature of the function and it’s application, but in the end - it was me who put it there. How do you cope with that? I am leaving next week for a better position in another company and it totally messed things up in my head.

Our company makes 70k in revenue so I doubt it’s gonna put a big dent in finances but I feel completely hopeless and like shit.

Comments
  • 20
    If QA didn't catch it, it isnt your fault. Simple as that. It's their job.
  • 2
    @PrivateGER We don’t have automated testing, so QA has to go through each real ease and test Everything what was changed so I cannot blame them for that, but they found it - 4 days ago while testing another release
  • 10
    We have a billing program where I made a mistake which probably cost the customer around 100k we noticed the bug half a year later the customer didn't notice it at all

    Was a rounding error so only cents per invoice
  • 2
    @RocketSurgeon that’s daily
  • 1
    @gto3000 sorry i taught I mentioned ths
  • 4
    I out a bug into production where failed card payments were being accepted as passed, in my defence the payment api I was hitting returned 200 with an error flag in the body like wtf.

    Anyway bug was found 2 days latter and I had a massive database clean up not fun.

    Just rings home the importance of proper testing.
  • 4
    Everyone makes mistakes. Honestly, that's not a big one. Do you have automated tests? Do you have unit tests. Just add a test so make sure it doesn't happen again. If your product doesn't have unit or integration tests, tell your manager you need to make that a priority to prevent mistakes in the future (or at least have a means of preventing mistakes after they occur).

    If they don't want to dedicate the time to putting in automated tests (and yes, they MUST be automated. Human QAs are not the same and no where near as efficient, nor can they reproduce every test scenario), then update your resume and start looking for a better job.
  • 1
    @noogli i have the exact same story. Although TBH we knew about it but the boss didn’t agree to fix it. „No one will notice. We’ll fix it if a customer complains.“ left the company but would like to know what happened to the product and the company.
  • 0
    Are you leaving on your or their behalf? Everybody makes mistakes if they fire you for that, that's bad management.
  • 2
    @Wolle Me leaving is unrelated to that, but I am afraid it might look like I’m doing it on purpose or I am leaving because I couldn’t cope with my job. I am leaving because my friend invited to apply for a much challenging and more technical position, and I found out about this mistake 4 days before my leave date. So damn it stings a lot, but I guess situations like these are bound to happen sooner or later(I am currently working as a full stack dev full time for 18 months)
  • 3
    Unless you sabotage & circumvent safety measures on purpose, it's the collective that's to blame.

    The way forward is not about feeling guilty or "learn from it to be more careful".

    No, fuck that.

    The answer is: what mechanisms can you put in place to cover similar risks in the future?

    Add more unit tests? Update QA testing scripts? Refactor code so it's easier to understand? Have two PR reviewers instead of one when the feature involves money?

    There are many answers, but the gist of it is that repeating a similar mistake should be unlikely.

    Not because you're paying more attention, because a human changing habits takes months, if not years.

    No, it should be made impossible by putting the right automated procedures in place.

    So map out the code around this bug, write out behavior, cover it with unit tests. If there's no CI/CD yet, go sign up for travis or codeship, or throw jenkins on a small server.

    Bugs reveal weaknesses in the procedure, not the individual.
  • 2
    Eh, 1.7k is nothing.

    I've introduced a pricing issue before that took an additional 10% discount off certain products, I didn't notice the issue, testers didn't notice the issue, business didn't notice the issue after go live and then about 6 months later I was generating a report and couldn't get the numbers to add up, guess who introduced an extra 10% off 🤦‍♂️

    This site generates circa 20mil a year so you can understand the tension in the room when I had to write that bug report.

    These things happen, and while it should be found early, not all bugs show themselves until you have enough data to spot it.
  • 1
    @C0D4 ahh man, I can feel that moment when you taught something was wrong with report, re-done it couple of times and then decided to check if there is error in the code somewhere...and it was yours! I hope you were not fired, or had any other personal financial loss. I spoke with our CTO during goodbye interview and he assured it’s not a big deal and it’s company policy issue of not having enough tests.
  • 2
    @gto3000 no, no loss at my end, and still employed.

    You learn from your mistakes and you own the problem, that's the key.
Add Comment