Senior Java Developer
RemoteWarsaw, Mazowieckie, PolandentryFull-time
- Posted
- today
- Source
- LinkedIn (remote, Europe)
- Field
- Engineering
Skills
PostgreSQLKubernetesDockerRedisCI/CDAgileJavaREST APIsSQLAI
Description
Zakres obowiązków
- Projektowanie, rozwój i utrzymanie aplikacji backendowych w technologii Java.
- Rozwijanie systemów obsługujących rachunki bankowe, lokaty oraz procesy związane z ich otwieraniem, modyfikacją i bieżącą obsługą.
- Projektowanie i rozwój rozwiązań opartych na architekturze mikroserwisowej i heksagonalnej.
- Implementacja integracji między systemami z wykorzystaniem REST, SOAP oraz Apache Kafka.
- Praca z relacyjnymi bazami danych, optymalizacja zapytań SQL oraz wydajności aplikacji.
- Dbanie o jakość kodu, testowalność, niezawodność i bezpieczeństwo rozwijanych rozwiązań.
- Współpraca z analitykami systemowymi i biznesowymi, developerami frontendowymi i backendowymi, testerami oraz Product Ownerem.
- Udział w procesach code review, analizie problemów i optymalizacji wydajności.
- Wykorzystywanie narzędzi AI wspierających proces tworzenia i testowania oprogramowania.
- Udział w ceremoniach Agile, takich jak daily, refinement, planning i retrospective.
Wymagania
- Bardzo dobra znajomość Java 11+.
- Praktyczna znajomość Spring Framework oraz Spring Boot 3.x.
- Doświadczenie w pracy z JPA i Hibernate.
- Znajomość rozwiązań cache’ujących, takich jak Hazelcast lub Redis.
- Doświadczenie w projektowaniu i rozwijaniu systemów opartych na architekturze mikroserwisowej.
- Znajomość architektury heksagonalnej oraz praktyczne wykorzystanie podejścia Domain-Driven Design (DDD).
- Doświadczenie w projektowaniu i implementacji integracji systemowych z wykorzystaniem REST, SOAP i Apache Kafka.
- Bardzo dobra znajomość SQL oraz doświadczenie w pracy z relacyjnymi bazami danych, w szczególności PostgreSQL i/lub Oracle.
- Znajomość wzorców projektowych oraz wzorców integracyjnych.
- Znajomość mechanizmów zapewniania odporności i niezawodności usług w systemach rozproszonych.
- Praktyczna znajomość zasad SOLID, DRY i KISS.
- Umiejętność doboru i implementacji odpowiednich testów oprogramowania.
- Doświadczenie w diagnostyce problemów oraz optymalizacji wydajności aplikacji.
- Znajomość podstawowych narzędzi i procesów CI/CD, w tym Maven, Jenkins, Docker i Kubernetes.
- Umiejętność efektywnego wykorzystywania narzędzi AI w codziennej pracy programisty.
- Ogólna znajomość zagadnień związanych z bankowością i sektorem finansowym.
JobMatch aggregates public listings. Always apply through the original posting.