Software Architect
O nas i naszym produkcie
Od 36 lat rozwijamy w pełni autorski, zaawansowany system, który swoją architekturą i złożonością odpowiada oprogramowaniu klasy CAD. Nasz produkt to nie generyczna aplikacja CRUD, lecz krytyczny element infrastruktury miejskiej – służy do projektowania rozkładów jazdy i optymalizacji logistyki transportu zbiorowego.
Posiadamy 90% udziału w polskim rynku, a naszymi odbiorcami jest wyłącznie sektor publiczny – największe zarządy transportu oraz operatorzy miejskiej komunikacji w Polsce (m.in. w Warszawie, Krakowie, Wrocławiu, Poznaniu czy Gdyni). Bez naszego systemu codzienne funkcjonowanie transportu miejskiego w tych aglomeracjach byłoby niemożliwe.
Kontekst technologiczny i wyzwania
Rozwijamy system o ogromnej skali, którego core stanowi 16 milionów linii kodu w C++. Jesteśmy w trakcie bezprecedensowej transformacji technologicznej, łącząc sprawdzony fundament z najnowszymi wzorcami:
Paradygmat AI-Driven Development: Aktywnie wykorzystujemy LLMy (Claude Fable/Opus) oraz agentów (Python, Node.js) do zautomatyzowanej refaktoryzacji, generowania kodu i podbijania standardu do C++20/26.
Złożona architektura obliczeniowa: Nasz system działa w modelu Rich Client – projektowanie sieci transportowych wymaga potężnej mocy obliczeniowej procesora i responsywności UI na poziomie AutoCada.
Szukamy inżyniera z wizją. Kogoś, kto potrafi zaprojektować architekturę przejścia z monolitu desktopowego do rozwiązań rozproszonych, potrafi rozmawiać z wymagającym klientem z sektora publicznego i traktuje AI jako naturalny element współczesnego toolingu architekta.
Twoja rola i obszary odpowiedzialności:
Legacy Codebase Modernization & C++ Core Engineering
- Audytowanie istniejącej bazy kodu, zaprojektowanie strategii dekompozycji monolitu.
- Nadzór architektoniczny nad migracją i bezpiecznym podnoszeniem standardów do C++20/26 z naciskiem na redukcję długu technologicznego.
- Optymalizacja wydajnościowa krytycznych algorytmów (memory management, zaawansowana wielowątkowość).
- Projektowanie API (gRPC, REST, WebAssembly), pełniących rolę warstwy integracyjnej między rdzeniem C++ a nowymi modułami cloud/web.
- Ustanawianie standardów Clean Code, strategii testowania (unit/integration) dla kodu legacy oraz wdrożenie zaawansowanej analizy statystycznej.
Cloud-Native Architecture & Distributed Systems
- Własność nad techniczną roadmapą przejścia z architektury Desktop/Client-Server do modelu Cloud-Native/Hybrid Cloud.
- Projektowanie skalowalnej, wysoko dostępnej infrastruktury opartej o mikroserwisy i konteneryzację (Docker, Kubernetes).
- Projektowanie warstwy integracyjnej w podejściu Event-Driven Architecture (Kafka, RabbitMQ) do obsługi wysoko wolumenowych strumieni danych telemetrycznych (GPS, ITS).
- Data Architecture: modelowanie danych oraz dobór odpowiednich silników bazodanowych (relacyjne, NoSQL, Real-Time DBs) pod konkretne workloads.
- Współpraca przy projektowaniu architektury frontendowej umożliwiającej migrację złożonych operacji planistycznych do nowoczesnych aplikacji przeglądarkowych.
AI Integration & MLOps Infrastructure
- Tworzenie wzorców architektonicznych umożliwiających wdrażanie modeli AI do produktu (optymalizacja grafikowania, predykcja opóźnień).
- Projektowanie systemów data ingestion i data pipelines (real-time & batch) zasilających modele uczenia maszynowego.
- Projektowanie fundamentów pod środowisko MLOps (monitorowanie, wersjonowanie, ewaluacja i bezpieczny deployment modeli na produkcji).
Technical Leadership & Architecture Governance
- Odpowiedzialność za strategiczne decyzje technologiczne.
- Wdrażanie i utrzymywanie standardu Architecture Decision Records (ADRs) oraz tworzenie przejrzystej dokumentacji wizji systemu.
- Bezpośrednie wsparcie techniczne w rozmowach ze strategicznymi partnerami i klientami publicznymi.
Nasze wymagania:
- Silne zaplecze analityczne (preferowane wykształcenie wyższe na kierunkach STEM) oraz głębokie zrozumienie struktur danych, złożoności obliczeniowej i teorii algorytmów.
- Zaawansowana, poparta praktyką wiedza z zakresu projektowania systemów rozproszonych (Distributed Systems) oraz umiejętność modelowania przejścia z architektury monolitycznej/desktopowej do nowoczesnych rozwiązań chmurowych.
- Biegła znajomość C++ (gotowość do pracy z systemami legacy oraz podnoszenia ich do nowoczesnych standardów).
- Doświadczenie w pracy z Pythonem i Node.js (tworzenie narzędzi, agentów AI, mikroserwisów). Zaawansowane projektowanie API (REST, gRPC, itp.).
- Biegłość w doborze i projektowaniu struktur bazodanowych, zwłaszcza relacyjnych (Microsoft SQL Server).
- Biegłe, pragmatyczne korzystanie z narzędzi sztucznej inteligencji, modeli LLM (np. Claude), architektury RAG, uczenia maszynowego (ML) oraz Prompt Engineeringu – zarówno do automatyzacji własnej pracy, jak i wdrażania tych mechanizmów w produkcie.
- Znajomość rozwiązań Cloud-Native oraz zrozumienie paradygmatów i ograniczeń aplikacji frontendowych/mobilnych (React, React Native) pod kątem poprawnego projektowania dla nich warstwy integracyjnej API.
- Elastyczność i Pragmatyzm: Zdolność do zwinnego reagowania na dynamiczne zmiany w wymaganiach, przy jednoczesnym zachowaniu spójności i stabilności architektury.
- Mindset "Self-Starter": Proaktywność, innowacyjność i duża autonomia. Szukamy osoby, która identyfikuje problemy architektoniczne (zanim staną się blokerami) i od razu proponuje nieszablonowe drogi ich rozwiązania.
- Języki obce: Biegła znajomość języka polskiego (do pracy z krajowymi zarządami transportu) oraz płynny język angielski (do codziennej współpracy z zespołem w Grecji).
Co oferujemy:
- Unikalny produkt o wielkim wpływie społecznym: Tworzenie oprogramowania o krytycznym znaczeniu dla milionów pasażerów w Polsce.
- W pełni elastyczne warunki: Możliwość wyboru formy kontraktu – Umowa o Pracę lub kontrakt B2B.
- Praca 100% zdalna: Brak biura i sztywnych korporacyjnych procedur. Cenimy kulturę zaufania i realne efekty.