Колись працював на одному німецькому банку. Тоді була проблема, що пару тижнів не проходили рекуринг платежі, тому мені доручили знайти людей, які мали в цей період заплановані платежі, і провести їх (написати скрипт). Це було терміново, бо може хтось пропустив якийсь важливий платіж. Це була п’ятниця. Зробив я цей скрипт, скинув тімлідці своїй, вона каже:
— Все гуд рань на проді.
Я кажу:
— Ну це вечір п’ятниці, а мені ще за годину на поїзд йти, може, в понеділок зранку, ще раз все переглянемо.
— Ні-ні, це дуже критично, давай.
Ну відчуваючи, що там точно щось не так (бо це вечір п’ятниці), я заранив і пішов на поїзд. В понеділок на моє здивування все було ок. Пройшло декілька тижнів, і з’явилась проблема, що в деяких людей рекуринг платіж в одному місяці пройшов двічі/
Виявилось, що мій скрипт не враховував вихідні і свята.
Але там не дуже багато людей заафектилось, бо в більшості не було грошей достатньо на рахунку, вони їм ті гроші повернули і сказали бути обережнішим мені на другий раз.
Ще якось вже на іншому проєкті писали код, аби відправляти SMS-нагадування про візит до лікаря. Ми той код написали, поставили під фіча тогл і забули за нього на рік. Потім прийшлось включити його, перед тим QA щось тестували, крутили, там насправді була трохи склада логіка відсилань тих нотіфікейшенів і була проблема, що для цього треба мати номер у США і ці номери важко діставались.
Ну ніби все ок, включили і побачили, що всі SMS на один номер ідуть, виключили. Виявилось, що клас, який відсилав SMS, спочатку відсилав це для одного номера, а потім його переробили, щоб він перебирав всіх, кому треба відіслати, але мемоїзація в методі, який витягував номер телефону, залишилась, тому перший номер у списку кешувався, і на нього всі SMS йшли.