Lead/Senior Java Developer
- minimum 7 lat doświadczenia w rozwoju aplikacji Java,
- bardzo dobra znajomość Core Java,
- Spring / Spring Framework,
- REST API,
- Microservices,
- event-driven architecture,
- doświadczenie z multithreading / concurrency,
- doświadczenie w budowie systemów rozproszonych i przetwarzających dane w czasie rzeczywistym,
- Kafka lub inne technologie messagingowe / kolejki,
- Docker i Kubernetes,
- SQL,
- znajomość zasad projektowania systemów i System Design,
- dobra znajomość wzorców projektowych i dobrych praktyk,
- bardzo dobra znajomość języka angielskiego,
- umiejętność samodzielnego projektowania rozwiązań dla złożonych problemów.
Mile widziane:
- doświadczenie w Financial Markets,
- doświadczenie w Investment Banking,
- znajomość systemów tradingowych,
- RxJava / Reactive Web Services,
- Oracle / Hazelcast,
- Solace,
- OpenShift / Helm,
- doświadczenie z CI/CD, np. Azure DevOps.
To nie jest typowa rola Java Developera. Poszukiwana jest osoba, która ma doświadczenie w budowie dużych, złożonych systemów backendowych, dobrze rozumie architekturę systemów rozproszonych i potrafi podejmować decyzje projektowe.
W pierwszej kolejności będą rozpatrywane osoby z doświadczeniem w bankowości, instytucjach finansowych lub dużych organizacjach enterprise, szczególnie w obszarze Financial Markets / Investment Banking.
Kandydaci spoza branży finansowej również są brani pod uwagę, jeśli posiadają bardzo mocne doświadczenie w projektach obejmujących distributed systems, event-driven architecture, real-time processing, messaging, multithreading/concurrency oraz system design.
O projekcie
Dołączysz do międzynarodowego projektu z obszaru Financial Markets, którego celem jest rozwój nowoczesnej platformy wspierającej zespoły sprzedażowe i tradingowe.
Projekt jest obecnie na etapie POC i obejmuje budowę nowych komponentów backendowych oraz aplikacji przetwarzających dane transakcyjne w czasie rzeczywistym. Jednym z kluczowych elementów będzie Trade Blotter, odpowiedzialny za pobieranie danych z wielu źródeł, ich agregowanie i udostępnianie frontendowi w czasie rzeczywistym.
Środowisko działa on-premise, z wykorzystaniem Docker i Kubernetes. Zespół pracuje blisko z biznesem i stopniowo przejmuje większą odpowiedzialność za rozwój funkcjonalności, dlatego poza mocnymi kompetencjami technicznymi ważna jest samodzielność, komunikacja i umiejętność współpracy z interesariuszami biznesowymi.