29 апреля 2025
Динамичная и инновационная компания ищет в свою команду талантливого и целеустремленного Java разработчика.
Основной продукт - передовая платформа, разработанная для оптимизации процесса дарения подарков и повышения удобства работы с ними.
Основная задача:
Разработка и оптимизация высоконагруженной backend-платформы для мобильного приложения по сбору подарков, интеграция с облачными сервисами Яндекса и Amazon, использование Spring Boot для микросервисной архитектуры и Kafka для обмена сообщениями.
Обязанности:
1. Архитектура и проектирование
Разработка микросервисной архитектуры на базе Spring Boot.
Проектирование и реализация высоконадежных и масштабируемых сервисов для сбора и обработки данных о подарках.
2. Разработка и интеграция
Разработка сервисов, связанных с обработкой пользовательских данных, платежей, списков желаемых подарков и пр.
Интеграция с облачными сервисами Яндекса (например, Yandex Object Storage, Yandex Database, Yandex Cloud Functions и др.) и Amazon (AWS S3, AWS EC2, AWS Lambda, API Gateway и пр.).
Настройка и использование брокера сообщений (Kafka) для обмена данными между микросервисами и внешними сервисами.
3. Оптимизация и масштабирование
Оптимизация производительности и пропускной способности backend-платформы под высокие нагрузки.
Проектирование и реализация систем мониторинга и логирования (Elastic Stack, Grafana, Prometheus или аналогичные инструменты).
4. Безопасность и надежность
Обеспечение безопасного взаимодействия между сервисами, аутентификация и авторизация пользователей.
Реализация бэкапов, шифрования и резервирования данных.
5. Поддержка и развитие команды
Проведение код-ревью, наставничество младших разработчиков.
Участие в планировании, оценке задач и сроков, взаимодействие с другими участниками команды (QA, Mobile-разработчики, DevOps-инженеры).
Требования к опыту и навыкам:
1. Опыт коммерческой разработки
5+ лет коммерческой разработки на Java.
Глубокое знание Java 8+ (потоки, сборка мусора, работа с памятью, функциональные возможности).
2. Spring Boot и экосистема Spring
Уверенный опыт разработки RESTful API и микросервисов.
Понимание принципов IoC, AOP, транзакций, работы со Spring Data и Spring Security.
3. Системы обмена сообщениями
Опыт работы с Kafka (настройка брокеров, создание топиков, публикация/подписка сообщений).
Знание шаблонов асинхронного взаимодействия и потоковой обработки данных.
4. Облачные платформы
Опыт разработки и размещения приложений в Yandex Cloud и/или AWS.
Знание основных сервисов: S3-хранилище (Yandex Object Storage/AWS S3), серверless-функции (Yandex Cloud Functions/AWS Lambda), баз данных (Yandex Database, RDS, DynamoDB).
5. Контейнеризация и оркестрация
Опыт работы с Docker (создание Dockerfile, базовые настройки контейнеров).
Приветствуется опыт работы с Kubernetes (развёртывание, конфигурация, мониторинг).
6. Базы данных
Глубокое понимание реляционных (PostgreSQL, MySQL) и нереляционных (MongoDB, Redis) СУБД.
Навыки оптимизации запросов и проектирования структуры БД.
7. Инструменты DevOps
Понимание CI/CD (Jenkins, GitLab CI/CD, TeamCity или другие).
Навыки мониторинга и логирования (Elastic, Kibana, Grafana, Prometheus и т.д.).
8. Практики разработки
Опыт тестирования (JUnit, Testcontainers, интеграционные тесты).
Знание и применение принципов SOLID, DRY, KISS, а также шаблонов проектирования.
Code review, Git-flow, работа с Agile (Scrum/Kanban) или аналогичными методологиями.
9. Soft Skills
Умение выстраивать продуктивную коммуникацию с командой (включая разработчиков, тестировщиков, аналитиков, менеджеров).
Готовность делиться опытом и помогать другим членам команды в решении технических вопросов.
Плюсом будет:
Опыт проектирования распределенных систем.
Опыт работы с высоконагруженными системами (highload).
Участие в open-source проектах или активность на технических форумах.
Сертификация в области AWS, Yandex Cloud,Oracle Java
Условия работы:
Конкурентоспособная заработная плата со своевременными выплатами;
Полностью удаленная работа с гибким графиком 5/2;
Возможность карьерного роста и профессионального развития;
Регулярное взаимодействие с командой опытных разработчиков;
Обеспечение всех необходимых ресурсов и инструментов для комфортной работы;
Программа долевого участия с распределением прибыли компании;
Дружный коллектив, поддержка и наставничество от опытных коллег.