Старший Java-разработчик (AppSec.Hub)
Старший Java-разработчик в Swordfish Security. Опыт от 6 лет. Полная занятость, удаленно/гибридно/в офисе. Основные микросервисы на Java 17, Micronaut, событийно-ориентированная архитектура.
Проектирование и разработка основных микросервисов на Java 17 / Micronaut (без Spring). Работа с событийным обменом: вся межсервисная связь через брокер сообщений, асинхронность в первую очередь, отдельная база данных для каждого сервиса, конечная согласованность. Решение задач высоконагруженной обработки: многопоточность, неблокирующий ввод-вывод, оптимизация GC и JIT. Работа с данными: PostgreSQL (через MyBatis), аналитика на ClickHouse, кэш и read-модели на Redis. Покрытие наблюдаемости (метрики/логи/трассировка) — в настоящее время область роста в сервисах. Активное использование AI-ассистированной разработки (Claude) — часть ежедневного процесса. Основное: Java 17 + Micronaut (без Spring), встроенный Netty. Легковесный фреймворк и целевые библиотеки, прямой контроль над потоками, вводом-выводом и памятью. Обмен: асинхронный, через брокер (LavinMQ / AMQP) — асинхронность в первую очередь, отдельная база данных для каждого сервиса, конечная согласованность. Данные: PostgreSQL (MyBatis), ClickHouse, Redis. Контракты: Protocol Buffers (сообщения) + OpenAPI 3.1 (REST). Операции: Docker / Kubernetes.
Java 17 на уровне платформы; Micronaut 4.x (без жесткой зависимости от Spring). Ввод-вывод: io / nio / nio2; понимание встроенного HTTP-сервера (Netty). Stream API. Многопоточность и конкурентность, понимание JMM. Понимание JIT и GC, способность диагностировать и оптимизировать. GraalVM / native-image. Уверенная работа с реляционными базами данных и понимание их внутреннего устройства: транзакции и изоляция, индексы, планировщик, пул соединений. Основная PostgreSQL (MySQL / другие реляционные — не важно, важна модель). MyBatis (поверх JDBC) и миграции (Liquibase). ClickHouse (аналитика / eventstore). Redis (кэш, CQRS read-модели). AMQP: LavinMQ / RabbitMQ — продюсеры/потребители, типы обменников (direct/topic/fanout). Паттерны надежности: идемпотентность, at-least-once, повторные попытки, конечная согласованность, backpressure. Protocol Buffers (proto3) как сериализация сообщений (не gRPC-RPC). HTTP/1.1 и HTTP/2. Docker, Kubernetes. Наблюдаемость: метрики, логи, распределенная трассировка. Vibe-кодинг: инженерия промптов для Claude, использование навыков и субагентов. Обязательное условие отбора: принести живой, нетривиальный Java-проект — мы проанализируем его вместе.
Не пропусти ни одну вакансию
Подпишись на наш Telegram-канал