narzędzia AI wspierające programowanie i testowanie.
Forma zatrudnienia:
Szukamy Java Backend Developera na poziomie Mid/Senior do projektu obejmującego tworzenie i rozwój aplikacji udostępniających API katalogu produktów telekomunikacyjnych. Rozwiązania będą rozwijane w oparciu o Java 21+ oraz Spring Boot i wdrażane w środowisku Kubernetes.
Twój zakres obowiązków:
- Projektowanie, implementacja i rozwój REST API oraz logiki biznesowej aplikacji backendowych.
- Tworzenie i rozwijanie aplikacji w Java 21+ z wykorzystaniem Spring Boot i Spring.
- Projektowanie kontraktów API oraz dokumentowanie ich z wykorzystaniem OpenAPI/Swagger.
- Integracja aplikacji z bazami danych i systemami zewnętrznymi, w tym mapowanie i transformacja danych.
- Implementacja walidacji danych, obsługi błędów oraz mechanizmów uwierzytelniania i autoryzacji.
- Tworzenie i utrzymywanie testów jednostkowych i integracyjnych.
- Dbanie o jakość kodu, udział w code review, diagnozowanie problemów i optymalizacja wydajności aplikacji.
- Współpraca z analitykami i architektami przy analizie wymagań oraz projektowaniu rozwiązań.
- Współpraca z zespołem DevOps przy wdrażaniu aplikacji na Kubernetes i diagnozowaniu problemów po wdrożeniu.
- Wykorzystywanie narzędzi AI wspierających projektowanie rozwiązań, implementację oraz testowanie kodu.
Nasze wymagania:
- Praktyczne doświadczenie w tworzeniu aplikacji backendowych w Java oraz znajomość Java 21 lub nowszej.
- Bardzo dobra znajomość Spring Boot i Spring, w tym Spring Security.
- Doświadczenie w projektowaniu i implementacji REST API z wykorzystaniem HTTP/HTTPS, JSON, walidacji danych i obsługi błędów.
- Znajomość OpenAPI/Swagger i dokumentowania kontraktów API.
- Znajomość SQL, relacyjnych baz danych oraz sposobów dostępu do danych z aplikacji Java.
- Znajomość Git i Maven.
- Praktyczna znajomość zabezpieczania API, w tym uwierzytelniania i autoryzacji z wykorzystaniem OAuth2/OIDC oraz JWT.
- Doświadczenie w tworzeniu testów automatycznych, w tym jednostkowych i integracyjnych, z wykorzystaniem JUnit, Mockito lub Testcontainers.
- Znajomość konteneryzacji aplikacji Java i wdrażania ich w środowisku Kubernetes, w tym obrazów kontenerowych, Deployment, Service, ConfigMap, Secret oraz sond gotowości i dostępności.
- Umiejętność weryfikacji wdrożeń i podstawowej diagnostyki aplikacji na Kubernetes, w tym sprawdzania statusu podów i analizy logów.
- Samodzielność w realizacji zadań developerskich oraz umiejętność współpracy z analitykami, architektami i zespołem DevOps.
- Umiejętność wykorzystywania narzędzi AI w pracy nad kodem i testami.
Mile widziane
- Doświadczenie w pracy z katalogami produktów lub systemami z branży telekomunikacyjnej.
- Znajomość komunikacji asynchronicznej i brokerów wiadomości, takich jak Kafka lub RabbitMQ.
- Doświadczenie w pracy z PostgreSQL oraz JPA/Hibernate.
- Doświadczenie w pracy z pipeline’ami CI/CD, np. GitHub Actions lub GitLab CI, oraz repozytoriami artefaktów Nexus lub Artifactory.
- Znajomość narzędzi monitoringu i obserwowalności, takich jak Prometheus, Grafana, ELK, OpenSearch lub OpenTelemetry.
- Doświadczenie w praktycznym wdrażaniu i utrzymywaniu aplikacji w środowisku Kubernetes.
Warunki i benefity
- pracę przy strategicznych i złożonych projektach IT w branży telko,
- współpracę z doświadczonymi zespołami technicznymi i biznesowymi,
- hybrydowy model pracy –2 dni w tygodniu z biura w Warszawie
- pakiet benefitów pozapłacowych,
- stabilne i długoterminowe środowisko współpracy.