Senior Java разработчик (AppSec.Hub)
Описание
Ищем инженера, который понимает платформу на уровне JVM, а не только аннотации фреймворка. AppSec.Hub — enterprise-платформа класса ASPM/ASOC: оркестрация сканеров безопасности (SAST/DAST/SCA и др.), дедупликация и приоритизация уязвимостей по всему конвейеру разработки. Продукт компании Appsec Solutions. Чем предстоит заниматься: Проектировать и разрабатывать микросервисы ядра на 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: 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. Обязательное условия отбора: принесите живой, непримитивный проект на Java — будем разбирать его вместе. Что мы предлагаем: Конкурентоспособный уровень вознаграждения (обсуждается с успешным кандидатом); Работа в сильной динамичной команде; Удаленка (на территории РФ), гибрид или офис - на ваш вкус; ДМС со стоматологией после успешного прохождения испытательного срока.