W skrócie
- Zadania: Twórz oprogramowanie dla systemów Linux i robotyki, aby chronić przed zagrożeniami.
- Firma: Innowacyjna firma technologiczna z kulturą współpracy.
- Benefity: Atrakcyjne wynagrodzenie, benefity zdrowotne, praca zdalna i rozwój zawodowy.
- Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
- Dlaczego ta praca: Pracuj z nowoczesnymi technologiami i wpływaj na bezpieczeństwo systemów.
- Kwalifikacje: Doświadczenie w programowaniu w C i inżynierii robotycznej.
Przewidywane wynagrodzenie mieści się w przedziale 99000 - 121000 zł za rok.
Poszukujemy doświadczonego programisty Embedded Linux i robotyki, który zbuduje i ulepszy agenta Linux, służącego jako główny punkt komunikacyjny oraz silnik analizy na urządzeniu, pomagając klientom chronić ich systemy przed ransomware i innymi zaawansowanymi zagrożeniami. Rola łączy rozwój niskopoziomowy Linux i eBPF z inżynierią robotyki, szczególnie ROS 2, aby wspierać bezpieczne, niezawodne wdrażanie i działanie w środowiskach robotycznych i rozproszonych brzegowych.
Obowiązki:
- Rozwój oprogramowania systemowego o wysokiej wydajności dla komponentów przestrzeni użytkownika, loaderów przestrzeni użytkownika oraz interakcji z jądrem Linux.
- Projektowanie i implementacja podstawowej funkcjonalności agenta, w tym potoków przetwarzania danych, komunikacji międzykomponentowej, telemetryki i integracji systemu.
- Projektowanie i rozwój programów eBPF oraz, w razie potrzeby, sterowników na poziomie jądra do monitorowania zachowań i wykrywania zdarzeń bezpieczeństwa.
- Integracja agenta Linux z systemami robotycznymi opartymi na ROS 2 oraz platformami rozproszonymi.
- Rozwój, utrzymanie i rozwiązywanie problemów z węzłami ROS 2, usługami, akcjami, tematami, plikami uruchamiającymi oraz komponentami zarządzanymi cyklem życia.
- Konfiguracja i optymalizacja komunikacji DDS, polityk jakości usług (QoS), odkrywania i przepływu wiadomości dla niezawodnego działania w rozproszonych środowiskach robotycznych.
- Analiza aktywności procesów, ruchu sieciowego, zdarzeń systemu plików oraz komunikacji międzyprocesowej w celu identyfikacji podejrzanego lub anormalnego zachowania.
- Badanie wydajności, niezawodności, współbieżności, zarządzania pamięcią oraz problemów czasu rzeczywistego lub bliskiego rzeczywistemu w komponentach przestrzeni użytkownika, jądra oraz ROS 2.
- Współpraca z inżynierami ds. bezpieczeństwa, platform, robotyki, QA i DevOps w celu zdefiniowania interfejsów i dostarczenia gotowych do produkcji możliwości.
- Pisanie testów jednostkowych, integracyjnych, systemowych oraz testów sprzętowych tam, gdzie to możliwe.
- Udział w przeglądach architektury i kodu, badaniach technicznych, debugowaniu, dokumentacji oraz ciągłym doskonaleniu praktyk inżynieryjnych.
Wymagane kwalifikacje:
- Silne doświadczenie zawodowe w programowaniu w języku C oraz rozwoju oprogramowania na poziomie systemu.
- Praktyczne doświadczenie w inżynierii robotyki, w tym rozwój i integracja oprogramowania dla systemów robotycznych lub autonomicznych.
- Praktyczne doświadczenie z ROS 2, w tym węzłami, tematami, usługami, akcjami, parametrami, systemami uruchamiającymi, węzłami cyklu życia oraz narzędziami ROS 2.
- Dobre zrozumienie architektury komunikacji ROS 2, middleware DDS, odkrywania oraz polityk QoS.
- Silna wiedza na temat wewnętrznych mechanizmów Linux, w tym wywołań systemowych, procesów, wątków, zarządzania pamięcią, harmonogramowania, systemów plików oraz struktur danych jądra.
- Doświadczenie w rozwoju sterowników Linux, modułów jądra, eBPF lub innego programowania na poziomie jądra.
- Doświadczenie w programowaniu gniazd oraz znajomość powszechnych protokołów Internetu i Ethernetu.
- Silne umiejętności debugowania i profilowania przy użyciu narzędzi takich jak GDB, strace, perf, Valgrind, sanitizers lub równoważnych narzędzi.
- Doświadczenie w rozwijaniu oprogramowania wielowątkowego i współbieżnego, z solidnym zrozumieniem synchronizacji i komunikacji międzyprocesowej.
- Biegłość w Git oraz nowoczesnych praktykach rozwoju oprogramowania, w tym przeglądach kodu, automatycznych testach i CI/CD.
- Umiejętność pisania łatwego do utrzymania, dobrze przetestowanego i jasno udokumentowanego kodu produkcyjnego.
Embedded Linux and Robotics Engineer in Warsaw – pracodawca: ITS Poland
Nasza firma to doskonały pracodawca, który oferuje wyjątkowe możliwości rozwoju zawodowego w dynamicznym środowisku technologicznym. Pracując jako Embedded Linux i Robotics Engineer, będziesz częścią zespołu, który łączy innowacyjne podejście do inżynierii oprogramowania z pasją do robotyki, co sprzyja kreatywności i współpracy. Oferujemy elastyczne godziny pracy, wsparcie w nauce nowych technologii oraz przyjazną atmosferę, która sprzyja wymianie pomysłów i ciągłemu doskonaleniu umiejętności.