Senior Java разработчик

Remote work

Описание вакансии

Мы создаем сервис обеспечения надёжности бизнес процессов в составе PaaS-платформы Банка - Platform V
Цель - дать клиенту простой и эффективный способ повторения и периодического исполнения отложенных заданий - интеграционных взаимодействия в рамках бизнес процесса приложения написанного на платформе.
Продукт широко используется в СберБанке в рамках инсталляции Сбербанк Online. Более миллиарда отложенных заданий в рамках обеспечения работоспособности сервисов Сбербанк онлайн исполняются нашим сервисом в год. В дальнейшем планируется выход на новые рынки.

Как у нас все устроено:

Продукт имеет микросервисную архитектуру. Микросервисы упакованы в Docker-контейнеры и оркестрируются при помощи Kubernetes/OpenShift. Сервисы пишем с применением Spring/Spring Boot инфраструктуры. Взаимодействие с нашим сервисом осуществляется с применением предоставляемого для конечного потребителя SDK. SDK взаимодействует с сервисом на базе протокола основанного на HTTP/json. Для взаимодействия сервисов используем Istio Service Mesh, SDK других сервисов платформы и OpenAPI спецификации. Все взаимодействия с внешними сервисами закрыты TLS/mTLS и основаны на архитектуре PKI. Данные храним в PostgreSQL / Oracle, для миграции измененений применяем LiquiBase, а работаем с БД в коде на основе чистого SQL.
Мы серьезно относимся к unit и интеграционным тестам, поэтому поддерживаем высокий процент покрытия кода тестами. На постоянной основе осуществляются проверки Sonar и средств статического анализа безопасности исходного кода.
Изменения исходного кода проходит Code Review, в команде приветствуется конструктивная критика и обмен опытом/знаниями.
Нагрузка на сервис постоянно растет, поэтому перед нами возникают новые, интересные задачи обеспечения отказоустойчивости, выполнения SLA, оптимизации процессов и операций.

Обязанности

Участие в разработке архитектуры сервисов;
Декомпозиция и анализ задач;
Реализация новой функциональности и поддержка существующей;
Участие в проработке и принятии технологических решений по реализации продуктов;
Участие в оценке задач;
Проведение Code Review;
Участие в разборе инцидентов;
Предоставление технических консультаций по продукту.

Расположение
Remote work
Тип работы
Java
Номер вакансии
VR-68005
Язык
English: B1 Intermediate

Требования к кандидату

Обязательные требования

Опыт коммерческой разработки на java 11+;
Знание Spring Framework 5.* (Core / Web / AOP / Data / Cache), Spring Boot 2.4;
OpenAPI 3;
JUnit или TestNG, Mockito;
SQL
Опыт работы с PostgreSQL/Oracle и системами миграции БД: LiquiBase;
Опыт работы с Docker, Kubernetes/OpenShift
Знание и понимание SOLID принципов, паттернов проектирования, алгоритмов и структур данных;
Понимание принципов построения REST API
Опыт разработки высоконагруженных web-проектов;
Понимание методологии гибкой разработки (Agile);
Английский - достаточный для чтения и понимания технической документации;
Опыт работы с инструментами разработки Maven, Git, IDEA.

Желательные требования

понимание и опыт взаимодействия с системами обработки сообщений Kafka/MQ;
Знакомство с DevOps-практиками и инструментами (Jenkins);
Опыт разработки манифестов Docker, Kubernetes/OpenShift;
Опыт разработки Jinja шаблонов, работа с Ansible;
Разработка и отладка bash скриптом, знание Linux, владение инструментами командной строки;
Опыт работы и настройки манифестов Istio Service Mesh;
Понимание организации tls/mtls соединения, использование для этой цели сертификатов и инфраструктуры PKI.

Работа у нас — это

Команда профессионалов, готовых поддержать ваши инициативы

Возможность работы с новыми технологиями

Возможности карьерного роста

Обучение за счёт компании

Красивый и комфортный офиc

Гибкий график

ДМС

Мощное железо и дополнительное оборудование