#OptimaKariera
Full Stack Developer
Opis stanowiska
- Budowa serwisów backendowych (Java / Spring Boot) w wyznaczonych granicach domenowych;
- Budowa komponentów frontendowych w React + TypeScript, osadzanych w jednym froncie-hoście i integrujących się z warstwą backendową przez BFF;
- Komunikacja między serwisami zgodnie z przyjętym modelem – przez API oraz zdarzenia (konsumpcja i publikacja);
- Pisanie testów (jednostkowych, integracyjnych, kontraktowych) i utrzymanie kodu w stanie gotowym do przejęcia;
- Praca z narzędziami AI do przyspieszenia – z krytyczną weryfikacją wyniku przed włączeniem go do kodu.
Wymagania
- Java i Spring Boot – komercyjne doświadczenie w budowie usług backendowych;
- Frontend: React + TypeScript – komercyjne doświadczenie (TypeScript jest wymogiem, nie czysty JS, bo komponenty mają typowany kontrakt z hostem);
- Front jako komponent, nie osobna apka – rozumienie różnicy między samodzielną aplikacją SPA a komponentem osadzanym w hoście (bez własnego routingu globalnego, bez własnego logowania, bez wołania backendów wprost – front rozmawia z jednym adresem, czyli BFF, a integracja z hostem idzie przez kontrakt obejmujący właściwości i zdarzenia);
- Doświadczenie w systemie mikroserwisowym – praca w architekturze mikroserwisowej i znajomość jej zasad (każdy serwis jest właścicielem swoich danych bez sięgania do cudzej bazy, komunikacja przez API i zdarzenia, idempotentni konsumenci oraz umiejętność wyjaśnienia celu istnienia tych zasad);
- Myślenie granicami – rozumienie, kiedy operacja powinna być synchroniczna, a kiedy zdarzeniem, oraz unikanie łączenia danych w poprzek serwisów;
- SQL i bazy relacyjne – swobodne projektowanie i praca ze schematem relacyjnym;
- Krytyczne używanie AI – korzystanie z narzędzi sztucznej inteligencji w celu przyspieszenia pracy przy jednoczesnej ocenie wyników, niewprowadzanie do kodu elementów niezrozumianych oraz wychwytywanie sytuacji, gdy wygenerowany kod łamie przyjęte zasady;
- Warsztat inżynierski – znajomość systemów Git, podstaw CI/CD oraz traktowanie pisania testów jako naturalnej części pracy;
- Współpraca – umiejętność pracy w granicach wyznaczonych przez seniorów oraz zadawania pytań w przypadku niejasności zamiast cichego omijania problemu.
Mile widziane
- Systemy zdarzeniowe i brokery komunikatów (np. Kafka);
- Docker i Kubernetes – znajomość przynajmniej na poziomie użytkowym;
- Świadomość Domain-Driven Design oraz granic kontekstów (bounded contexts);
- Kontrakty API (OpenAPI) i schematy zdarzeń;
- Obserwowalność – metryki, logi oraz śledzenie (tracing);
- SSO, OAuth2 oraz OIDC (np. integracja z Entra lub Azure AD).
Oferujemy
- Współpracę z firmą będącą liderem w branży;
- Możliwość realizacji usług w modelu hybrydowym;
- Możliwość pracy z nowoczesnymi technologiami i udziału w projektach rozwojowych;
- Dużą samodzielność w podejmowaniu decyzji technicznych i realny wpływ na rozwój produktu;
- Biuro w dogodnej lokalizacji blisko metra Nowy Świat – Uniwersytet.