Ведущий Go-разработчик, Группа разработки хранилища логов

Ozon

Ведущий Go-разработчик, Группа разработки хранилища логов

Описание вакансии

Привет! Это команда разработки хранилища логов, занимаемся разработкой seq-db - базы данных, отвечающей за хранение и обработку большинства логов и трейсов в Озоне. Суммарно храним > 1Пб данных различных систем Озона, в сутки обрабатываем более 130 млрд логов. seq-db появилась как замена elasticsearch для задач телеметрии около 5 лет назад, и у нас на неё большие планы, в том числе выход в опенсорс. Мы отвечаем за важную часть инфраструктуры Озона, поэтому стабильность системы мы ценим больше новых фич, а код тщательно проверяем и тестируем перед любой выкаткой.

Ищем ведущего разработчика с опытом в инфраструктурной разработке, который будет поддерживать, улучшать и развивать seq-db.

Наш стэк

  • Golang, k8s, Grafana, Prometheus, qbec

Вы будете

  • Отвечать за полный цикл разработки фичей: от идеи до выкатки в прод. Примеры таких проектов сейчас: выгрузка и чтение данных в/из s3, отложенные (или асинхронные) запросы.
  • Писать пропоузалы и защищать их перед командой и руководством.
  • Разрабатывать и дорабатывать различную функциональность в seq-db.
  • Оптимизировать узкие места по производительности, искать и исправлять боттлнеки.
  • Фиксить техдолг, участвовать в дежурствах, ревьюить код.

Нам важно

  • Знание внутрянки и умение писать на одном из ЯП: Go/C++/Java (Пишем мы в основном на Go).
  • Опыт разработки высоконагруженных отказоустойчивых систем. (В идеале: опыт в инфраструктурной команде).
  • Базовый опыт работы с k8s.
  • Знание, что такое statefulset и deployment, уметь осознавать из-за чего порестартился под и смотреть на каком сервере он крутится.
  • Умение разбираться в новой кодовой базе, дебажить, профилировать, оптимизировать код, искать и исправлять узкие места. Идеально: знать на что смотреть на профилях, уметь в нужный момент заюзать perf, strace, для того, чтобы осознать что именно идёт не так.
  • Понимание архитектуры, принципов работы и механизмов Linux (управление процессами, файловые системы, сетевой стек). Знать, чем поток отличается от процессса, что такое файловый дескриптор и зачем нужно разделение на kernel space и user space.
  • Знание асимптотики и базовой реализации основных структур данных.
  • Умение применять на практике алгоритмические знания, и оценивать производительность реализованных решений. Идеально: хорошо знать устройство структур данных, используемых в базах данных (B-деревья, bloom фильтры, хеш таблицы и тд). На интервью в деревья переворачивать не будем, но про алгоритмы пообщаемся.
  • Умение работать с многопоточным кодом, понимание того, чем мьютекс отличается от спинлока, в чем разница между параллелизмом и конкуррентностью;
  • Знание английского на уровне, достаточном, чтобы письменно общаться, писать документацию в публичном пространстве. Идеально: опыт участия в open source разработке.

Будет плюсом

  • Опыт разработки SQL/NoSQL/NewSQL баз данных, или знание в устройства хотя бы одной современной СУБД. Если нет опыта - не страшно, но мы поймём что вам интересно с нами общаться, если почитаете про это перед собеседованием.
Навыки
  • IT
  • Разработка платформы
  • Golang
  • Kubernetes
  • Grafana
  • Prometheus
  • qbec
Посмотреть контакты работодателя

Похожие вакансии

Ozon
  • Москва

  • Не указана

Рекомендуем
Ozon
  • Москва

  • Не указана

Рекомендуем
VK
  • Москва

  • Не указана

Открытая мобильная платформа

Senior Golang developer

Открытая мобильная платформа

  • Москва

  • Не указана

Рыбаков Артем Владимирович

Backend Developer — Go / PostgreSQL

Рыбаков Артем Владимирович

  • Москва

  • до 5000 USD

Серверные Технологии

Разработчик GO (Senior)

Серверные Технологии

  • Москва

  • до 6000 USD

Positive Technologies
  • Москва

  • до 6000 USD

Хотите оставить вакансию?

Заполните форму и найдите сотрудника всего за несколько минут.
Оставить вакансию