Ozon
Старший Go-разработчик, PaaS, Языковая платформа
- IT
- Разработка платформы
- Go
- Kubernetes
- Apache Kafka
Мы строим платформу в Ozon, основанную на современных технологиях. Задача команды Платформы - обеспечение высокой надежности микросервисов и поддержка высокого уровня инженерной культуры в компании.
Платформа в Ozon - это разработка для разработки, мы снабжаем инженеров библиотеками, фреймворками и подходами, которые решают их повседневные проблемы - быстрый старт нового сервиса, работа с очередями и базами данных, балансировка нагрузки, рейт лимитинг, circuit-breaking и многое другое.
Также мы строим внутреннее облако, которое позволяет запускать все необходимые ресурсы “по кнопке” без участия людей: PostgreSQL, Kafka, Ceph, Redis, Memcached и многое другое.
Благодаря этому, наши инженеры могут легко и быстро собрать нужный им продукт из строительных кубиков и масштабировать его под любые нагрузки.
Наш стек: Go, Kubernetes, PostgreSQL, GitLab CI, Prometheus, Kafka, Redis.
Вы будете
- Развивать и поддерживать общий фреймворк для микросервисов, улучшать их интеграцию с инфраструктурой и заниматься их инструментированием.
- Решать фундаментальные платформенные проблемы, возникающие при эксплуатации более 2000 микросервисов (балансировка нагрузки и сетевых соединений, бесшовное переключение баз данных при падении мастера и т.д.).
- Создавать продукты в формате as-a-Service.
- Работать с командами-заказчиками над реализацией платформенных возможностей.
- Участвовать в планировании и стратегическом развитии платформы Ozon.
- Проводить внутренние митапы для разработчиков, чтобы анонсировать новые платформенные возможности и поддерживать высокую культуру разработки.
Нам важно
-
Умение писать чистый, тестируемый код на Go или опыт платформенной разработки, прекрасное владение одним и более языками: C, C++, Java, Python, Ruby, PHP (мы пишем на Go).
-
Опыт работы с терминалом в Linux и понимание, куда посмотреть, когда сервер тупит.
-
Понимание принципов обеспечения высокой доступности приложений и опыт в балансировщиках нагрузки и rate-limiter'ах.
-
Опыт работы с распределёнными системами (микросервисы, service discovery) и с соответствующими инструментами (LXC, Docker, orchestration systems).
Будет плюсом
-
Интерес к анализу, проектированию и решению проблем в масштабных распределенных системах.
-
Умение дебажить и оптимизировать код, автоматизировать рутинные операции.
-
Умение делать CI, build pipeline и собирать Docker-образы, писать Makefile.
-
Вы хорошо знакомы с эксплуатацией микросервисов и работали с системами мониторинга (Prometheus), трейсинга (OpenTracing/OpenTelemetry) и логирования (Graylog).