Senior Embedded C / C++ Engineer (f / m/x)
Kraków, PolskaNajważniejsze cechy oferty
Min. 5 lat doświadczenia
Model hybrydowy - część pracy zdalnie
Pełny etat
Prywatna opieka medyczna
Opis
Szukamy Senior Embedded C/C++ Engineer do naszego zespołu w Krakowie. W tej roli będziesz odpowiedzialny za projektowanie i rozwijanie systemów operacyjnych czasu rzeczywistego dla kontrolerów wbudowanych, koncentrując się na procesorach DSP Texas Instruments i ARM. Będziesz ściśle współpracować z inżynierami kontroli, sprzętu, systemów i testów, aby zapewnić bezproblemową integrację oprogramowania układowego z różnymi komponentami. Ta pozycja oferuje hybrydowy model pracy, umożliwiający elastyczność w środowisku pracy. Jeśli pasjonujesz się systemami wbudowanymi i programowaniem niskopoziomowym, ta oferta może być odpowiednia dla Ciebie.
Benefity
Great Place to Work
Stabilna sytuacja finansowa
Kontrakty z globalnymi markami
Centrum szkoleń wewnętrznych
Wielu ekspertów, od których możesz się uczyć
Otwarty i dostępny zarząd
Profit sharing
Program Sponsoringu Pasji
Cykliczne imprezy i wyjazdy integracyjne
Komfortowe i dobrze wyposażone biura
Aplikacja MySii
Opieka medyczna
Wymagania
Minimum 5-letnie doświadczenie w rozwoju oprogramowania wbudowanego z silnym naciskiem na C/C++
Znajomość procesorów DSP Texas Instruments i ARM
Praktyczne doświadczenie z systemami operacyjnymi czasu rzeczywistego (RTOS)
Biegłość w implementacji mechanizmów bootloadera i aktualizacji oprogramowania układowego
Zaawansowany poziom języka polskiego i angielskiego
Miejsce zamieszkania w Polsce
Zakres obowiązków
Projektowanie i rozwijanie systemów operacyjnych czasu rzeczywistego dla kontrolerów wbudowanych, w tym synchronizacja wielu kontrolerów
Implementacja funkcjonalności bootloadera w celu zapewnienia niezawodnego wykonywania oprogramowania układowego z kontrolą integralności i bezpiecznym zachowaniem podczas uruchamiania
Rozwój menedżera parametrów, który wspiera tworzenie, usuwanie, nazywanie, typowanie danych, parametry pochodne, wartości domyślne, pamięć nieulotną oraz rejestrowanie zmian
Tworzenie funkcji menedżera aktualizacji oprogramowania układowego dla kontrolerów głównych i komórkowych, w tym kontrole zgodności, powiadomienia o awariach i zachowanie przywracania
Wkład w ocenę i wdrażanie mechanizmów transferu plików dla aktualizacji oprogramowania układowego, w tym podejść opartych na EtherCAT
Rozwój funkcjonalności rejestratora błędów przejściowych w celu rejestrowania zmiennych przed, w trakcie i po zdarzeniach błędów, w tym warunki wyzwalania i strategie próbkowania
Implementacja logowania z uwzględnieniem czasu dla rejestrów błędów, z uwzględnieniem przepustowości komunikacyjnej i ograniczeń synchronizacji
Rozwój oprogramowania układowego w czasie rzeczywistym w C lub C++ dla mikrokontrolerów i procesorów sygnałowych używanych w sprzęcie elektronicznym mocy
Debugowanie, weryfikacja i walidacja przy użyciu sprzętu laboratoryjnego, takiego jak oscyloskopy i analizatory logiczne
Przygotowywanie jasnej dokumentacji technicznej, w tym wymagań dotyczących oprogramowania, architektury, opisów interfejsów i procedur testowych
Wkład w przeglądy kodu, zarządzanie konfiguracją i praktyki jakości oprogramowania