Wdrażanie wymagań dotyczących oprogramowania wyrobów medycznych, wynikających m.in. z norm IEC 62304, IEC 60601 oraz ISO 14971, a także z regulacji MDR i FDA.
Dokumentowanie oprogramowania zgodnie z obowiązującymi normami i regulacjami.
Opracowywanie architektury oprogramowania oraz wymagań funkcjonalnych.
Prowadzenie procesów oceny ryzyka i analizy bezpieczeństwa oprogramowania.
Tworzenie instrukcji, procedur oraz wdrażanie procesów podnoszących jakość oprogramowania.
Koordynacja pracy zespołu programistów, w tym planowanie zadań, przegląd kodu i weryfikacja postępów prac.
Współpraca międzydziałowa z zespołami programistów, elektroników, mechaników i testerów w celu zapewnienia spójności systemu.
Mentoring, rozwijanie kompetencji zespołu oraz promowanie dobrych praktyk inżynierskich.
Utrzymanie i rozwój istniejącej bazy kodu (głównie w językach C i C++) dla mikrokontrolerów oraz mikrokomputerów jednopłytkowych.
Przegląd i weryfikacja kodu pod kątem zgodności z wymaganiami oraz implementacja poprawek.
Wdrażanie rozwiązań związanych z bezpieczeństwem funkcjonalnym.
Opracowywanie i nadzorowanie testów jednostkowych, integracyjnych i systemowych.
Samodzielne podejmowanie decyzji i inicjatywa w całym cyklu rozwoju urządzenia medycznego, w tym aktywne pozyskiwanie informacji i rozwiązywanie problemów.
requirements-expected :
Doświadczenie zawodowe w programowaniu pod systemy wbudowane.
Znajomość języka C (wskaźniki, operacje bitowe, struktury) i podstaw C++.
Znajomość zagadnień z dziedziny systemów wbudowanych i pokrewnych.
Wiedza o specyfice programowania w bare-metal, z użyciem HAL, i RTOS.
Rozumienie zagadnień dot. wielowątkowości i systemów czasu rzeczywistego.
Umiejętność obsługi wiersza poleceń oraz użytkowania i konfiguracji Linuxa.
Umiejętność analizy i debugowania problemów sprzętowych i programowych.
Doświadczenie w pracy z różnymi układami SoC, czujnikami i przetwornikami.
Doświadczenie w projektowaniu, integracji oraz testowaniu oprogramowania.
Umiejętność pisania testów jednostkowych, integracyjnych oraz systemowych.
Podstawowa znajomość wymagań i standardów w środowiskach safety-critical.
Język angielski na poziomie umożliwiającym czytanie dokumentacji technicznej.
Znajomość podstawowych narzędzi do kontroli wersji, diagnostyki i debugowania.
Praca z narzędziami: Git, Bash, CMake, STM32CubeIDE, Keil, Docker, CI/CD, itp.