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 — будем разбирать его вместе