Nasz klient to międzynarodowa firma technologiczna działająca od lat na rzecz cyfrowej transformacji przemysłu i biznesu. Jako integrator rozwiązań IT dostarcza kompleksowe usługi — od wdrożeń PLM i migracji danych, przez chmurowe platformy, IIoT i cyfrową inżynierię produktu, po zaawansowaną analitykę Data & AI oraz optymalizację łańcucha dostaw. Firma współpracuje z globalnymi partnerami technologicznymi, realizuje projekty dla branż takich jak motoryzacja, produkcja czy sprzęt rolniczy, oferując zarówno gotowe rozwiązania, jak i dedykowane systemy oraz wsparcie zmian organizacyjnych. Pracuje w interdyscyplinarnych zespołach nad Digital Thread, Digital Twin i rozwiązaniami dla zrównoważonego rozwoju, łącząc inżynierię z nowoczesnymi narzędziami chmurowymi i AI. Szuka osób, które chcą rozwijać kompetencje w obszarach PLM, chmury, IIoT, Data & AI, wdrożeń systemów i automatyzacji — od juniorów po ekspertów — w dynamicznym, projektowym środowisku o międzynarodowym zasięgu.
Principal Go Engineer - Distributed Systems & Data Platform
Oferujemy:
Podczas rozmowy technicznej warto przygotować się do omówienia
- Systemu rozproszonego, który kandydat zaprojektował lub znacząco przebudował.
- Problemu ze skalowalnością lub wydajnością, który kandydat samodzielnie rozwiązał.
- Systemu obsługującego bardzo duże wolumeny zdarzeń lub danych.
- Poważnego incydentu produkcyjnego oraz zmian wprowadzonych po jego analizie.
- Złożonej inicjatywy technicznej prowadzonej przez kandydata w ramach jednego lub wielu zespołów.
Obowiązki:
O roli
Poszukujemy doświadczonego Principal Go Engineera, który dołączy do zespołu rozwijającego zaawansowaną, rozproszoną platformę danych i analityki.
Rola jest przeznaczona dla osoby, która nie tylko programuje, ale również bierze odpowiedzialność za architekturę, wydajność, niezawodność i rozwój kluczowych elementów platformy. Szukamy inżyniera z praktycznym doświadczeniem w projektowaniu, budowie i utrzymaniu dużych systemów produkcyjnych.
Platforma przetwarza duże wolumeny danych sieciowych i telemetrycznych oraz działa w środowiskach Kubernetes, chmurze publicznej i infrastrukturze on-premises.
- Projektowanie i rozwijanie skalowalnych oraz odpornych na awarie usług backendowych w Go.
- Budowanie wysokowydajnych pipeline'ów do pobierania, przesyłania i przetwarzania danych.
- Projektowanie architektury event-driven opartej na Apache Kafka.
- Definiowanie granic usług, przepływów danych i sposobów komunikacji między komponentami.
- Podejmowanie decyzji architektonicznych dotyczących skalowalności, spójności, dostępności i odtwarzania po awarii.
- Analizowanie problemów związanych z wydajnością, współbieżnością i niezawodnością systemów produkcyjnych.
- Optymalizowanie usług Go na poziomie CPU, pamięci, współbieżności i komunikacji sieciowej.
- Podnoszenie standardów w zakresie jakości kodu, testowania, obserwowalności, bezpieczeństwa i procesu dostarczania oprogramowania.
- Techniczne prowadzenie złożonych inicjatyw obejmujących wiele komponentów lub zespołów.
- Mentoring doświadczonych inżynierów oraz wspieranie ich w podejmowaniu decyzji technicznych.
- Współpraca z architektami, zespołami DevOps, zespołami produktowymi i ekspertami domenowymi.
- Udział w analizie i rozwiązywaniu złożonych incydentów produkcyjnych.
Dodatkowo:
Proces rekrutacyjny i warunki współpracy
- Proces składa się z dwóch etapów: rozmowy technicznej z naszym klientem oraz rozmowy z klientem końcowym.
- Rozmowa z klientem zazwyczaj odbywa się w ciągu około 72 godzin od pierwszego etapu.
- Spotkania z klientem odbywają się zwykle w godzinach popołudniowych, po 16:00.
- Warunkiem zatrudnienia jest pozytywne przejście weryfikacji HireRight.
- Weryfikacja może obejmować sprawdzenie przeszłości kryminalnej oraz potwierdzenie obecnego i poprzedniego adresu zamieszkania.
- Proces HireRight rozpoczyna się po podjęciu decyzji o zatrudnieniu.
- Możliwa jest współpraca na podstawie umowy o pracę lub kontraktu B2B.
- Praca odbywa się w pełni zdalnie, w europejskich godzinach pracy.
- Poszukujemy osoby dostępnej możliwie szybko.
Wymagania:
- Minimum 10 lat doświadczenia zawodowego w tworzeniu oprogramowania.
- Minimum 5 lat komercyjnego doświadczenia w programowaniu w Go.
- Doświadczenie na stanowisku Staff Engineer, Principal Engineer, Technical Lead, Solution Architect lub zbliżonym.
- Udokumentowane doświadczenie w technicznej odpowiedzialności za złożone systemy produkcyjne.
- Bardzo dobra znajomość projektowania i utrzymania systemów rozproszonych o wysokiej dostępności.
- Doświadczenie z platformami przetwarzającymi duże wolumeny zdarzeń, ruchu sieciowego lub danych.
- Zaawansowana znajomość Go, w tym współbieżności, zarządzania pamięcią, profilowania, testowania i optymalizacji wydajności.
- Bardzo dobra znajomość partycjonowania, replikacji, eventual consistency, idempotencji, gwarancji dostarczenia, retry, obsługi awarii i graceful degradation.
- Rozległe doświadczenie z Apache Kafka lub porównywalną platformą event-streamingową.
- Bardzo dobra znajomość architektury mikroserwisowej oraz projektowania REST API.
- Zaawansowana znajomość SQL i komercyjne doświadczenie z PostgreSQL.
- Produkcyjne doświadczenie z Dockerem i Kubernetes.
- Doświadczenie w diagnozowaniu złożonych problemów w środowiskach rozproszonych.
- Dobra znajomość obserwowalności, bezpieczeństwa aplikacji i niezawodnego procesu dostarczania oprogramowania.
- Umiejętność podejmowania, dokumentowania i jasnego komunikowania decyzji architektonicznych.
- Bardzo dobra znajomość języka angielskiego.
Dodatkowe atuty:
- Doświadczenie z Apache Druid lub innymi rozproszonymi bazami analitycznymi.
- Praktyka w budowie systemów przetwarzania danych w czasie rzeczywistym.
- Doświadczenie z platformami multi-tenant i środowiskami hybrid cloud.
- Znajomość Terraform, Ansible i Helm.
- Doświadczenie z Prometheus, Grafana i OpenTelemetry.
- Znajomość gRPC i Protocol Buffers.
- Znajomość OAuth 2.0, OpenID Connect, TLS i zarządzania certyfikatami.
- Doświadczenie w testach wydajnościowych, obciążeniowych i stress testach.
- Praktyczna znajomość Google Cloud Platform, AWS lub Microsoft Azure.
- Doświadczenie w telekomunikacji, analizie sieciowej lub protokołach telemetrycznych.
- Udział w projektach open source związanych z Go, infrastrukturą lub systemami rozproszonymi.
Co będzie dodatkowym atutem
- Doświadczenie z systemami przetwarzającymi miliony zdarzeń na sekundę lub dane liczone w terabajtach.
- Zaawansowana optymalizacja usług Go na poziomie procesora, pamięci i współbieżności.
- Budowanie platform krytycznych biznesowo z restrykcyjnymi wymaganiami dostępności.
- Umiejętność omawiania kompromisów architektonicznych na podstawie własnych doświadczeń.
- Połączenie bardzo mocnych kompetencji hands-on z dojrzałym leadershipem technicznym.
Go