Как ошибки в коде вдохновили разработчика создать инструмент, которым теперь пользуются крупные российские IT-компании
Читать первым в Telegram-канале «Код Дурова»
Кирилл Попов начинал с позиции младшего разработчика, но быстро вырос до руководителя 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 в пять раз уменьшила количество ошибок, связанных с утечками памяти. Команда ОК продолжает развивать инструмент и совсем недавно внедрила в сервис генеративный ИИ, который не только помогает искать и анализировать сбои и проблемы в приложениях, но и предлагает решения для их устранения.