Максим К.
RMS платформа для управления складскими роботами(https://robotics.yandex.ru) Обязанности и активности: -Доработка и исправление алгоритмов построения маршрутов для движения роботов -Выкатка релизов, развертывание новых окружений -24/7 дежурства: наблюдение за продакшеном, реагирование на инциденты -Оценка/Декомпозиция задач -Оптимизация и решение проблем с производительностью Достижения: -Очень активный рефакторинг, перенос легаси кусков на Kotlin, существенное улучшение качества кода на проекте -Добавил скелет и разные utility для prod-like интеграционных тестов, которые позволили воспроизводить в тестах любую ситуацию с продакшена. Уже на основе это скелета существенно увеличил тестовое покрытие сервиса, закрыв все основные продуктовые сценарии. Также позволило существенно сократить время написания новых интеграционных тестов -Нашел и исправил критичный баг в алгоритмах построения маршрута
Продуктовая платформа бэкенда Музыки: API основных музыкальных сущностей — треков, альбомов и артистов, вычисление доступности и ограничений на контент, раздача аудиофайлов, A/B-эксперименты, профиль пользователя, таргетирование контента на пользователей. Точка входа для всех клиентов Музыки(мобильные приложения, web версия, умные колонки и др). Обязанности и активности: -Проектирование архитектуры микросервисов и отдельных участков API -Оценка и проработка фич с нуля(от сбора требований до реализации) -24/7 дежурства: наблюдение за продакшеном, реагирование на инциденты и выкатка релизов -Оптимизация кода и разбор проблем с производительностью(анализ дампов, профилирование на продакшене) -Расследование и воспроизведение сложных багов -Доработка внутренней админки сервиса -Был ответственным за несколько направлений/фичей: интеграция с Алисой, Итоги года, ограничения на контент -Обучение стажеров Достижения: -Успешно добавил на проект трассировку(OpenTelemetry) и вывел в продакшен. В дальнейшем позволило эффективно отлавливать проблемные для производительности участки. -Два года подряд успешно закрывал все работы со стороны бэкенда по стриму Итоги года -Вынес части основного API для умных колонок в микросервисы, что позволило не тратить лишние ресурсы на основном кластере -Множество более мелких фичей, багфиксов и оптимизаций
Продуктовая компания, разрабатывавшая свою систему для хранения и обработки геномных данных(с уклоном в BigData), ориентированную на фармацевтические компании(https://genestack.com). Обязанности и активности: -Оценка/Декомпозиция задач, сбор функциональных требований -Реализация новых фич и исправление/исследование багов -Оптимизация кода и поиск узких мест Достижения: -Оптимизировал запросы к БД, сократив время выполнения отдельных тяжелых поисковых запросов с 2-10 секунд до 200-300мс -Активно занимался рефакторингом легаси частей проекта
Аутсорсинговая компания, предлагавшая готовые команды под разные внешние проекты(https://www.lineate.com/). Обязанности и активности: -Обучение стажеров и junior-разработчиков -Коммуникация с внешними заказчкиками(прояснение требований, оценка доработок, разбор и урегулирование инцидентов) -Оценка новых проектов и составление роадмапа -Развертывание окружений, вывод проектов в продакшен и их совпровождение(в том числе devops активности) -Руководство командой разработчиков(2-4 человека) Основной проект: Рекламная платформа для отдачи банеров с проведением аукциона в реальном времени(AdTech SSP). 50k-80k rpsна одну ноду, latency SLA ~250ms(50ms на собственную обработку и 200ms timeout на сбор ставок с внешних платформ). Достижения: -Был одним из основных разрабочиков со старта проекта, внес существенный вклад в кодовую базу(20-30% кода) -Реализовал систему доставки и маппинга в память актуального конфига платформы(слепки данных по 2-10Гб), что позволило полностью избавиться от походов в SQL БД и уложить тайминги обработки в 50 мс. -Занимался настройкой и тюнингом сбора логов и метрик(ELK стек, Graphite+Grafana) при выходе в продакшен и дальнейшем сопровождении Реализовал механизмы миграции данных для мягкого переезда продакшен окружения в другой ДЦ. В результате плавно перевели весь трафик в другой ДЦ без потери данных, что позволило заказчику существенно сэкономить на хостинге. -Занимался отладкой системы под нагрузкой для устранения узких мест и утечек памяти(анализ дампов и профилирование). Удалось избавиться от регулярных FullGC при пиковых нагрузках, подобрав опитмальный коллектор и настройки к нему. Также исправил много мелких проблем с таймингами. -Обнаружил проблему с коллизиями при записи пользовательских данных в key-value хранилище(Aerospike), из-за которой терялись важные бизнес метрики. Переработал подход к записи данных, обеспечил постепенную и безопасную миграцию на новый формат с возможностью отката. В результате удалось устранить потери данных и избавиться от повторных ошибочных запросов, снизив нагрузку(2-3% rps) -Выполнял роль code owner'а и релиз менджера, при работе над платформой нескольких команд под разных заказчиков. Следил за согласованностью фич, соблюдением дедлайнов на багфиксы и графиком релизов.
Понравился профиль? Создайте себе такой же