10:45
04 лютого
2023

Код незламності. Як Senior Engineer Сергій Клименко забезпечував стабільність критичних систем американських клієнтів, перебуваючи в Києві під тривогами і обстрілами

Код незламності. Як Senior Engineer Сергій Клименко забезпечував стабільність критичних систем американських клієнтів, перебуваючи в Києві під тривогами і обстрілами - today.ua
Лобанова Єлизавета
Випускаючий редактор today.ua

Навіть під час війни, повітряних тривог, блекаутів і перебоїв з енергопостачанням є системи, чия робота не має зупинятися. Ніякі зовнішні обставини не повинні перешкоджати їхній бездоганній роботі, адже вони працюють цілодобово, без перерв і зупинок незалежно від обставин. Серед них не тільки робота медзакладів і системи забезпечення громадського порядку. Підтримка роботи дата-центрів і серверів та критична IT-інфраструктура також потребують постійного контролю й обслуговування. 

Senior-розробник Сергій Клименко – один із тих спеціалістів, які забезпечують безперервну роботу IT-структур в американській компанії із запобігання онлайн-шахрайству. Сергій – приклад того, як українські експерти продовжують робити свій внесок у, без перебільшення, стабільність роботи цифрових сервісів, перебуваючи в країні, що опинилася в стані повномасштабної війни.

Що таке критичні системи

Системне запобігання шахрайству – передова боротьби з кіберзлочинністю. Американська компанія SiftScience використовує для цього машинне навчання, спеціалізовані програми й інтерфейс Sift Console, за підтримку і ведення якого і відповідає Сергій Клименко. Найвідоміші клієнти компанії – Airbnb, Twitter, DoorDash – використовують його як детектор надійності вхідних платежів. У фронтенді критичність системи визначається швидкістю прийняття рішень, зокрема підтвердження транзакцій. Навіть секундне затримання інтерфейсу створює ризик шахрайських операцій.

Клименко пояснює: “Fraud-аналітики компаній, які щосекунди обробляють десятки тисяч транзакцій, з одного погляду на деталі мають зрозуміти, чи перед ними платіж від реальної людини. Я відповідаю за frontend-архітектуру цього продукту: його бездоганна робота в умовах надзвичайного навантаження – моя зона відповідальності”. 

Управляти продуктом, коли це здається неможливим

Лютий 2022 року змусив багатьох світових IT-гігантів припинити свою діяльність в Україні: скоротити штат, перерозподілити роботу, закрити представництва. Із Сергієм Клименком, українцем в американській компанії, вийшло навпаки – його знання інтерфейсу і складного коду за ним виявилися критично важливими для забезпечення їхнього безперебійного функціонування. Він виявився одним із небагатьох експертів, які глибоко розуміють "нутрощі" унікальної, майже неповторної системи. У кодовій базі переплетені legacy-фреймворки і сучасний React, багато нюансів функціонування – заміна Сергія призвела б до критичних збоїв.

“Компанія вирішила не шукати нового розробника: навіть у Кремнієвій Долині найм зайняв би місяці, і ще більше часу – на знайомство з продуктом”, – коментує Сергій. Його експертиза виявилася незамінною для стабільного обслуговування Sift Console та його подальшої оптимізації. І це не враховуючи численні проблемні ситуації, які Сергій повністю розв’язував самостійно.  

Кризовий менеджмент під час блекауту

Випробування української енергосистеми цієї осені не могли не залишити відбитку на стабільності роботи. Під час масових відключень енергії Sift Science зіткнулися з критичним інцидентом: “Через оновлення APIінтерфейс почав некоректно відображати причини, з яких програма оцінювала підозрілість платежу. Система автоматично блокувала користувачів без вагомих причин, аналітики бачили повідомлення про “високий рівень шахрайства” і додавали до чорного списку справжніх юзерів. Хвиля незадоволеності з боку кінцевих клієнтів могла спричинити серйозні репутаційні втрати для компанії”, – пригадує Клименко. 

Тоді, коли в США була ніч, а бекенд-розробники навіть не замислювалися про проблему, Сергій Клименко, перебуваючи у Києві під час повітряної тривоги, виправляв баг самостійно без додаткової допомоги. Він виявив, що проблема полягала у невідповідності мапінгу даних у новому форматі. Не чекаючи на вихід основної команди, він нормалізував ситуацію, і, коли Америка прокинулася, проблему було вирішено, а компанія-клієнт Sift уникнула втрати репутації. 

Інноваційні рішення

Ще один приклад того, як один інженер, що працює віддалено, здатен врятувати компанію від збитків, стався декілька місяців тому. Аналітики, які розслідують fraud rings, або шахрайські мережі, постійно працюють із величезними таблицями, що містять тисячі пов'язаних транзакцій. Завантаження кожної нової сторінки – це уповільнення розслідування і розмиття фокусу спеціаліста. Сергій як розробник, що повністю відповідав за продукт, мав повноваження змінити логіку його роботи. 

Код незламності. Як Senior Engineer Сергій Клименко забезпечував стабільність критичних систем американських клієнтів, перебуваючи в Києві під тривогами і обстрілами - today.ua

“Моє рішення полягало у двох інноваційних рішеннях. Перше – авторська система Smart Pagination with Prefetching. Система почала давати прогнози поведінки користувача, фоном завантажуючи наступні сторінки таблиці. Це забезпечило миттєве (zero-latency) перемикання між даними без необхідності чекати. Друге – повністю переписав логіку роботи з даними для цих таблиць. Я впровадив рішення під назвою ліниве завантаження для самих таблиць і для модулів інтерфейсу, щоб пришвидшити первинне завантаження”, – розповідає Сергій Клименко.

Усе це дозволило аналітикам зберігати фокус, зняло частину рутинної роботи і зробило виявлення загроз швидшим і легшим.    

Прозора комунікація – надійність у роботі

У найстрашніший період початку війни Сергій Клименко виконував свої обов’язки таким чином, аби керівництво розуміло, що відбудеться у випадку надзвичайної ситуації. Його робота відрізняється не тільки низкою технічних інновацій, що допомогли компанії зберегти репутацію й гроші. Комунікація не менш важлива за операційну ефективність, тому Сергій обрав свій формат надання звітності керівництву – через принцип видимої надійності. 

“Америка знає, через що сьогодні проходить Україна, але критичні системи повинні працювати за будь-яких обставин, постійно й безперервно. Клієнти та користувачі мають постійно бути в курсі, і я зробив свою роботу максимально прозорою. Замість виправдань я надсилав звіти у форматі OFNR (Observation, Feeling, Need, Request), адаптовані під бізнес: наприклад, "Мережа в Києві нестабільна, що ускладнює завантаження великих апдейтів удень. Тому я переходжу на нічну роботу і розбиваю релізи на менші частини, що не займуть багато часу".

Керівництво бачило, що все, за що відповідає Сергій, працює бездоганно; він розраховує подальшу діяльність і знає, що незалежно від обставин важливі IT-системи продовжуватимуть підтримувати безпеку й прозорість платежів.