Dołączysz do zespołu rozwijającego i modernizującego platformę wspierającą procesy związane z obsługą funduszy inwestycyjnych.
Projekt polega na stopniowej migracji istniejącego systemu do nowego rozwiązania opartego na Java i Spring Boot. Pracujemy etapami — obecnie realizowany jest POC obejmujący nowy backend z adapterem do systemu legacy, a w kolejnych etapach logika biznesowa będzie sukcesywnie przenoszona do nowego rozwiązania.
W ramach projektu rozwijane są również nowe funkcjonalności, a istniejące rozwiązania są stopniowo modernizowane i dostosowywane do nowej architektury. Nowe komponenty są weryfikowane pod kątem poprawności działania, bezpieczeństwa, skalowalności i wydajności.
Praca obejmuje cały cykl wytwarzania oprogramowania — od analizy i projektowania rozwiązań, przez implementację i testowanie, po integrację z systemami oraz deployment.
Istotnym elementem projektu jest budowa nowej wersji systemu, a nie wyłącznie utrzymanie istniejącego rozwiązania. Zespół ma realny wpływ na kształt tworzonych rozwiązań — od ich projektowania i proponowania, po weryfikację w praktyce, m.in. pod kątem wydajności, skalowalności i poprawności działania.
Na co dzień będziesz pracować m.in. z Java 21, Spring Boot, Gradle 8, PL/SQL/Oracle, Liquibase, Spock, OpenAPI Generator, OpenShift, Jenkins, Bitbucket, SonarQube, UNIX/Linux, Bash, Jira, Confluence, Red Hat Data Grid/Infinispan, TCP/Sockets.
Projekt jest długoterminowy i zakłada kolejne etapy rozwoju oraz modernizacji platformy, dając możliwość pracy zarówno nad nowymi rozwiązaniami, jak i wymagającymi aspektami transformacji istniejącego systemu.
Lokalizacja: Kraków, praca hybrydowa (2 razy w tygodniu praca z biura).
Twoje zadania
Rozwój backendu w Java / Spring Boot oraz stopniowa migracja i modernizacja istniejących funkcjonalności.
Tworzenie adapterów oraz integracja nowego rozwiązania z istniejącym systemem.
Stopniowe przenoszenie logiki biznesowej do nowej architektury.
Rozwiązywanie problemów związanych ze współbieżnością — obsługą równoległych żądań, synchronizacją dostępu do sesji i połączeń oraz zapewnieniem poprawnego wykonywania operacji.
Rozwiązywanie problemów związanych z działaniem aplikacji w środowisku rozproszonym i wieloinstancyjnym środowisku OpenShift.
Dbanie o skalowalność aplikacji oraz prawidłowe kierowanie ruchu pomiędzy instancjami.
Performance tuning — profilowanie aplikacji, testy obciążeniowe, optymalizacja komunikacji ze starym backendem oraz optymalizacja działania aplikacji i JVM.
Tworzenie testów jednostkowych i komponentowych.
Tworzenie i rozwijanie pipeline’ów Jenkins oraz udział we wdrożeniach na OpenShift.
Samodzielna analiza i rozwiązywanie problemów pojawiających się na środowiskach.
Współpraca z zespołem QA, frontend developerem oraz pozostałymi osobami zaangażowanymi w projekt.
Wymagania
Minimum 4 lata doświadczenia komercyjnego w tworzeniu aplikacji backendowych w Javie.
Bardzo dobra znajomość Java i Spring Boot.
Doświadczenie w projektowaniu i rozwijaniu aplikacji backendowych.
Doświadczenie w integracji systemów oraz pracy z systemami legacy.
Doświadczenie w analizowaniu i rozwiązywaniu problemów związanych ze współbieżnością.
Doświadczenie w optymalizacji wydajności aplikacji i rozwiązywaniu problemów performance.
Doświadczenie w pracy z bazami danych, szczególnie Oracle/PL/SQL.
Doświadczenie w pracy ze środowiskami rozproszonymi i architekturą mikroserwisową.
Praktyczna znajomość CI/CD oraz pracy z aplikacjami uruchamianymi w środowiskach konteneryzowanych.
Znajomość języka angielskiego na poziomie min. B2.
Znajomość języka polskiego na poziomie min. B2.
Dlaczego warto
Długoterminowy projekt obejmujący wieloetapową modernizację dużej platformy.
Realny wpływ na kształt nowej architektury — od projektowania i proponowania rozwiązań po ich praktyczną weryfikację.
Złożone zagadnienia backendowe wykraczające poza tworzenie endpointów w Spring Boot — m.in. współbieżność, synchronizacja, zarządzanie sesjami i połączeniami oraz obsługa równoległych requestów.
Praca w środowisku rozproszonym — OpenShift, wiele instancji aplikacji, skalowanie oraz diagnozowanie problemów.
Rozwój poza samą Javą — samodzielne tworzenie i rozwijanie pipeline’ów Jenkinsowych oraz udział we wdrożeniach na OpenShift, z możliwością zdobywania praktycznego doświadczenia w CI/CD i automatyzacji.
Dołącz do zespołu, który rozwija nowoczesną aplikację mobilną wykorzystywaną przez miliony użytkowników na całym świecie, mając realny wpływ na jej rozwój, decyzje techniczne i migrację do React Native.
Dołącz do j‑labs i buduj niezawodne systemy wspierające logistykę lądową w Europie, mając realny wpływ na architekturę, integracje i rozwój krytycznych procesów biznesowych.