Привет! Это команда разработки платформы нагрузочного тестирования.
Мы занимаемся созданием и развитием Overload — большой системы по управлению нагрузочным тестированием и подготовкой к сезону всего Ozon. Наша платформа помогает бизнесу выдерживать пиковые нагрузки и обеспечивает стабильность сервисов в Черную пятницу и распродажи. Суммарно мы запускаем около 1000 тестов одновременно, готовим сотни терабайт данных ежесуточно, утилизируем более 100 серверов и генерируем более терабита нагрузочного трафика. Мы разрабатываем одну из крупнейших внутренних платформ нагрузочного тестирования в России — от системы сборки трафика до аналитики и высокоэффективных генераторов нагрузки.
Мы ищем ведущего инженера, который поможет нам масштабировать платформу под растущие потребности Ozon и готов решать сложные инфраструктурные задачи.
Наш стек
-
Go, Kubernetes, Grafana, Prometheus, Clickhouse, Redis (ValKey), Linux.
Вы будете
-
Отвечать за полный цикл разработки функций: от идеи до выкатки в production.
-
Писать предложения (proposals) и защищать их перед командой и руководством.
-
Разрабатывать и дорабатывать функциональность Overload (например, оптимизировать систему доставки трафика на генераторы нагрузки или разработать систему стресс-тест аналитики).
-
Оптимизировать узкие места производительности, находить и исправлять их.
-
Устранять технический долг, участвовать в дежурствах и ревью кода.
Примеры задач
-
Разработать систему кеширования алертов для уменьшения нагрузки на Prometheus.
-
Разработать и внедрить новый формат статистики с генераторов нагрузки.
-
Разработать новую систему хранения метрик тестов.
-
Разработать высокоэффективный HTTP/2 клиент для улучшения точности замеров времени отклика в генераторах нагрузки.
Нам важно
- Опыт разработки на Go от 6 лет (рассмотрим сильных C++ или Java-разработчиков с готовностью переключиться на Go).
-
Знание внутреннего устройства языков программирования.
-
Опыт разработки высоконагруженных отказоустойчивых систем (желателен опыт в инфраструктурной команде).
-
Умение проектировать архитектурно-грамотные, поддерживаемые, масштабируемые и отказоустойчивые системы.
-
Умение применять лучшие практики SOLID и чистой архитектуры.
-
Базовый опыт работы с Kubernetes: понимание StatefulSet и Deployment, Requests, умение определить причину перезапуска пода и посмотреть, на каком узле он работает.
-
Умение разбираться в новой кодовой базе, дебажить, профилировать и оптимизировать код, находить и исправлять узкие места.
-
Понимание архитектуры, принципов работы и механизмов Linux (управление процессами, файловые системы, сетевой стек).
-
Знание асимптотики и базовой реализации основных структур данных, умение применять алгоритмические знания на практике и оценивать производительность реализованных решений.
-
Умение работать с многопоточным кодом, понимание разницы между мьютексом и спинлоком, параллелизмом и конкурентностью.
-
Знание английского языка на уровне, достаточном для письменного общения и написания документации в публичном пространстве.
Будет плюсом
-
Опыт работы с Clickhouse.
-
Опыт оптимизации сетевого стека Linux.
-
Участие в Open Source проектах.