Senior Embedded Linux Engineer (Yocto)

Square One ResourcesCracow, Gdańsk, Gdynia, Poznan, Warsawnofluffjobsopublikowano 13.10.2026
Wymagane:PythonGitDockerCI/CD

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!

Daily tasks

  • 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

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.

Must have: Linux, C, C++, Yocto, IoT, Yocto Project, MQTT, Python, CMake, JSON

Nice to have: SMD, Git, CD, GitLab CI, Jenkins, Docker, ARM