Senior Embedded Linux Engineer Yocto
Wymagania
- Doświadczenie w pracy z systemami Embedded Linux.
- Praktyczna znajomość języka C w programowaniu aplikacji user-space w systemach Linux.
- Dobra znajomość C++ i doświadczenie w tworzeniu aplikacji dla środowisk Embedded Linux.
- Doświadczenie w programowaniu wielowątkowym oraz znajomość mechanizmów synchronizacji, takich jak mutex, semaphore i condition variable.
- Doświadczenie w tworzeniu aplikacji asynchronicznych i zdarzeniowych.
- Znajomość CMake i konfiguracji procesu budowania oprogramowania.
- Znajomość Pythona w zakresie skryptów, narzędzi wspierających, testów automatycznych i walidacji.
- Znajomość protokołu MQTT oraz komunikacji między urządzeniami IoT.
- Znajomość formatów wymiany danych, w szczególności JSON.
- Dobra znajomość systemd, w tym konfiguracji usług, timerów i uruchamiania aplikacji.
- Znajomość relacyjnych baz danych, szczególnie SQLite3.
- Doświadczenie w pracy z Yocto Project, w tym tworzeniu i modyfikacji recipes, konfiguracji MACHINE i DISTRO oraz integracji pakietów i aplikacji.
- Doświadczenie w przygotowywaniu i utrzymaniu BSP.
- Znajomość konfiguracji i customizacji Linux Kernel oraz U-Boot.
- Umiejętność tworzenia, modyfikowania i analizowania Device Tree (DTS/DTSI).
- Doświadczenie w uruchamianiu nowego sprzętu i integracji komponentów na platformach Embedded Linux.
Wymagania sprzętowe
- Praktyczna umiejętność obsługi oscyloskopu, analizatora logicznego i multimetru.
- Umiejętność wykonywania podstawowych pomiarów elektrycznych, obejmujących napięcie, prąd i sygnały cyfrowe.
- Umiejętność wykonywania prostych modyfikacji sprzętowych, w tym lutowania elementów SMD.
- Doświadczenie w podłączaniu przewodów pomiarowych i przygotowywaniu stanowiska do debugowania sprzętu.
Mile widziane
- Znajomość Git i doświadczenie w pracy z wykorzystaniem Code Review.
- Doświadczenie z narzędziami CI/CD, takimi jak GitLab CI lub Jenkins.
- Znajomość Dockera.
- Doświadczenie z architekturami ARM Cortex-A.
Dołącz do projektu realizowanego dla międzynarodowej firmy inżynieryjnej, specjalizującej się w rozwoju technologii, oprogramowania oraz zaawansowanych produktów przemysłowych.
Poszukujemy doświadczonego Embedded Linux Engineer, który będzie uczestniczyć w rozwoju nowoczesnego urządzenia IoT. Projekt łączy programowanie aplikacji w środowisku Embedded Linux z konfiguracją i rozwojem systemu operacyjnego przy użyciu Yocto Project.
Około 70–80% czasu pracy będzie poświęcone rozwojowi aplikacji w językach C i C++, a pozostałe 20–30% zadaniom związanym z Yocto, integracją oprogramowania i konfiguracją platformy sprzętowej.
Jeśli masz doświadczenie w rozwoju aplikacji Embedded Linux, dobrze znasz C/C++ i pracowałeś z Yocto Project, zapraszamy do aplikowania!
,[Rozwój i utrzymanie aplikacji działających w środowisku Embedded Linux z wykorzystaniem C i C++. , Tworzenie aplikacji wielowątkowych, asynchronicznych i zdarzeniowych. , Implementacja komunikacji pomiędzy urządzeniami IoT z wykorzystaniem protokołu MQTT. , Integracja aplikacji z usługami systemowymi, w tym systemd, oraz bazami danych SQLite3. , Tworzenie skryptów, narzędzi wspierających rozwój i testów automatycznych w Pythonie. , Konfiguracja procesu budowania oprogramowania z wykorzystaniem CMake. , Rozwój i utrzymanie środowiska Yocto Project, w tym tworzenie i modyfikacja recipes oraz konfiguracja MACHINE i DISTRO. , Integracja aplikacji i pakietów oraz przygotowywanie i utrzymanie Board Support Package (BSP). , Konfiguracja i dostosowywanie Linux Kernel, U-Boot oraz Device Tree (DTS/DTSI). , Uruchamianie i integracja nowego sprzętu na platformach Embedded Linux. , Debugowanie i testowanie rozwiązań na poziomie oprogramowania i sprzętu. ] Requirements: Linux, C, C++, Yocto, IoT, Yocto Project, MQTT, Python, CMake, JSON, SMD, Git, CD, GitLab CI, Jenkins, Docker, ARM Additionally: Remote work.