W skrócie
- Zadania: Twórz zaawansowane oprogramowanie w C++ dla systemów zarządzania ruchem.
- Firma: Innowacyjna firma technologiczna z kulturą współpracy.
- Benefity: Elastyczne godziny pracy, konkurencyjne wynagrodzenie i możliwości rozwoju zawodowego.
- Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
- Dlaczego ta praca: Pracuj nad technologiami przyszłości i wpływaj na inteligentne zarządzanie ruchem.
- Kwalifikacje: 5+ lat doświadczenia w programowaniu w C++ oraz umiejętności współpracy w zespole.
Przewidywane wynagrodzenie mieści się w przedziale 94500 - 115500 zł za rok.
Poszukujemy doświadczonego inżyniera oprogramowania C++ na poziomie senior, który dołączy do projektu systemów wizji wbudowanej i przyczyni się do rozwoju zaawansowanej platformy zarządzania ruchem opartych na fuzji sensorów oraz architekturze opartej na ROS2. Rola koncentruje się na budowaniu i utrzymywaniu podstawowych komponentów aplikacji w nowoczesnym C++, integracji czujników i interfejsów zewnętrznych oraz opracowywaniu niezawodnego, wysokowydajnego oprogramowania dla złożonych scenariuszy zarządzania ruchem.
Co będziesz robić:
- Przyczynisz się do złożonej platformy fuzji sensorów zaprojektowanej do obsługi trudnych scenariuszy ruchu i skrzyżowań.
- Twoim głównym celem będzie rozwój niezawodnych i wysokowydajnych komponentów C++ w istniejącym ekosystemie ROS2 oraz integracja z czujnikami i innymi komponentami systemu.
- Będziesz miał okazję wpływać na rozwiązania techniczne, uczestniczyć w decyzjach architektonicznych oraz pracować nad oprogramowaniem, w którym wydajność, niezawodność, skalowalność i możliwości czasu rzeczywistego są kluczowe.
Kluczowe obowiązki:
- Projektowanie i implementacja podstawowych komponentów aplikacji w C++ w systemie opartym na ROS2.
- Rozwój i utrzymanie wysokiej jakości oprogramowania przy użyciu nowoczesnego C++ (C++17/20).
- Integracja różnych czujników, interfejsów zewnętrznych i komponentów firm trzecich w istniejącym systemie.
- Rozwój rozproszonych aplikacji opartych na komponentach z wykorzystaniem komunikacji pub/sub i opartej na wiadomościach.
- Udział w decyzjach dotyczących architektury oprogramowania i projektowania, ocena opcji technicznych oraz zapewnienie rozwiązań łatwych w utrzymaniu i wielokrotnego użytku.
- Opracowywanie testów jednostkowych i integracyjnych w celu zapewnienia jakości, niezawodności i stabilności oprogramowania.
- Udział w przeglądach kodu i udzielanie konstruktywnej informacji zwrotnej technicznej.
- Identyfikacja i wdrażanie optymalizacji wydajności, z naciskiem na wydajność czasu wykonywania i efektywne wykorzystanie zasobów.
- Debugowanie i rozwiązywanie złożonych problemów w środowisku deweloperskim Linux, w tym profilowanie i analizę wydajności.
- Utrzymywanie obrazów kontenerów i konfiguracji budowy dla środowisk deweloperskich i docelowych.
- Ścisła współpraca z innymi programistami, architektami i interesariuszami projektu.
- Zapewnienie wsparcia technicznego i mentoringu dla mniej doświadczonych programistów.
Wymagane umiejętności i doświadczenie:
- 5+ lat doświadczenia w profesjonalnym rozwoju oprogramowania, z silną ekspertyzą w C++.
- Silna znajomość nowoczesnego C++ (C++17/20).
- Solidne zrozumienie zarządzania pamięcią, współbieżności, wielowątkowości i programowania krytycznego pod względem wydajności.
- Doświadczenie w rozwijaniu aplikacji robotycznych przy użyciu ROS2.
- Praktyczne doświadczenie w integracji wielu czujników w złożonych systemach oprogramowania.
- Zrozumienie architektury ROS2 oraz systemów rozproszonych/opartych na komponentach.
- Doświadczenie z komunikacją pub/sub lub opartą na wiadomościach oraz systemami rozproszonymi.
- Solidne zrozumienie zasad architektury oprogramowania i projektowania.
- Doświadczenie w pisaniu testów jednostkowych i integracyjnych.
- Silne umiejętności rozwoju w systemie Linux, w tym debugowanie, profilowanie i analizę wydajności.
- Silne doświadczenie z Gitem i współpracą w ramach procesów rozwoju oprogramowania.
- Doświadczenie z Dockerem i środowiskami deweloperskimi/budowlanymi opartymi na kontenerach.
- Silne umiejętności analityczne, rozwiązywania problemów i debugowania.
- Umiejętność pracy samodzielnej i przejmowania odpowiedzialności za złożone zadania techniczne.
- Dobre umiejętności komunikacyjne w języku angielskim.
Miło widziane:
- Praktyczne doświadczenie z ROS2 i rozwój węzłów ROS2.
- Doświadczenie z Pythonem, szczególnie w przypadku niekrytycznych węzłów ROS2, narzędzi lub testów.
- Doświadczenie z Yocto / Embedded Linux.
- Znajomość Kubernetes i Helm.
- Doświadczenie z pipeline'ami CI/CD, szczególnie Jenkins lub GitLab CI.
- Zrozumienie koncepcji uczenia maszynowego stosowanych w percepcji i podejmowaniu decyzji.
- Doświadczenie z systemami operacyjnymi czasu rzeczywistego i koncepcjami programowania czasu rzeczywistego.
- Doświadczenie z zarządzaniem ruchem, monitorowaniem ruchu lub systemami egzekwowania przepisów ruchu drogowego.
Oferujemy:
- Elastyczny format pracy - zdalnie, w biurze lub elastycznie.
- Konkurencyjne wynagrodzenie i dobry pakiet świadczeń.
- Spersonalizowany rozwój kariery.
- Narzędzia do rozwoju zawodowego (program mentoringowy, wykłady techniczne i szkolenia, centra doskonałości i inne).
- Aktywne społeczności technologiczne z regularnym dzieleniem się wiedzą.
- Zwrot kosztów edukacji.
- Zapadające w pamięć prezenty jubileuszowe.
- Wydarzenia korporacyjne i budowanie zespołu.
- Inne korzyści specyficzne dla lokalizacji, które nie mają zastosowania dla freelancerów.
Senior C++ Software Engineer in Kraków – pracodawca: N-iX
N-iX to doskonały pracodawca, który oferuje wyjątkowe możliwości rozwoju zawodowego w dynamicznym środowisku technologicznym. Pracując w zespole ekspertów, będziesz miał szansę nie tylko na rozwijanie swoich umiejętności w zakresie AI, ale także na mentoring innych, co sprzyja współpracy i innowacyjności. Nasza kultura pracy opiera się na otwartości, wsparciu oraz dążeniu do wspólnego sukcesu, a lokalizacja w sercu branży IT zapewnia dostęp do najnowszych trendów i technologii.