min. 2 lata doświadczenia na stanowisku liderskim,
znajomość technologii: Java/mikrousługi lub technologie mobilne (Android, iOS)
znajomość zagadnień związanych ze skalowalnością, wydajnością i niezawodnością systemów informatycznych,
doświadczenie w realizacji projektów od architektury po wdrożenie,
umiejętność pracy z zespołem multikompetencyjnym,
umiejętność pracy z zespołem zdalnym
Dodatkowe atuty
Znajomość technologii z obszaru programowania reaktywnego lub GRPC,
doświadczenie w przygotowywaniu i propagowaniu standardów i dobrych praktyk
Offer description
Original text. Show translation
Rola Team Leadera
Poszukujemy osoby, która dołączy do naszego zespołu w roli Team Leadera. Osoba na tym stanowisku będzie łączyć kompetencje techniczne oraz liderskie. W naszej strukturze za wyodrębniony obszar biznesowy i kilka zespołów SCRUMowych odpowiada Program Manager. W skład każdego zespołu wchodzą Team Leader, programiści i testerzy którzy są wspierani przez Product Managera, Scrum Mastera i UX Designerów.
Zespół jest multikompetencyjny i tworzy kompletne rozwiązania (analiza, architektura, backend, web, mobile, testy, observability) w oparciu i mikroserwisy, z wykorzystaniem Micronaut, Reactor, gRPC w środowisku Kubernetes/Rancher po stronie backendu oraz Angular (MFE), Android i iOS (aplikacje natywne) po stronie frontendu.
Z czym pracujemy:
Nasze mikrousługi piszemy głównie w Javie 17+ z użyciem Micronauta
Uruchamiamy na Rancher’ze (Kubernetes) w kilku serwerowniach
Aplikację na Android tworzymy natywnie w Kotlinie w architekturze modułowej z wykorzystaniem Clean Architecture oraz MVI/MVVM
Aplikację na iOS tworzymy natywnie w języku Swift, wykorzystując architekturę modułową oraz wzorzec MVVM-C
Stosujemy podejście reaktywne z użyciem Combine oraz Coroutines/Flow i Compose
Widoki mobilne tworzymy przy użyciu Compose i SwiftUI.
Tworzymy rozwiązania webowe w oparciu o framework Angular oraz typowy dla niego stos technologiczny: TypeScript, JavaScript i RxJS.
Nasza architektura mikrofrontendowa oparta o web components rozwijana jest w monorepozytorium przy użyciu narzędzia Nx.
Komunikację między mikrousługami robimy za pomocą gRPC
Do komunikacji asynchronicznej używamy Kafki, Pulsara, RabbitMQ i Chronicle
Trzymamy dane w Postgresie, MongoDB, Redisie
Produkcję obserwujemy z pomocą Prometheusa, Grafany, Opensearcha i Opsgenie
W mobilnych rozwiązaniach wykorzystujemy Firebase (Crashlytics, Remote Config, Analytics) oraz Localise
Testujemy z użyciem JUnit, Testcontainers, Appium, Playwirght
Kodujemy w IntelliJ przy wsparciu Copilota
Kod trzymamy na Gitlabie i budujemy z użyciem GitlabCI
Zadania śledzimy w Jirze a wiedzę zbieramy w Confluence
Intensywnie korzystamy z Google Workspace: Gmail, Drive, GDocs, Meet, Chat
Mamy firmowe narzędzia GenAI rozwijane wewnętrznie i dostępne dla wszystkich pracowników
Chcemy Ci zaoferować:
realny wpływ na rozwój firmy i produktu
pracę w doświadczonym zespole, który chętnie dzieli się wiedzą
jasną wizję rozwoju dzięki regularnym feedbackom i klarownym ścieżkom karier
budżet szkoleniowy na interesujące Cię kursy i konferencje
dodatkowy dzień wolny z okazji Twoich urodzin
dodatkowy dzień wolny dla rodziców
sprzęt dopasowany do Twoich potrzeb
prywatną opiekę medyczną i ubezpieczenie grupowe
dostęp do platformy e-learningowej do nauki języka angielskiego oraz platformy benefitowej
dostęp do platformy wellbeingowej i możliwość skorzystania z warsztatów oraz prywatnych sesji terapeutycznych
pracę zdalną, z biura w Warszawie lub z coworku w Twoim mieście
regularne spotkania integracyjne
Nasz proces rekrutacyjny składa się z 2 rozmów:
Rozmowa dotycząca Twoich kompetencji miękkich oraz screening techniczny
Rozmowa z menedżerem lub liderem, dotycząca dopasowania do zespołu
Your responsibilities
Original text. Show translation
Dbanie o realizację zadań programistycznych zgodnie z obowiązującymi standardami technologicznymi,
wspieranie Product Managera w koordynowaniu prac zespołu w obszarze rozwiązań technologicznych,
współpraca z innymi zespołami w opracowywaniu optymalnej architektury rozwiązań,
zapewnianie wysokiej efektywności zespołu programistycznego, poprzez identyfikowanie oraz mitygowanie przeszkód w procesie wytwórczym,
monitorowanie bieżącej pracy i wsparcie w rozwiązywaniu problemów związanych z kwestiami technicznymi,
dbanie o rozwój zespołu poprzez zapewnianie szkoleń, proces mentoringu i regularne spotkania 1:1.