W skrócie
- Zadania: Twórz oprogramowanie dla inteligentnych kamer przemysłowych i rozwijaj innowacyjne rozwiązania.
- Firma: Zebra to społeczność innowatorów, która ceni różnorodność i współpracę.
- Benefity: Atrakcyjne wynagrodzenie, premie roczne, możliwość pracy zdalnej i rozwój zawodowy.
- Pozostałe informacje: Dynamiczne środowisko z możliwościami szybkiego rozwoju kariery.
- Dlaczego ta praca: Pracuj z nowoczesnymi technologiami i wpływaj na przyszłość pracy.
- Kwalifikacje: Doświadczenie w programowaniu w C++ oraz umiejętności współpracy w zespole.
Przewidywane wynagrodzenie mieści się w przedziale 110250 - 134750 zł za rok.
W Zebra jesteśmy społecznością innowatorów, którzy wspólnie tworzą nowe sposoby pracy. Zjednoczeni przez ciekawość i kulturę troski, opracowujemy inteligentne rozwiązania, które przewidują potrzeby naszych klientów i partnerów oraz rozwiązują ich wyzwania. Będąc częścią Zebra Nation, jesteś dostrzegany, słyszany, ceniony i szanowany. Współpracując z różnorodnymi perspektywami, dostarczamy na nasz cel. Tutaj jesteś częścią zespołu, który przesuwa granice dzisiaj, aby zdefiniować pracę jutra dla organizacji, ich pracowników i tych, którym służą. Będziesz miał okazje uczyć się i prowadzić w nowoczesnym środowisku, definiując swoją ścieżkę do satysfakcjonującej kariery, jednocześnie kierując swoje umiejętności ku sprawom, które są dla Ciebie ważne - lokalnie i globalnie. Przyjdź i wprowadź zmiany każdego dnia w Zebra.
Co szukamy: Starszy programista oprogramowania w dziedzinie wizji komputerowej będzie pracować nad platformą oprogramowania zasilającą inteligentne kamery przemysłowe Zebra oraz aplikację desktopową. Pracując w zespole Core Smart Camera Software, będziesz współpracować nad dwoma ściśle powiązanymi, wieloplatformowymi bazami kodu: silnikiem wykonawczym na urządzeniu (demon Linux obsługujący cykl życia urządzenia, IPC i wykonywanie zadań wizji) oraz biblioteką integracyjną narzędzi wizji maszynowej. Ta rola wymaga połączenia myślenia systemowego, wrażliwości na wydajność nowoczesnego C++ blisko sprzętu oraz architektury backendowej zorientowanej na usługi, aby przekształcić podstawowe algorytmy w wysokiej jakości, gotowy do produktu kod.
Podstawowe obowiązki i odpowiedzialności:
- Ustala wymagania i priorytetyzuje funkcje dla umiarkowanie złożonych, wieloplatformowych projektów oprogramowania (konkretnie nasz silnik wykonawczy na urządzeniu i biblioteka integracyjna narzędzi wizji) w celu zapewnienia, że najważniejsze możliwości są wdrażane jako pierwsze.
- Kończy wszystkie etapy projektowania i rozwoju oprogramowania, przekształcając podstawowe algorytmy w narzędzia gotowe do produktu o wysokiej wydajności przy użyciu nowoczesnego C++ (C++23).
- Prowadzi i uczestniczy w przeglądach kodu, przestrzegając surowych oczekiwań dotyczących jakości przeglądów kodu (0 ostrzeżeń, clang-tidy, clang-format, SonarQube), aby proaktywnie identyfikować i rozwiązywać problemy na wczesnym etapie procesu rozwoju.
- Eksploruje i stosuje najnowsze technologie, aktywnie wykorzystując i mentorując innych w zakresie narzędzi programowania agentowego AI (np. Claude Code, GitHub Copilot) w celu przyspieszenia kodowania i poprawy implementacji oprogramowania.
- Przegląda i udoskonala istniejące projekty oprogramowania, optymalizując rurociągi przetwarzania obrazów w czasie rzeczywistym oraz komunikację międzyprocesową (IPC) działającą na sprzęcie kamer smart o ograniczonych zasobach.
- Opracowuje testy i tworzy kompleksową dokumentację, aby dostarczyć produkt o wysokiej jakości na rynek.
- Zapewnia rekomendacje i rozwiązania dla problemów technicznych, wykorzystując wiedzę z różnych dziedzin technicznych (architektura aplikacji, granice sprzętowe, wizja maszynowa).
- Może opracować niestandardowe narzędzia lub skrypty (np. CMake, Python) w celu uproszczenia procesów krzyżowej kompilacji, analizy, debugowania lub automatyzacji testów.
- Wykazuje zdrowy osąd w wyborze metod i technik dostarczania skutecznych rozwiązań dla złożonych problemów, pracując z minimalnym nadzorem i otrzymując ogólne wskazówki dotyczące nowych zadań.
- Zapewnia mentoring i wsparcie dla personelu na poziomie junior.
- Nawiązuje kontakty z seniorami wewnętrznymi i zewnętrznymi w swojej dziedzinie ekspertyzy.
- Częste kontakty międzyorganizacyjne i z klientami zewnętrznymi.
Wymagania:
- Licencjat lub magister w dziedzinie informatyki, inżynierii oprogramowania lub pokrewnej dyscyplinie inżynieryjnej.
- Preferowane doświadczenie zawodowe (lata): 5+
Kluczowe umiejętności i kompetencje:
- Ekspert w nowoczesnym C++ (C++17/20/23), wielowątkowości oraz wieloplatformowych systemach budowania (CMake) i zarządzaniu zależnościami (Conan lub vcpkg).
- Silne zrozumienie architektury oprogramowania, rozwoju wieloplatformowego (Linux i Windows), IPC oraz przyjmowania narzędzi GenAI / Agentic AI w cyklu życia rozwoju oprogramowania.
- Doświadczenie w strategiach testowania oprogramowania (GTest) i zaawansowanych narzędziach debugowania dla kodu natywnego (np. gdb, valgrind, sanitizers) w różnych systemach operacyjnych.
- Umiejętność oceny i integracji nowych technologii w istniejących rozwiązaniach, z preferowanym doświadczeniem w bibliotekach wizji maszynowej, mostach natywnych do skryptów (np. Node.js N-API) lub konkretnych frameworkach sieciowych i IPC (np. DBus, ZeroMQ, Boost).
- Silne umiejętności rozwiązywania problemów z udokumentowaną zdolnością do optymalizacji równoległego oprogramowania i nawigacji po pułapkach przenośności wielowątkowości na docelowym sprzęcie.
- Biegłość w systemach kontroli wersji (Git, GitHub) i znajomość pipeline'ów CI/CD.
- Doskonałe umiejętności komunikacyjne i współpracy z umiejętnością mentorowania i wpływania na członków zespołu na poziomie junior.
- Udokumentowana zdolność do pracy samodzielnej przy jednoczesnym efektywnym zarządzaniu wieloma priorytetami w środowisku wrażliwym na wydajność.
Wynagrodzenie: Oprócz wynagrodzenia podstawowego, Zebra oferuje tę rolę z możliwością uzyskania rocznej premii gotówkowej opartej na wydajności, na poziomie równym 12% wynagrodzenia podstawowego, zgodnie z warunkami odpowiedniego planu premiowego.
Oświadczenie o technologii AI: Zebra Technologies wykorzystuje technologię AI do oceny aplikacji o pracę, stosując obiektywne, istotne dla pracy kryteria. To podejście zwiększa efektywność i promuje sprawiedliwość w procesie rekrutacji. Jednak każda decyzja dotycząca rozmów kwalifikacyjnych i zatrudnienia podejmowana jest przez nasz dedykowany zespół, ponieważ wierzymy, że ludzie podejmują najlepsze decyzje dotyczące ludzi.
Senior Computer Vision Software Developer in Gliwice – pracodawca: Zebra Technologies
Zebra Technologies to doskonały pracodawca, który oferuje dynamiczne środowisko pracy w Gliwicach, Opolu i Wrocławiu, gdzie innowacje i technologia spotykają się z pasją do rozwoju. Pracownicy mają możliwość nie tylko rozwijać swoje umiejętności w obszarze architektury systemów, ale także korzystać z programów mentorskich oraz współpracy z zespołami zajmującymi się najnowszymi rozwiązaniami w dziedzinie AI. Nasza kultura pracy opiera się na współpracy, kreatywności i ciągłym doskonaleniu, co czyni nas idealnym miejscem dla tych, którzy pragną mieć realny wpływ na przyszłość technologii.