Senior Java Developer

Remote: 
Full Remote
Contract: 
Work from: 

Offer summary

Qualifications:

Minimum 8 years of experience in Java programming (Spring) and working with distributed systems., Practical knowledge of programming best practices: TDD/BDD, DDD, OOP, FP, Event-Driven Architecture, Clean Code, API design, CI/CD., Ability to improve and refactor legacy code., Effective communication skills in English, both spoken and written..

Key responsibilities:

  • Define and lead the implementation of a scalable distributed system while balancing the development of new microservices with the decomposition of existing monoliths.
  • Analyze and evaluate existing code to identify areas for improvement and propose rewrites to eliminate constraints and persistent issues.
  • Design and develop robust solutions in collaboration with an Agile team.
  • Ensure high-quality outcomes through modern, modular design and test-driven development.

Knowit logo
Knowit Large http://www.knowit.eu
1001 - 5000 Employees
See all jobs

Job description

W Knowit łączymy pasję do technologii z wpływem na przyszłość. Jako część naszego zespołu, będziesz tworzyć innowacyjne projekty, które nie tylko definiują technologiczną przyszłość, ale również przyczyniają się do zrównoważonego wzrostu. Priorytetem jest dla nas Twój postęp zawodowy i osobisty, dlatego oferujemy bogaty zakres możliwości doskonalenia zawodowego i międzynarodową wymianę wiedzy. Nasze środowisko pracy wyróżnia się elastycznością i troską o równowagę między życiem zawodowym a prywatnym.

Szukamy kandydatów mieszkających w Polsce/EU.

Opis projektu:

Poszukujemy pełnego pasji Senior Software Engineera do zespołu Platform Scalability Engineering zlokalizowanego w Polsce i Francji. Nasz zespół koncentruje się na skalowaniu naszej głównie monolitycznej aplikacji, jednocześnie ułatwiając powstawanie mikroserwisów poprzez adresowanie zagadnień wspólnych. W miarę jak modernizujemy, modularizujemy i rozwijamy nasz rozproszony system, poszukujemy specjalisty w zakresie architektury opartej na zdarzeniach (Event-Driven Architecture) oraz projektowania opartego na domenie (Domain-Driven Design). W tej roli będziesz liderem inicjatyw wdrażających te zasady architektoniczne w całej firmie. Idealny kandydat będzie potrafił sprawnie poruszać się w złożoności naszego środowiska, mając świadomość ograniczeń wynikających z technologicznego dziedzictwa i podejmując te wyzwania z entuzjazmem i zaangażowaniem w napędzanie transformacyjnych zmian.

Zakres obowiązków:


  • Definiowanie i prowadzenie wdrożenia strukturalnego, łatwego w utrzymaniu i skalowalnego systemu rozproszonego, balansując rozwój i dekompozycję istniejącego monolitu z budową nowych mikroserwisów.
  • Analizowanie i ocena istniejącego kodu w celu identyfikacji obszarów do ulepszenia oraz proponowanie przepisania fragmentów w celu usunięcia ograniczeń i trwałych problemów.
  • Projektowanie i rozwój solidnych rozwiązań we współpracy z zespołem Agile.
  • Zapewnienie wysokiej jakości wyników poprzez nowoczesne, modularne projektowanie i rozwój oparty na testach (Test-Driven Development).
  • Odpowiedzialność za wydajność i niezawodność tworzonego oprogramowania.
  • Wdrażanie ciągłych usprawnień w procesach, technologiach i najlepszych praktykach.

Wymagania:


  • Minimum 8 lat doświadczenia w programowaniu w Javie (Spring) i pracy z systemami rozproszonymi.
  • Praktyczna znajomość dobrych praktyk programistycznych: TDD/BDD, DDD, OOP, FP, Architektura Heksagonalna, Architektura Oparta na Zdarzeniach, Clean Code, projektowanie API, CI/CD.
  • Umiejętność poprawy i refaktoryzacji kodu dziedziczonego (legacy code).
  • Znajomość procesów wdrażania aplikacji i zagadnień obserwowalności (alerty, metryki).
  • Doświadczenie w projektowaniu baz danych i zaawansowana znajomość SQL.
  • Efektywne codzienne umiejętności komunikacyjne w języku angielskim (w mowie i piśmie).
  • Pozytywne nastawienie do pracy zespołowej, chęć do nauki i rozwoju, proaktywne podejście, inżynierskie myślenie oraz umiejętności rozwiązywania problemów.

Mile widziane:

  • Doświadczenie w pracy z Kubernetesem.

Co oferujemy:


- możliwość pracy w 100% zdalnie lub z naszych nowoczesnych biur

wiele możliwości rozwoju osobistego

- kulturę organizacyjną opartą na dzieleniu się wiedzą

- liczne inicjatywy i wydarzenia integrujące naszą społeczność :)

Required profile

Experience

Spoken language(s):
English
Check out the description to know which languages are mandatory.

Other Skills

  • Teamwork
  • Communication
  • Problem Solving

Java Developer Related jobs