Programista C++ Embedded (K/M)
⚲ Gdynia
Do uzgodnienia
Wymagania
- C++
- Embedded
- Linux
- Linux Kernel
- Git
- CI/CD
Opis stanowiska
W firmie Advanced Protection Systems SA tworzymy unikatowe systemy antydronowe bazując na najnowszych technologiach radarowych. Samodzielnie projektujemy i produkujemy wszystkie elementy: od układów scalonych, przez elektronikę, mechatronikę, aż po zaawansowane oprogramowanie i finalną implementację. Dzięki naszym nowatorskim rozwiązaniom wykrywamy wszelkie poruszające się obiekty, nawet tak trudne do wykrycia jak drony klasy mikro czy niewielkie ptaki. Nasza technologia została z sukcesem wdrożona w wielu wymagających branżach, takich jak: obronność i bezpieczeństwo, infrastruktura krytyczna i rządowa, a także na lotniskach.
W ramach zespołu R&D realizujemy projekty z obszaru systemów wbudowanych oraz oprogramowania niskopoziomowego. Tworzymy rozwiązania działające blisko sprzętu – od sterowników w systemie Linux po firmware na mikrokontrolerach.
Zakres obowiązków:
• Projektowanie i implementacja komponentów w C++.
• Rozwój i optymalizacja algorytmów operujących na złożonych strukturach danych.
• Projektowanie wydajnych i skalowalnych modułów backendowych.
• Udział w analizie problemów technicznych oraz proponowanie rozwiązań architektonicznych.
• Projektowanie i implementacja sterowników pod Linux (kernel / user space).
• Integracja oprogramowania z hardware (peryferia, interfejsy komunikacyjne).
• Debugowanie problemów na poziomie systemu operacyjnego i sprzętu.
Wymagania:
• Wykształcenie wyższe techniczne (Informatyka lub kierunki pokrewne).
• Minimum 2–3 lata doświadczenia w programowaniu w C++ (min. C++14/17).
• Bardzo dobra znajomość struktur danych i algorytmów.
• Znajomość zagadnień embedded (pamięć, przerwania, komunikacja).
• Znajomość zagadnień optymalizacji wydajności i zarządzania pamięcią.
• Doświadczenie w programowaniu współbieżnym i wielowątkowym.
• Doświadczenie w pracy z systemem Linux.
• Znajomość Git.
• Umiejętność analitycznego myślenia i rozwiązywania złożonych problemów.
• Znajomość języka angielskiego na poziomie technicznym min. B2 (czytanie dokumentacji, komunikacja pisemna i ustna).
• Gotowość do hybrydowej pracy, w tym z biura w Gdyni, zamieszkanie w okolicach Trójmiasta.
• Możliwość uzyskania świadectwa niekaralności z KRK.
W ramach zespołu R&D realizujemy projekty z obszaru systemów wbudowanych oraz oprogramowania niskopoziomowego. Tworzymy rozwiązania działające blisko sprzętu – od sterowników w systemie Linux po firmware na mikrokontrolerach.
Zakres obowiązków:
• Projektowanie i implementacja komponentów w C++.
• Rozwój i optymalizacja algorytmów operujących na złożonych strukturach danych.
• Projektowanie wydajnych i skalowalnych modułów backendowych.
• Udział w analizie problemów technicznych oraz proponowanie rozwiązań architektonicznych.
• Projektowanie i implementacja sterowników pod Linux (kernel / user space).
• Integracja oprogramowania z hardware (peryferia, interfejsy komunikacyjne).
• Debugowanie problemów na poziomie systemu operacyjnego i sprzętu.
Wymagania:
• Wykształcenie wyższe techniczne (Informatyka lub kierunki pokrewne).
• Minimum 2–3 lata doświadczenia w programowaniu w C++ (min. C++14/17).
• Bardzo dobra znajomość struktur danych i algorytmów.
• Znajomość zagadnień embedded (pamięć, przerwania, komunikacja).
• Znajomość zagadnień optymalizacji wydajności i zarządzania pamięcią.
• Doświadczenie w programowaniu współbieżnym i wielowątkowym.
• Doświadczenie w pracy z systemem Linux.
• Znajomość Git.
• Umiejętność analitycznego myślenia i rozwiązywania złożonych problemów.
• Znajomość języka angielskiego na poziomie technicznym min. B2 (czytanie dokumentacji, komunikacja pisemna i ustna).
• Gotowość do hybrydowej pracy, w tym z biura w Gdyni, zamieszkanie w okolicach Trójmiasta.
• Możliwość uzyskania świadectwa niekaralności z KRK.
🔍 Dekoder Ogłoszenia
🟡
Tworzymy rozwiązania działające blisko sprzętu – od sterowników w systemie Linux po firmware na mikrokontrolerach.
Może oznaczać zarówno pracę na niskim poziomie sprzętowym, jak i bardziej abstrakcyjne programowanie systemowe, w zależności od konkretnego projektu.
🟡
Projektowanie wydajnych i skalowalnych modułów backendowych.
Może sugerować pracę nad systemami serwerowymi, które niekoniecznie są bezpośrednio związane z embedded, ale są częścią większego systemu.
🟡
Udział w analizie problemów technicznych oraz proponowanie rozwiązań architektonicznych.
Może oznaczać zarówno realny wpływ na architekturę, jak i udział w dyskusjach bez decyzyjności.
🔴
Debugowanie problemów na poziomie systemu operacyjnego i sprzętu.
Wskazuje na potencjalnie trudne i czasochłonne zadania związane z rozwiązywaniem problemów na styku oprogramowania i sprzętu.