Привет! Я Никита Щавелев, тимлид команды разработки продукта «Единый клиент». Ищу человека, который присоединится к нашей команде и поможет в дальнейшем развитии нашего флагманского решения.
«Единый клиент» — это коробочное решение класса клиентский MDM. Он собирает имеющиеся разрозненные записи о клиентах в IT-системах компании, стандартизирует их и объединяет одинаковые. Так компания получает эталонную базу клиентов. «Единый клиент» — высоконагруженная система (сотни комплексных бизнес-запросов в секунду), которая работает с больших объемами данных.
Технический стек:
• Java 21
• Spring-boot как основа проекта (mvc, security, undertow, …)
• Apache Lucene - поисковый движок
• PostgreSQL/Oracle + Flyway
• SOAP/REST интерфейсы, а также брокеры на любой вкус (Kafka, RabbitMQ, ActiveMQ)
100% собственная разработка HFLabs, 0% «индусского» кода. Никакой бизнес-логики в БД.
С тобой в команде будут аналитики, тестировщики (и их много!), а твои коллеги-разработчики в среднем работают в компании уже около 4х лет.
дорабатывать решение: расширять модель данных, бизнес-логику и веб-сервисы приложения, модифицировать структуру БД;
разбираться с ошибками с прод-контуров клиентов;
понимать, почему вчера приложение радостно съело 40гб памяти и как умерить его аппетиты
работать с запросами аналитиков и тестировщиков.
Какие нерутинные задачи у нас бывают:
переобработать 100 миллионов физлиц по сложной бизнес-логике так, чтобы переобработка шла не больше 4 часов;
реализовать REST-сервис для интеграции, который будет держать 100 запросов в секунду даже на "таком себе железе";
придумать тестовый фреймворк под новый функционал.
Кто наш кандидат:
имеет опыт коммерческой разработки на Java не меньше четырех лет (с упором на Backend);
знаком со Spring;
знает, что такое профайлер и не пугается слов Sampling, Thread Dump, Heap Dump и Bottleneck;
кроме wait(), notify() и syncronized знает, что есть ещё Barrier, CountDownLatch, BlockingQueue и многое другое;
сходу расскажет, чем отличается LEFT JOIN от RIGHT JOIN;
увидев документацию к библиотеке на английском, читает её, а не запихивает в онлайн-переводчик;
стремится писать код понятным и красивым;
не боится вынуть душу из постановщика задачи, если что-то непонятно. Если видит как сделать лучше — предлагает;
любит тестировщиков, от багов не отпинывается;
не боится приносить в команду новые практики и бороться с legacy;
работал/пробовал/хотел бы попробовать AI-инструменты
(мы не стремимся к тому, чтобы код за нас писали агенты, но в ряде задач их помощь бывает крайне полезной).