13 сентября 2024

eur = 100.74 0.24 (0.24 %)

btc = 58 078.00$ 453.58 (0.79 %)

eth = 2 359.97$ 7.09 (0.30 %)

ton = 5.61$ 0.21 (3.84 %)

usd = 91.27 0.15 (0.17 %)

eur = 100.74 0.24 (0.24 %)

btc = 58 078.00$ 453.58 (0.79 %)

Форум

Как ошибки в коде вдохновили разработчика создать инструмент, которым теперь пользуются крупные российские IT-компании

3 минуты на чтение
Как ошибки в коде вдохновили разработчика создать инструмент, которым теперь пользуются крупные российские IT-компании

Кирилл Попов начинал с позиции младшего разработчика, но быстро вырос до руководителя Android-платформы Одноклассников.

Работая над задачами и выступая на конференциях, Кирилл заметил, что все технические команды сталкиваются с проблемой поиска и диагностики нетривиальных ошибок. Так появилась идея создать Tracer — сервис, который сейчас используется в 2ГИС, Superjob, YoWindow, помогает находить редкие баги и экономит сотни часов работы специалистов в месяц.

1% ошибок — самый проблемный: как разработчики находят самые редкие баги

Большинство ошибок в приложениях выявляют и исправляют на этапе тестирования ещё до релиза. До момента, когда пользователь впервые коснётся обновленной версии, доходит рабочий и исправный сервис.

Сложность в работе с ошибками возникает, когда речь идет о редких экзотических случаях.

«Если у тебя миллионы пользователей и больше 20 000 различных девайсов, ты сталкиваешься с бесконечным множеством сценариев, которые невозможно предсказать. Ручное тестирование покрывает 99% ошибок, но именно оставшийся 1% может доставить много хлопот», — объясняет Кирилл Попов.

Чаще всего подобные ошибки возникают при совпадении нескольких не связанных друг с другом обстоятельств. Например, человек пользовался приложением несколько часов подряд, произошла ошибка утечки памяти и приложение закрылось, или пользователь очень быстро нажал специфическое сочетание кнопок на экране, и все перестало работать.

Для поиска ошибок такого рода используют специализированные сервисы: самые популярные и функциональные из них — бесплатные зарубежные. Однако здесь разработчики сталкиваются с новой проблемой: сервис точно и оперативно находит баги, но не анализирует причины их возникновения.

«Такие сервисы полезны тем, что они могут раньше пользователя встретиться с ошибкой, и у нас появляется шанс оперативно поправить ситуацию на своей стороне. Но чтобы понять, как лечить заболевание, нужна диагностика», — говорит Кирилл.

Поиск причины может затянуться на неопределенный срок. Чтобы найти ее, некоторые компании даже приглашают пользователей, заявивших об ошибке, в свой офис — оплачивают командировку и используют их устройство для дополнительных тестов.

Но не всегда такое упражнение эффективно с точки зрения финансов и временных ресурсов. Поэтому в основном компании приходили к созданию самописных решений, которые дополняли сторонние сервисы и помогали решить проблему.

Как сервис «для себя» превратился в инструмент для рынка

Разработку ОК вполне устраивал подход, когда команда использовала сервис по поиску ошибок и дополняла его собственными инструментами. Но количество мобильных приложений и разных видов устройств росло, а вместе с ними увеличивалось и число ошибок, с которыми приходилось иметь дело.

Накопленная экспертиза и созданные инструменты подталкивали Кирилла Попова к разработке полноценного сервиса, который решит проблемы бизнеса во взаимодействии с пользователями. Уже к 2021 году Кирилл имел в копилке несколько работающих программ — например, одна помогала обнаружить ошибку утечки памяти, другая указывала на причину медленной работы приложения, а третья объясняла резкое увеличение «веса» приложения. Все эти инструменты, которые Кирилл написал самостоятельно, уже использовала вся команда ОК.

«Думаю, первым толчком к созданию сервиса стало участие в программе технологических стартапов в ОК. Я предложил руководителю заявиться с проектом Tracer, и мы заняли первое место среди 30 предложенных идей. Несмотря на то, что это было внутреннее соревнование бизнес-юнита, другие продуктовые команды VK узнали о проекте и всерьез заинтересовались инициативой», — вспоминает Кирилл.

Финальным аргументом стало появление RuStore —  официального магазина мобильных приложений для Android, Harmony OS, ОС «Аврора». RuStore планировал развитие собственной инфраструктуры для разработчиков. Одним из ее элементов и должен был стать инструмент Tracer, который помогал бы разработчикам оперативно исправлять возникающие ошибки.

Дальнейшая судьба

Кирилл стал руководителем направления, получил команду из пяти человек и сконцентрировался на развитии сервиса. Команда собрала имеющиеся наработки, внедрила авторизацию, разделение на пользователей и организации, а также поработала над интерфейсом и дизайном.

Летом 2022 года появилась первая полноценная работающая версия Tracer, которая стала доступна внутри VK. Решение сразу же стали использовать RuStore, ВКонтакте, Дзен, Почта и Облако Mail.ru. Со временем все больше подразделений компании стали внедрять Tracer в свою работу.

Через год, в августе 2023 года, ОК открыли бесплатный доступ к инструменту для всех разработчиков.

«Мы понимали, что российские разработчики практически не имеют вариантов при работе с подобными проблемами, в то время как в ОК собралась сильная инженерная команда, а сервис обкатали продукты VK с многомиллионной аудиторией. Нашей мотивацией было снабдить коллег хорошим работающим инструментом как можно быстрее», — объясняет Кирилл.

За год в публичном доступе Tracer стал очень популярным — около 5 000 пользователей, 1 500 приложений и 1 000 компаний используют инструмент в своей работе. Все чаще присоединяются крупные бизнесы, такие как 2ГИС, Superjob, YoWindow и другие. Одна из компаний с помощью Tracer в пять раз уменьшила количество ошибок, связанных с утечками памяти. Команда ОК продолжает развивать инструмент и совсем недавно внедрила в сервис генеративный ИИ, который не только помогает искать и анализировать сбои и проблемы в приложениях, но и предлагает решения для их устранения.

Читать первым в Telegram-канале «Код Дурова»

Сейчас читают

Картина дня

12 сентября, 2024
12 сентября, 20246 минут на чтение
Фото Артём Багдасаров
Артём Багдасаров
6 минут на чтение
[ Новости ]
[ Статьи ]
Личный опыт работы
Блоги 263