
Citi — глобальная банковская и финансовая компания, обслуживающая частных клиентов, корпорации, правительства и учреждения. Её услуги охватывают розничный банкинг, кредитные карты, управление благосостоянием, корпоративный и инвестиционный банкинг; деятельность компании ведётся более чем в 100 странах. Как крупная международная финансовая организация, Citi объединяет команды, работающие в сферах банковского дела, финансовых услуг и финтеха.
Ведущий старший разработчик Java-микросервисов
Руководите разработкой Java-микросервисов и модернизацией интеграций с основными банковскими системами в Citi. Координируйте технические команды, работающие с отказоустойчивыми сообщениями, базами данных и облачной архитектурой.
Описание
- Определять архитектуру и руководить разработкой интеграций с основными банковскими системами и современной экосистемы микросервисов.
- Наставлять разработчиков, инженеров серверной части и специалистов по интеграции.
- Планировать поставку сложных интеграций: от архитектуры и декомпозиции работ до оценки сроков, распределения ресурсов и определения приоритетов этапов.
- Проверять код, запросы на слияние и архитектурные решения.
- Взаимодействовать с бизнес-командами, подразделением корпоративной архитектуры, командами баз данных и инфраструктуры, информационной безопасности и поставщиками.
- Консультировать по эскалациям, разбору производственных инцидентов и расследованию их первопричин.
- Проводить мероприятия Agile и Scrum для обеспечения надежной поставки.
- Разрабатывать и развертывать контейнеризированные микросервисы Java с использованием Spring Boot, Spring Cloud и API REST или gRPC.
- Проектировать модели данных и уровни хранения, оптимизировать запросы и индексы, устранять проблемы пулов соединений и блокировок строк.
- Создавать высокодоступные, отказоустойчивые интеграции с аварийным восстановлением и минимальным влиянием на бизнес.
- Модернизировать системы TIBCO BusinessWorks и IBM MQ с помощью Apache Kafka и облачных микросервисов Java.
- Интегрировать банковские платформы для выявления мошенничества, платежных систем, клиринга и расчетов, а также корпоративных главных книг.
- Применять базовые меры безопасности, средства аудита, финансовые нормативные требования, правила защиты данных, управление сертификатами и стандарты операционной устойчивости.
- Управлять обменом сообщениями в реальном времени с высокой нагрузкой, пропускной способностью, очередями недоставленных сообщений и маршрутизацией с SLA менее секунды.
Требования
- Продвинутые знания Core Java, включая Java 11, 17 или 21, многопоточность, конкурентность и настройку JVM.
- Уверенное практическое знание Spring Framework, включая Spring Boot, Spring Cloud, Spring Data, Spring Security и Spring Batch.
- Глубокое понимание шаблонов микросервисной архитектуры, таких как Saga, CQRS, автоматические выключатели и маршрутизация через API Gateway.
- Опыт работы с Docker, Kubernetes и OpenShift.
- Продвинутые навыки работы с Oracle 19c или новее, SQL и PL/SQL, включая хранимые процедуры, функции, пакеты и триггеры.
- Экспертные знания оптимизации запросов, анализа планов выполнения, проектирования индексов, секционирования и сбора статистики.
- Уверенное владение HikariCP, разрешением конфликтов блокировок и взаимных блокировок, уровнями изоляции транзакций.
- Знание Hibernate и JPA, включая способы предотвращения антипаттернов ORM.
- Экспертные знания TIBCO BusinessWorks, TIBCO EMS и TIBCO Administrator или TEA.
- Опыт работы с IBM MQ и Apache Kafka.
- Опыт работы с REST, OpenAPI или Swagger, SOAP, gRPC, JSON, XML, XSD, WSDL, XPath, XSLT и каноническим моделированием данных.
- Знание SSL/TLS, mTLS, PKI, OAuth2, OIDC, SAML, а также управления ключами API или токенами.
- Опыт работы с Git, Maven, Gradle, Harness, TeamCity, Jenkins и uDeploy.
- Опыт работы со Splunk, AppDynamics, Dynatrace, Prometheus, Grafana, Micrometer и распределенной трассировкой.
- Опыт применения TDD, BDD, JUnit 5, Mockito, Testcontainers, Spring Boot Test, Pact, Spring Cloud Contract, JMeter, Gatling, SonarQube и Checkstyle.
- Глубокая экспертиза в проектировании интеграций для банковского и финансового секторов.
- Опыт работы с выявлением мошенничества, платежными системами, учетом по основным банковским счетам и системами обработки сделок или транзакций.
- Знание транзакционных потоков, STP, доставки с гарантией ровно один раз, идемпотентности и обеспечения отказоустойчивости обмена сообщениями с высокой нагрузкой.
- Знакомство с банковскими нормативными требованиями, готовностью к аудиту, операционной устойчивостью и системами защиты данных.
- Подтвержденные способности руководить техническими командами, наставлять и управлять ими.
- Подтвержденная способность управлять поставкой на всех этапах, архитектурными дорожными картами, объемом работ, ведением бэклога, оценкой и расстановкой приоритетов.
- Навыки управления заинтересованными сторонами, технической коммуникации и презентации, Agile, Scrum или Kanban, планирования спринтов и контроля выпуска.
Преимущества
- Равные возможности при трудоустройстве.
- Разумные условия для людей с инвалидностью.
- Поддержка доступности при подаче заявок на карьерные возможности.