Do zespołu rozwijającego i modernizującego systemy płatnicze poszukujemy doświadczonego Senior Java Developera. Projekt obejmuje rozwój platformy płatniczej opartej o architekturę mikroserwisową i komunikację event driven. Rola łączy development nowych funkcjonalności z odpowiedzialnością za rozwiązanie w całym jego lifecycle, w tym projektowanie, wdrożenia, monitoring oraz wsparcie produkcyjne. Szukamy osoby hands on, która poza własnym developmentem potrafi samodzielnie analizować wymagania, proponować rozwiązania techniczne, współpracować z architektami i wykonywać code review.
Zakres obowiązków
• projektowanie i rozwój mikroserwisów w Java/Spring Boot
• tworzenie nowych oraz rozbudowa istniejących funkcjonalności systemów płatniczych
• praca z komunikacją event driven opartą o Apache Kafka
• analiza wymagań biznesowych i technicznych oraz dekompozycja funkcjonalności na zadania
• współpraca z architektami przy projektowaniu rozwiązań
• udział w całym lifecycle funkcjonalności, od analizy i implementacji po wdrożenie i utrzymanie produkcyjne
• diagnostyka problemów i awarii produkcyjnych oraz analiza root cause
• rozwój monitoringu technicznego i biznesowego, metryk oraz alertów
• tworzenie i rozwój testów automatycznych
• code review i dbanie o jakość kodu
• analiza podatności i dbanie o bezpieczeństwo rozwijanych aplikacji
• tworzenie i aktualizacja dokumentacji technicznej
• współpraca z Biznesem, zespołami developerskimi i utrzymaniowymi
• praca w środowisku Agile/Scrum
Wymagania
• minimum 5 lat komercyjnego doświadczenia w software developmencie
• bardzo dobra znajomość Java, minimum Java 11, preferowana Java 21
• praktyczne doświadczenie ze Spring Boot
• Spring Data JPA i Hibernate
• doświadczenie w projektowaniu i rozwoju systemów mikroserwisowych
• produkcyjne doświadczenie z Apache Kafka
• znajomość zagadnień związanych z komunikacją event driven, np. retry, idempotencja, obsługa błędów, consumery
• REST API
• JUnit 5
• Docker
• Git
• Liquibase
• doświadczenie w troubleshootingu i utrzymaniu aplikacji produkcyjnych
• doświadczenie w pracy z monitoringiem/logami
• umiejętność samodzielnej dekompozycji wymagań oraz projektowania rozwiązań technicznych
• doświadczenie w code review
• świadomość zagadnień związanych z bezpieczeństwem aplikacji i podatnościami
• znajomość Jira i Confluence
• angielski na poziomie umożliwiającym swobodną komunikację w projekcie
Mile widziane
• doświadczenie w systemach bankowych lub płatniczych
• Spring Cloud Stream
• Avro
• doświadczenie w systemach o wysokiej dostępności i dużych wolumenach transakcji