Senior Embedded Linux Engineer (Yocto)

Square One ResourcesCracow, Gdańsk, Gdynia, Poznan, Warsawnofluffjobsippubblikat 13/10/2026
Meħtieġ: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