Poszukujemy Java Developera, który dołączyłby do zespołu projektowego jednego z naszych klientów.
responsibilities :
Udział we wszystkich aspektach rozwoju oprogramowania, w tym analizie wykonalności wymagań, projektowaniu oraz implementacji oprogramowania zgodnie z założeniami architektonicznymi wypracowanymi w dotychczasowej realizacji systemu.
Wyszukiwanie rozwiązań problemów oraz gotowego oprogramowania Open Source spełniającego potrzebne funkcje.
Pisanie i dokumentowanie kodu źródłowego.
Przeprowadzanie code review oraz refaktoryzacji kodu.
Przygotowywanie i wykonywanie testów jednostkowych oraz integracyjnych.
Usuwanie błędów w oprogramowaniu oraz optymalizacja oprogramowania pod kątem wydajności i dostępności.
Dbanie o wysoką jakość wytwarzanych rozwiązań.
Zapewnianie spójności z elementami systemu tworzonymi przez innych członków zespołu.
Wyszukiwanie oraz zapoznawanie się z nowymi narzędziami i technologiami potrzebnymi do realizacji wymagań.
Tworzenie dokumentacji, w tym API, dokumentacji technicznej oraz dokumentacji kodu.
Bieżąca współpraca z pozostałymi członkami zespołu oraz udział w spotkaniach.
requirements-expected :
Min. 3 lata doświadczenia w programowaniu aplikacji w Java (wersja 11 lub wyższa).
Co najmniej 1 rok doświadczenia w programowaniu z użyciem Spring Cloud, Spring Framework, Spring Boot.
Zrealizowane co najmniej 2 projekty, w których w każdym stosowano architekturę mikroserwisową oraz interfejsy API REST.
Zaawansowaną znajomość relacyjnych baz danych oraz silnika PostgreSQL.
Praktyczną znajomość i doświadczenie w realizacji oprogramowania z wykorzystaniem technologii: Elasticsearch, protokół Amazon S3, RabbitMQ, Hazelcast, Kubernetes, MongoDB.
Umiejętność pisania testów jednostkowych oraz integracyjnych.
Umiejętności w zakresie Object Oriented Programing, Test Driven Development, Refactoring.
Umiejętności w zakresie procesów CI/CD oraz narzędzi: Jenkins, Maven, SonarQube, Liquibase, Hibernate / JPA, JUnit, Spock Framework, Swagger.
Znajomość notacji UML.
Umiejętność korzystania z systemu kontroli wersji Git.
Znajomość języka angielskiego w stopniu umożliwiającym swobodne posługiwanie się dokumentacją techniczną w tym języku.
Znajomość języka polskiego umożliwiająca swobodną komunikację w zakresie technicznym.