Netwrk

Senior Java Developer

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • Более 6 лет
  • Java
  • Spring Boot
  • Yandex Cloud
  • AWS
  • Kafka
  • Elastic Stack
  • Grafana
  • Prometheus
  • RESTful API
  • Микросервисы
  • Spring Data
  • Spring Security
  • Docker
  • Kubernetes
  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • CI/CD
  • Agile
  • highload

Динамичная и инновационная компания ищет в свою команду талантливого и целеустремленного 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;

• Возможность карьерного роста и профессионального развития;

• Регулярное взаимодействие с командой опытных разработчиков;

• Обеспечение всех необходимых ресурсов и инструментов для комфортной работы;

• Программа долевого участия с распределением прибыли компании;

• Дружный коллектив, поддержка и наставничество от опытных коллег.