NoFluffJobs Praca zdalna Senior

Senior Backend Developer (F/M) – Java

drEryk S.A.

⚲ Remote

18 000 - 24 000 PLN (PERMANENT)

Wymagania

  • Java
  • Spring
  • Hibernate
  • SQL
  • PostgreSQL
  • DDD
  • Microservices
  • JUnit
  • Spock
  • Docker (nice to have)
  • Kubernetes (nice to have)
  • CQRS (nice to have)
  • AWS (nice to have)
  • Continous delivery (nice to have)
  • React (nice to have)
  • TypeScript (nice to have)
  • Scrum (nice to have)

Opis stanowiska

O projekcie:
Tworzymy produkty dla branży medycznej, z których korzystają tysiące lekarzy i personelu medycznego w całej Polsce. Szukamy kolejnego członka zespołu rozwijającego system w modelu SaaS, który ma realny wpływ na ich codzienną pracę.

Rozwijamy system w kilku zespołach Scrumowych, z naciskiem na jakość, przewidywalność i ciągłe dostarczanie wartości. Pracujemy w architekturze mikroserwisowej, wykorzystując podejście Domain Driven Design. System obsługuje złożone procesy medyczne i integruje się z wieloma systemami zewnętrznymi. Dużą wagę przykładamy do tego, aby dostarczane rozwiązania realnie działały u użytkowników i odpowiadały na ich potrzeby.

Chcesz mieć wpływ na to, co robisz? Chcesz brać odpowiedzialność za rozwiązania i współtworzyć produkt, z którego korzystają ludzie, których znasz?

Co oferujemy?
- Realny wpływ na rozwój produktu usprawniającego codzienną pracę lekarzy oraz personelu medycznego; - Faktyczną decyzyjność w zakresie rozwiązań technicznych i architektury systemu,- Sprawczość w zakresie realizacji zadań (narzędzia, podejście, implementacja); - Pracę w środowisku stawiającym na jakość kodu i pragmatyczne podejście do procesu,- Możliwość rozwoju zawodowego – szkolenia, konferencje.

Wymagania:
Szukamy osoby, która:
- Ma minimum 6 lat doświadczenia w tworzeniu aplikacji webowych z użyciem języka Java lub 2 lata na stanowisku seniora; - Potrafi samodzielnie zaprojektować rozwiązanie dla złożonego problemu i rozbić je na etapy realizacji; - Rozumie kontekst biznesowy rozwiązań i bierze odpowiedzialność za ich działanie w praktyce (nie tylko za implementację); - Nie ogranicza się do realizacji zadań – interesuje się tym, czy rozwiązanie spełnia potrzeby użytkownika; - Aktywnie identyfikuje problemy, proponuje rozwiązania i usprawnienia; - Rozumie praktyki efektywnego wytwarzania oprogramowania (np. trunk-based development, Continuous Delivery) i chce je rozwijać w praktyce; - Jasno się komunikuje i potrafi uzasadniać decyzje techniczne; - Potrafi wspierać innych członków zespołu, dzielić się wiedzą i pomagać w podejmowaniu decyzji technicznych; - Projektuje rozwiązania z myślą o utrzymywalności i rozwoju systemu; - Ma praktyczne doświadczenie w pracy z Domain Driven Design (DDD).
Wymagania techniczne:
- Bardzo dobra znajomość języka Java (11+); - Doświadczenie w pracy z Hibernate; - Doświadczenie w pracy z frameworkiem Spring (zarządzanie kontekstem aplikacji, DI, integracja modułów); - Dobra znajomość SQL (najlepiej w kontekście PostgreSQL); - Doświadczenie w pisaniu testów (np. Spock, JUnit); - Doświadczenie w projektowaniu systemów rozproszonych (architektura mikroserwisowa); - Umiejętność projektowania czytelnego i utrzymywalnego kodu.
Mile widziane:
- Wykształcenie wyższe techniczne (preferowane informatyczne); - Podstawowa znajomość technologii frontendowych (React, TypeScript); - Doświadczenie z CQRS; - Znajomość Dockera, Kubernetesa; - Podstawowa znajomość usług chmurowych (np. AWS); - Doświadczenie z Continuous Delivery; - Znajomość metodologii Scrum.

Codzienne zadania:
- Projektowanie i implementację funkcjonalności;
- Modelowanie domeny i pracę z danymi;
- Integracje z systemami zewnętrznymi;
- Analizę i rozwiązywanie problemów technicznych;
- Dbanie o jakość kodu (code review, testy);
- Aktywny udział w decyzjach technicznych;
- Wspieranie zespołu w podejmowaniu decyzji technicznych i dzielenie się wiedzą;
- Współpracę z frontend developerami, QA i Product Ownerem.

🔍 Dekoder Ogłoszenia

🔴
Chcesz mieć wpływ na to, co robisz?
Twoje pomysły mogą być brane pod uwagę, ale ostateczne decyzje mogą należeć do innych.
🔴
Chcesz brać odpowiedzialność za rozwiązania
Będziesz odpowiedzialny za błędy i problemy, nawet jeśli nie miałeś pełnej kontroli nad ich powstaniem.
🔴
Faktyczną decyzyjność w zakresie rozwiązań technicznych i architektury systemu
Możesz mieć wpływ na decyzje, ale ostateczne słowo może należeć do architekta lub zespołu menedżerskiego.
🟡
Sprawczość w zakresie realizacji zadań (narzędzia, podejście, implementacja)
Masz swobodę wyboru narzędzi i metod, o ile mieszczą się w ramach ustalonych standardów i budżetu.
🟡
Pracę w środowisku stawiającym na jakość kodu i pragmatyczne podejście do procesu
Oczekuje się dobrego kodu, ale priorytetem jest dostarczenie działającego produktu, co może oznaczać kompromisy.