Embedded Software Engineer (C++/Linux)
Core
Design and implement scalable multi-threaded C++ software for high-speed data processing and networking on Linux-based edge devices.
Role type
Embedded Software Engineer (C++/Linux)
Builds
Firmware modules for edge devices
Domain
Embedded systems / IoT / Video processing
Required skills
C++, C#, Linux, multi-threading, Object Oriented Design, Linux Drivers (V4L2, Serial, GPIO), memory management, system-level programming, OpenCV, FFmpeg, GStreamer
Preferred skills
Image and video processing libraries
Technologies
C++, C#, Linux, OpenCV, FFmpeg, GStreamer, V4L2
Responsibilities
Design and implement sophisticated scalable multi-threaded Object Oriented Software in C++ and C#; Design advanced software modules that follow modern design patterns; Experience interacting with Linux Drivers (V4L2, Serial, GPIO) in user-space; Create design documents on software architecture and algorithms; Collaborate with Hardware designers on board bring-up and debug; Review code of peers for adherence to coding standards and design guidelines.
