на главную
habr•23 ч. назадСвежая вакансияОпубликована сегодня на Хабр Карьера. Свежая — до 5 дней, умеренная — 6–14 дней, долгая — от 15 дней. Дата берётся с сайта-источника.

Backend-инженер (базы данных и потоковые данные)

Удалённо

Навыки и технологии

GitLab CI/CDRustC++GoNATSKubernetesPythonRabbitMQPostgreSQLDockerJavaClickHouse

Ключевая задача

Разработка и развитие систем хранения и обработки потоковых данных телеметрии на PostgreSQL, ClickHouse и Go для платформы мониторинга транспорта.

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

О компании

Мы разрабатываем системы мониторинга и управления транспортом. Каждую секунду к нам поступают тысячи событий от устройств: их нужно быстро принять, корректно сохранить и отдать в аналитику.

Обязанности

  • Проектировать и развивать хранилища данных на PostgreSQL и ClickHouse, обеспечивая высокую нагрузку на запись и чтение.
  • Обеспечивать приём и обработку непрерывных потоков телеметрии: настраивать буферизацию, дедупликацию, корректно работать с опоздавшими событиями.
  • Оптимизировать запросы и схемы данных: искать узкие места и устранять их, опираясь на метрики и профилирование.
  • Разрабатывать и поддерживать сервисы (основной язык стека — Go).
  • Участвовать в архитектурных решениях и проводить код-ревью.
  • Работать с ИИ-агентами (Claude Code, OpenCode, Pi и аналоги), используя их как основной инструмент для ускорения разработки.

Требования

Базы данных и эффективность (Главное)

  • Глубокое знание PostgreSQL: уверенное чтение планов запросов (EXPLAIN ANALYZE), понимание работы индексов, партиционирования, MVCC, vacuum и блокировок.
  • Опыт работы с колоночными СУБД (в идеале ClickHouse): понимание движков MergeTree, ключей сортировки и партиционирования, материализованных представлений, пакетной вставки.
  • Умение проектировать модель данных от сценариев чтения: разделение на «горячие» и исторические данные, предагрегация, управление сроками хранения (TTL).
  • Привычка измерять всё: профилирование, нагрузочное тестирование, принятие решений на основе цифр.

Потоковые данные

  • Опыт обработки непрерывных потоков событий (телеметрия, логи, IoT, трекинг, платежи и т.д.).
  • Понимание и опыт решения типовых проблем стриминга: события не по порядку, дубли и идемпотентность, backpressure, батчинг, восстановление после сбоя.
  • Опыт работы с брокерами сообщений: Kafka, NATS, RabbitMQ или аналоги.

Архитектура и эксплуатация

  • Умение разложить систему на сервисы и грамотно обосновать компромиссы (консистентность vs задержка, стоимость хранения vs скорость запросов).
  • Опыт эксплуатации своего кода в продакшене: настройка метрик, логов, самостоятельный разбор инцидентов.

!! ИИ-инструменты

  • Готовность к ежедневной работе с агентными ИИ-инструментами (Claude Code, OpenCode, Pi и др.).
  • Умение ставить агенту задачу с нужным контекстом, критически проверять результат и нести полную ответственность за сгенерированный код как за свой собственный.

🌟 Будет большим плюсом

  • Опыт коммерческой разработки на Go: понимание горутин и каналов, работа с pprof, построение микросервисов.
  • Опыт работы с геоданными: PostGIS, геоиндексы, построение треков.
  • Знание Kubernetes, Docker, настройка CI/CD.
  • Опыт миграции или масштабирования хранилища без остановки сервиса (zero-downtime).