Назад к вакансиям

Senior Java разработчик (AppSec.Hub)

Swordfish SecurityГибридот 6 лет5/2Полная занятость
AIPostgreSQLJavaKubernetesDockerMicroservicesRedisClickHouseObservabilityMultithreadingevent-driven architectureMicronautProtocol BuffersAMQP

Описание

Обязанности

  • Проектировать и разрабатывать микросервисы ядра на Java 17 / Micronaut (без Spring)
  • Работать с event-driven-обменом: вся межсервисная связь — через брокер сообщений, async-first, database-per-service, eventual consistency
  • Решать задачи высоконагруженной обработки: многопоточность, неблокирующий I/O, оптимизация под GC и JIT
  • Работать с данными: PostgreSQL (через MyBatis), аналитика на ClickHouse, кэш и read-модели на Redis
  • Закрывать observability (метрики/логи/трейсинг) — сейчас это зона роста в сервисах
  • Активно использовать AI-ассистированную разработку (Claude) — это часть нашего ежедневного процесса
  • Event-driven микросервисы с упором на производительность
  • Ядро: Java 17 + Micronaut (без Spring), встроенный Netty. Лёгкий фреймворк и точечные библиотеки, прямой контроль над потоками, I/O и памятью
  • Обмен: асинхронный, через брокер (LavinMQ / AMQP) — async-first, database-per-service, eventual consistency
  • Данные: PostgreSQL (MyBatis), ClickHouse, Redis
  • Контракты: Protocol Buffers (сообщения) + OpenAPI 3.1 (REST)
  • Эксплуатация: Docker / Kubernetes

Требования

  • Java 17 на уровне платформы; Micronaut 4.x (без навязанной зависимости от Spring)
  • I/O: io / nio / nio2; понимание встроенного HTTP-сервера (Netty)
  • Stream API
  • Многопоточность и concurrency, понимание JMM
  • Понимание JIT и GC, умение диагностировать и оптимизировать
  • GraalVM / native-image
  • Уверенная работа с реляционными БД и понимание, как они устроены изнутри: транзакции и изоляция, индексы, планировщик, пул соединений. Основная PostgreSQL (MySQL / другая реляционка — без разницы, важна модель)
  • MyBatis (поверх JDBC) и миграции (Liquibase)
  • ClickHouse (аналитика / eventstore)
  • Redis (кэш, read-модели CQRS)
  • AMQP: LavinMQ / RabbitMQ — продюсеры/консьюмеры, exchange-типы (direct/topic/fanout)
  • Паттерны надёжности: идемпотентность, at-least-once, ретраи, eventual consistency, backpressure
  • Protocol Buffers (proto3) как сериализация сообщений (не gRPC-RPC)
  • HTTP/1.1 и HTTP/2
  • Docker, Kubernetes
  • Observability: метрики, логи, распределённый трейсинг
  • Vibecoding: промпт-инжиниринг под Claude, использование skills и subagents

Условия

  • Полная занятость
  • График: 5/2
  • Формат работы: удалённо или гибрид или офис

Процесс отбора

  • Обязательное условия отбора: принесите живой, непримитивный проект на Java — будем разбирать его вместе