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, video/image processing, networking
Deliverable
production ML models | product features
Required skills
C++ (memory management, system-level constraints), C#, Linux application development, Linux Drivers (V4L2, Serial, GPIO), image/video processing libraries (OpenCV, FFmpeg, GStreamer), software architecture design, code review
Preferred skills
None stated
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 following modern design patterns; 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
Seniority
Mid-level (1-5 years experience)