Position: Embedded Linux Developer (with GStreamer experience)
Company: Sigma Software
Category: C++
Experience required: 3y
English level: upper

CUSTOMER
We collaborate with an American developer of artificial intelligence and computer vision-based monitoring devices designed to track baby sleep behavior and patterns.

REQUIREMENTS:
- Strong Embedded Linux and GStreamer
- Good C and C++
- Upper-Intermediate level of English
- Experience in development of OS-less (bare metal) and RTOS-based solutions
- Knowledge of widely used platforms (ST, SiLabs, NXP, TI), interfaces, and protocols (UART, I2C, SPI, ModBus, CAN, USB, Ethernet, etc.)
Knowledge and practical experience in RTOS usage and IPC approaches
- Experience in debugging and troubleshooting solutions for embedded systems. It should include software debugging on real devices and debugging issues
- Knowledge of commonly used libraries (HALs, file system (FatFS, LittleFS), networking (lwIP or similar)
 

NICE TO HAVE:
- Experience in networking: TCP, UDP, MQTT, TLS
- Experience in Bluetooth, ZigBee, WiFi, etc.
- Good background in digital and analogue electronics
- Knowledge of standards/guidelines for safety improvements (MISRA C/C++, ISO26262, etc.)

RESPONSIBILITIES:
- Design separate components, modules, classes, devices
- Code, debug, document, and maintain portions of software and hardware
- Perform different types of testing
- Participate in estimation and planning sessions
- Contribute to the development of technical project documentation and user documentation
- Provide assistance to test engineers and support personnel in solving technical issues of software installation and its operation
- Participate in conference calls and face-to-face meetings with the Customer and Customer partners
- Comply with the best engineering practices,  technical standards, and quality criteria set forth on the project
- Report status and progress according to the project and company demands
- Spot current deficiencies in the development process, adopted procedures, and engineering practices, environment configurations, etc., and suggest improvements
- Escalate technical issues to the Architect, Team Lead, and Project Manager
Improve your qualification within the areas of expertise at various training courses, seminars, and/or other educational organizations

Ми збираємо нові команди для наших клієнтів у сферах охорони здоров’я та Інтернету речей. Для проєкту потрібні висококваліфіковані розробники з сильним аналітичним мисленням. Схоже на тебе? Тоді ласкаво просимо в команду! 

Ми працюємо з американським розробником пристроїв моніторингу на основі штучного інтелекту та комп’ютерного бачення, розроблених для відстеження поведінки та моделей сну дитини. 

Обов'язки
- Проектувати окремі компоненти, модулі, класи, пристрої 
- Кодувати, налагоджувати, документувати та підтримувати частини програмного та апаратного забезпечення 
- Проводити різні види тестування
- Брати участь у сесіях з оцінки та планування
- Сприяти розробці проектно-технічної документації та документації користувача 
- Надавати допомогу інженерам-тестувальникам і персоналу служби підтримки у вирішенні технічних питань встановлення та експлуатації програмного забезпечення 
- Брати участь у телефонних конференціях і особистих зустрічах із Замовником і партнерами Замовника 
- Слідувати найкращим інженерним практикам, технічним стандартам і критеріям якості, встановленим на проєкті 
- Звітувати про стан і прогрес відповідно до вимог проєкту та компанії 
- Виявляти поточні недоліки в процесі розробки, прийнятих процедурах та інженерних практиках, конфігураціях середовища тощо та пропонувати вдосконалення 
- Передавати технічні проблеми архітектору, керівнику групи та керівнику проекту 
- Підвищувати свою кваліфікацію за фахом на різних навчальних курсах, семінарах та/або в інших освітніх організаціях
- Сильні навички розробки вбудованих систем на Linux і GStreamer 
- Хороший рівень C і C++ 
- Рівень англійської мови Upper-Intermediate 
- Досвід розробки рішень без ОС (bare metal) і рішень на базі RTOS
- Знання широко використовуваних платформ (ST, SiLabs, NXP, TI), інтерфейсів та протоколів (UART, I2C, SPI, ModBus, CAN, USB, Ethernet тощо) 
- Знання та практичний досвід використання RTOS та підходів IPC
- Досвід налагодження та усунення несправностей в рішеннях для вбудованих систем
- Має включати  налагодження програмного забезпечення на реальних пристроях і усунення проблем
- Знання широко використовуваних бібліотек (HAL, файлова система (FatFS, LittleFS), мережа (lwIP або подібна). 

Добре мати: 
- Досвід роботи з мережами: TCP, UDP, MQTT, TLS 
- Досвід роботи з Bluetooth, ZigBee, WiFi тощо 
- Хороше знання цифрової та аналогової електроніки 
- Знання стандартів/інструкцій щодо підвищення безпеки (MISRA C/C++, ISO26262 тощо)

Вимоги:
- Сильні навички розробки вбудованих систем на Linux і GStreamer 
- Хороший рівень C і C++ 
- Рівень англійської мови Upper-Intermediate 
- Досвід розробки рішень без ОС (bare metal) і рішень на базі RTOS; 
- Знання широко використовуваних платформ (ST, SiLabs, NXP, TI), інтерфейсів та протоколів (UART, I2C, SPI, ModBus, CAN, USB, Ethernet тощо) 
- Знання та практичний досвід використання RTOS та підходів IPC
- Досвід налагодження та усунення несправностей в рішеннях для вбудованих систем. - Має включати  налагодження програмного забезпечення на реальних пристроях і усунення проблем
- Знання широко використовуваних бібліотек (HAL, файлова система (FatFS, LittleFS), мережа (lwIP або подібна)