Citi
Citi
Citi to globalna firma z sektora bankowości i usług finansowych, obsługująca konsumentów, korporacje, rządy i instytucje. Jej oferta obejmuje bankowość konsumencką, karty kredytowe, zarządzanie majątkiem, bankowość korporacyjną i inwestycyjną, a działalność operacyjna prowadzona jest w ponad 100 krajach. Jako duża międzynarodowa organizacja finansowa Citi łączy zespoły pracujące w obszarach bankowości, usług finansowych i fintechu.

Starszy główny programista mikrousług Java

Kieruj mikrousługami Java i modernizacją integracji z podstawowymi systemami bankowymi w Citi. Prowadź zespoły techniczne pracujące nad niezawodnym przesyłaniem komunikatów, bazami danych i architekturą natywną dla chmury.

Opis

  • Wyznaczać architekturę i kierować tworzeniem integracji z podstawowymi systemami bankowymi oraz nowoczesnego ekosystemu mikrousług.
  • Mentorować programistów, inżynierów backendu i specjalistów ds. integracji.
  • Planować realizację złożonych integracji: od architektury i podziału prac po szacunki, przydział zasobów i priorytety kamieni milowych.
  • Weryfikować kod, pull requesty i projekty architektury.
  • Koordynować współpracę z zespołami biznesowymi, architektury korporacyjnej, baz danych i infrastruktury, bezpieczeństwa informacji oraz dostawcami.
  • Doradzać w sprawach eskalacji, wstępnej analizy incydentów produkcyjnych i badania ich przyczyn źródłowych.
  • Prowadzić spotkania Agile i Scrum wspierające niezawodną realizację.
  • Tworzyć i wdrażać skonteneryzowane mikrousługi Java z użyciem Spring Boot, Spring Cloud oraz API REST lub gRPC.
  • Projektować modele danych i warstwy trwałego przechowywania, optymalizować zapytania i indeksy oraz rozwiązywać problemy z pulami połączeń i blokowaniem wierszy.
  • Tworzyć wysoce dostępne, odporne na awarie integracje z odtwarzaniem po awarii i minimalnym zakłóceniem działalności firmy.
  • Modernizować systemy TIBCO BusinessWorks i IBM MQ za pomocą Apache Kafka oraz natywnych dla chmury mikrousług Java.
  • Łączyć platformy bankowe na potrzeby wykrywania oszustw, systemów płatniczych, rozliczeń i rozrachunków oraz korporacyjnych ksiąg głównych.
  • Stosować podstawowe zabezpieczenia, mechanizmy kontroli audytowej, regulacje finansowe, zasady ochrony danych, zarządzanie certyfikatami i standardy odporności operacyjnej.
  • Zarządzać komunikacją w czasie rzeczywistym przy dużym wolumenie, przepustowością, kolejkami wiadomości niedostarczonych i routingiem z SLA poniżej sekundy.

Wymagania

  • Zaawansowana znajomość Core Java, w tym Java 11, 17 lub 21, wielowątkowości, współbieżności i strojenia JVM.
  • Bardzo dobra praktyczna znajomość Spring Framework, w tym Spring Boot, Spring Cloud, Spring Data, Spring Security i Spring Batch.
  • Dogłębna znajomość wzorców mikrousług, takich jak Saga, CQRS, wyłączniki obwodu i routing API Gateway.
  • Doświadczenie z Dockerem, Kubernetesem i OpenShift.
  • Zaawansowane umiejętności w zakresie Oracle 19c lub nowszej wersji, SQL i PL/SQL, w tym procedur składowanych, funkcji, pakietów i wyzwalaczy.
  • Ekspercka wiedza w zakresie optymalizacji zapytań, analizy planów wykonania, projektowania indeksów, partycjonowania i gromadzenia statystyk.
  • Biegłość w HikariCP, rozwiązywaniu konfliktów o blokady i zakleszczeń oraz znajomość poziomów izolacji transakcji.
  • Znajomość Hibernate i JPA, w tym sposobów unikania antywzorców ORM.
  • Ekspercka znajomość TIBCO BusinessWorks, TIBCO EMS oraz TIBCO Administrator lub TEA.
  • Doświadczenie z IBM MQ i Apache Kafka.
  • Doświadczenie z REST, OpenAPI lub Swagger, SOAP, gRPC, JSON, XML, XSD, WSDL, XPath, XSLT i kanonicznym modelowaniem danych.
  • Znajomość SSL/TLS, mTLS, PKI, OAuth2, OIDC, SAML oraz zarządzania kluczami API lub tokenami.
  • Doświadczenie z Git, Maven, Gradle, Harness, TeamCity, Jenkins i uDeploy.
  • Doświadczenie ze Splunk, AppDynamics, Dynatrace, Prometheus, Grafana, Micrometer i śledzeniem rozproszonym.
  • Doświadczenie z TDD, BDD, JUnit 5, Mockito, Testcontainers, Spring Boot Test, Pact, Spring Cloud Contract, JMeter, Gatling, SonarQube i Checkstyle.
  • Dogłębna wiedza ekspercka z zakresu architektury integracyjnej w bankowości i usługach finansowych.
  • Doświadczenie z wykrywaniem oszustw, systemami płatniczymi, księgowością księgi głównej oraz systemami przetwarzania transakcji lub operacji handlowych.
  • Znajomość przepływów transakcyjnych, STP, dostarczania dokładnie jeden raz, idempotencji i odporności komunikacji przy dużym wolumenie.
  • Znajomość regulacji bankowych, gotowości audytowej, odporności operacyjnej i ram ochrony danych.
  • Udokumentowana umiejętność kierowania zespołami technicznymi, mentoringu i zarządzania nimi.
  • Udokumentowana umiejętność zarządzania realizacją od początku do końca, mapami drogowymi architektury, zakresem, porządkowaniem backlogu, szacowaniem i ustalaniem priorytetów.
  • Umiejętności zarządzania relacjami z interesariuszami, komunikacji technicznej i prezentacji, pracy w Agile, Scrum lub Kanban, planowania sprintów i nadzoru nad wydaniami.

Benefity

  • Równe szanse zatrudnienia.
  • Racjonalne usprawnienia dla osób z niepełnosprawnościami.
  • Wsparcie dostępności w procesie ubiegania się o pracę.