Do zespołu realizującego projekt z obszaru Embedded Systems / IoT poszukujemy doświadczonego Senior Embedded Linux Developera, który będzie odpowiedzialny przede wszystkim za rozwój aplikacji działających na urządzeniach z systemem Embedded Linux.Projekt koncentruje się na tworzeniu oprogramowania dla urządzeń IoT, w szczególności aplikacji rozwijanych w językach C i C++, działających w przestrzeni użytkownika (user-space) systemu Linux.Około 80% projektu obejmuje rozwój aplikacji w C/C++, natomiast pozostałe 20% dotyczy zagadnień związanych z Yocto i środowiskiem systemowym.Szukamy osoby z bardzo dobrym doświadczeniem w tworzeniu aplikacji Embedded Linux, która potrafi samodzielnie projektować, rozwijać, optymalizować i debugować oprogramowanie.
Lokalizacja: 100% zdalnie (mile widziani kandydaci z Wrocławia i okolic)
Model współpracy: B2BTwój zakres obowiązków
Twój zakres obowiązków
- Projektowanie, rozwój i utrzymanie aplikacji C/C++ działających w środowisku Embedded Linux (user-space).
- Tworzenie aplikacji wielowątkowych, asynchronicznych i zdarzeniowych.
- Implementacja mechanizmów synchronizacji procesów i wątków (mutex, semaphore, condition variable).
- Rozwój oprogramowania komunikującego się z urządzeniami IoT, m.in. z wykorzystaniem protokołu MQTT.
- Tworzenie i optymalizacja procesów budowania aplikacji z wykorzystaniem CMake.
- Konfiguracja i utrzymanie usług systemowych z wykorzystaniem systemd.
- Integracja aplikacji z relacyjnymi bazami danych, w szczególności SQLite3.
- Tworzenie skryptów i narzędzi wspomagających w Pythonie.
- Debugowanie, analiza błędów oraz optymalizacja wydajności aplikacji.
- Współpraca przy integracji aplikacji ze środowiskiem Embedded Linux.
- W zależności od potrzeb projektu – wsparcie w konfiguracji i rozwoju środowiska Yocto.
Nasze wymaganiaMust-have:
- Około 8 lat doświadczenia komercyjnego w rozwoju oprogramowania, w tym praktyczne doświadczenie z systemami Embedded Linux.
- Bardzo dobra znajomość C i C++, szczególnie w kontekście tworzenia aplikacji user-space dla systemów Linux.
- Doświadczenie w projektowaniu i rozwijaniu aplikacji wielowątkowych.
- Praktyczna znajomość mechanizmów synchronizacji: mutex, semaphore, condition variable.
- Doświadczenie w programowaniu asynchronicznym i zdarzeniowym.
- Dobra znajomość środowiska Linux oraz mechanizmów działania aplikacji systemowych.
- Praktyczna znajomość CMake.
- Znajomość Python do tworzenia skryptów, narzędzi i automatyzacji testów.
- Znajomość protokołu MQTT oraz komunikacji między urządzeniami IoT.
- Znajomość formatów wymiany danych, szczególnie JSON.
- Doświadczenie w pracy z systemd (usługi, timery, konfiguracja uruchamiania aplikacji).
- Znajomość relacyjnych baz danych, szczególnie SQLite3.
- Samodzielność w analizowaniu i rozwiązywaniu problemów technicznych.
Mile widzianeEmbedded Linux / Yocto:
- Znajomość Yocto Project, w tym tworzenia i modyfikowania recipes.
- Doświadczenie w konfiguracji MACHINE i DISTRO oraz integracji pakietów.
- Znajomość Board Support Package (BSP).
- Doświadczenie w konfiguracji i customizacji Linux Kernel.
- Znajomość U-Boot oraz Device Tree (DTS/DTSI).
- Doświadczenie w uruchamianiu i integracji nowego sprzętu na platformach Embedded Linux.
Hardware:
- Umiejętność korzystania z oscyloskopu, analizatora logicznego i multimetru.
- Doświadczenie w podstawowych pomiarach elektrycznych.
- Podstawowe umiejętności związane z debugowaniem hardware, np. lutowanie elementów SMD.
Dziękujemy za wszystkie zgłoszenia — skontaktujemy się z wybranymi osobami.
TQLO Sp. z o.o. – nr KRAZ: 33580