Усиливаем inhouse-команду foodtech-гиганта
Разработчики Evrone усилили внутренние команды Сбермаркета и поделились опытом и экспертизой во фронтенде, бэкенде, QA и управлении знаниями.
Сбермаркет доставляет на дом продукты и бытовые товары из гипермаркетов и супермаркетов, таких как METRO, Ашан или Вкусвилл. Люди собирают корзину нужных товаров на сайте или в мобильном приложении, а дальше работают партнёры СберМаркета: сборщики ходят по магазину со списком и выбирают только самые свежие продукты, а курьеры доставляют готовый заказ на дом.
Evrone помогает Сбермаркету делать цифровой сервис лучше. Наши разработчики усиливают разные команды опытом и экспертизой.
Задача — быстро включиться в работу продукта enterprise уровня
Для этого нужно было быстро нарастить команду разработки, чтобы справляться с возросшими нагрузками и успевать разрабатывать новые функции. При этом все новые специалисты должны были быть опытными, со своим багажом инструментов и знаний, чтобы максимально быстро пройти обучение и заняться «боевой» разработкой.
Также предстояло выделить части проекта в отдельные сервисы, а значит и поработать над инфраструктурой — каждый отдельный микросервис должен быть обвязан кодом, должно быть настроено сетевое взаимодействие с другими частями.
У команды Evrone уже был опыт разработки масштабного foodtech продукта, ориентированного на доставку на дом, мы подходили по технологическому стеку. Наши специалисты успешно прошли серьёзные собеседования, и мы стали частью команды Сбермаркет.
Решение — универсальные senior-разработчики и тестировщики под любые задачи
В течение года фронтенд, бэкенд разработчики и
Команды разработки в Сбермаркете разделены и существуют независимо друг от друга, закрывая большие задачи целиком, а специалисты Evrone распределены по ним, в зависимости от потребностей.
Ручное тестирование и менеджмент знаний
Сбермаркет задал нам высокое требование к уровню специалистов. Это связано с тем, что на проекте много сложных технических задач, и вовлечься в них быстро может только senior-специалист — у middle для этого не будет нужного опыта. Кроме этого, у senior-QA в багаже много приёмов и навыков, например: понимание логики работы, узких мест и особенностей работы различного функционала. Evrone предоставил Сбермаркету как раз таких многопрофильных senior-специалистов. Однако, даже senior QA-инженерам нужно учиться и расширять свои области знаний. И мы помогаем им в этом. Так, для одного из наших специалистов мы оплатили курс по работе с Kibana. Это панель визуализации данных Elasticsearch, которая помогает отслеживать потоки внутри системы в виде диаграмм.
Кроме непосредственно тестирования, мы помогаем с внедрением менеджмента знаний. Поскольку вся компания динамично растет, то найм происходит быстро, и новых сотрудников нужно быстро подготовить к работе, плюс, в компании необходимо быстро получать актуальную и достоверную информацию. Поэтому одна из наших QA-специалистов в связи с этим выполняет в компании новую роль - knowledge-менеджера.
Knowledge-менеджер собирает информацию о потребностях проекта, о непрозрачных процессах, об отсутствующих инструкциях и знаниях, обрабатывает её, сохраняет в читаемом и доступном виде и помогает другим ребятам в компании ей пользоваться, а так же поддерживает эту информацию в актуальном виде.
Шаринг знаний помогает сотрудникам с первого дня в компании: новичок знает, где взять всё нужное для старта — состав своей команды, ее цели, OKR, список используемых на проекте инструментов, информацию о технологическом стеке, архитектуру, особенности деплоя, расписание созвонов и митингов. Тем, кто уже давно в команде, база знаний помогает быть в курсе того, чем занимаются коллеги на смежных направлениях, находить контакты, гайды, обучающие курсы и решать ежедневные задачи. Помимо этого, менеджер по управлению знаниями помогает создавать обучающий контент: видео, тексты, инструкции. Ещё в компании появилась матрица компетенций — таблица со сведениями об уровне навыков QA, при этом, в ней есть информация не только о профессиональных знаниях, но и soft skills. Доступ к ней открыт всем, поэтому любой сотрудник может найти коллегу, который проконсультирует в любой непонятной ситуации. Руководителям такая матрица помогает комплексно взглянуть на человеческий капитал и выяснить, каких специалистов компании действительно не хватает.
Система управления знаниями построена на базе Confluence.
Рутинные задачи на фронтенде
Специалисты Evrone начали работу над фронтендом с небольших рутинных задач — изменить текст, заменить картинки и анимации. Эта работа помогла познакомиться с кодовой базой, что пригодилось в задачах по рефакторингу.
Например, нужно было изменить порядок показа всплывающих модальных окон и уведомлений. До переработки они показывались хаотично и накладывались друг на друга, пользователи путались. После переработки они стали появляться по очереди, чтобы было понятно — какое уведомление к чему относится.
Смена протокола аутентификации
Использовать номер телефона для входа в приложение безопаснее, чем пару «
Мы изучили отрисованные экраны, проанализировали код и реализовали нужную функциональность на фронтенде. После запуска новой аутентификации помогли решить проблему с миграцией пользователей.
Если просто включить вход по новым правилам — можно потерять часть пользователей. Дело в том, что многие не закрывают приложение, а просто сворачивают его. Или пользуются бесконечной
Поэтому мы мигрировали пользователей частями. Начали с тех, кто заказывал на один и тот же номер телефона — просто привязали используемый номер к аккаунту, эти клиенты могли входить
Для других активных пользователей мы создали
С помощью этого нам удалось собрать большую часть аудитории, самых активных пользователей. Все, кто столкнулся с проблемами были направлены в техподдержку, так что мы прошли весь этот этап без потерь.
Создание подсистемы для AB-тестирования
Другая
Эту подсистему отладили на
Backend
Непосредственно на бэкенде наши разработчики участвовали в задачах по маршрутизации заказов и процессингу платежей:
- Маршрутизатор заказов, руководствуясь внутренней
бизнес-логикой рассчитывает, как доставить заказ выгоднее и быстрее всего, не стоит ли для этого вызвать партнёрское такси. Сейчас мы продолжаем работать над этой системой. - Новый процессинг потребовался
из-за перехода на новый платёжный шлюз. При этом важно было сделать так, чтобы пользователи не заметили разницы при создании заказа.
Несмотря на то, что обе эти задачи решались «под капотом», они напрямую связаны с
Кроме этого, наши специалисты помогают с разными API и переводом фронтенда админпанели в отдельное приложение.
Перевод админпанели с rails-шаблонов на react-приложение
Админпанелью пользуются сотрудники бэкофиса — добавляют продукты, магазины, ритейлеров, управляют режимами работы, слотами доставки
Раньше админка работала на
Развиваем универсальный API для партнёров-ритейлеров
Ещё на бэкенде мы работаем над новым API для интеграции внешних партнёров, учитывая их потребности. Основные эндпоинты этого API связаны с процессингом заказа — создание, оценка, состояние, обмен информацией об оплате.
Кроме этого иногда мы помогаем решать проблемы наследования, так как ранние подходы могут просто не работать в новых условиях. За счёт такого рефакторинга мы получаем прирост в производительности.
Результат
Мы продолжаем работать над проектом Сбермаркет и подключать новых людей в команды. Специалисты, которые работают уже давно, развиваются на проекте и приносят всё больше пользы.
Например, мы стали помогать в технических интервью, так как продукт растёт и разработчиков становится больше, а значит и внимание к их навыкам должно быть выше.
По выполненным задачам наши разработчики и тестировщики продолжают консультировать другие команды и новых сотрудников.
Такой «рост» наших специалистов и прохождение достаточно серьёзных собеседований со стороны клиента говорит о том, что Сбермаркет получил в лице команды Evrone специалистов очень высокого уровня, у которых есть нужный опыт и насмотренность, чтобы видеть возможные ошибки в проектировании и создании сервиса. Мы никогда не стесняемся говорить о них, так как считаем, что вовлечение в задачи и продукт — часть нашей работы.
В планах — расширение команды с нашей стороны и участие в разработке микросервисов на Go, так как в нашем портфолио есть опыт применения этой технологии, например, в foodtech и fintech проектах.
Если вы ищете надёжных специалистов с опытом в