
Middleware Dev (NCS/Job/ 3123)
Job Skills
Job Description
Key Responsibilities
• Develop and enhance Linux embedded audio/generic software across user-space
and middleware layers.
• Design, integrate, and debug audio frameworks including PulseAudio and
GStreamer.
• Implement and maintain audio pipelines, routing, and control paths for playback
and capture use cases.
• Work on Linux inter-process communication (IPC) mechanisms including:
o Sockets
o DBus
o Shared memory and signaling constructs where applicable
• Integrate audio software with hardware and driver layers, ensuring correct
interaction between software and underlying audio hardware.
• Build and customize Linux images using Yocto, including recipe modifications and
audio component integration.
• Debug system-level issues involving software–hardware interaction, timing, latency,
and synchronization.
• Collaborate with cross-functional teams (kernel, BSP, hardware, and system teams)
to deliver stable and optimized audio solutions.
• Perform code reviews, root-cause analysis, and contribute to design and technical
documentation.
• Support performance, stability, and power optimization for audio use cases on
embedded platforms.
Must-Have Skills
• Strong proficiency in C programming, with experience writing efficient and
maintainable code.
• Hands-on experience with Linux Embedded systems.
• Solid understanding of audio concepts (PCM, sampling rates, latency, buffering,
pipelines).
• Practical experience with PulseAudio and/or GStreamer frameworks.
• Experience working with Linux IPC mechanisms:
• Sockets
• DBus
• Good understanding of software–hardware interaction, including binder-like
abstractions and interface layers between software components and hardware
drivers.
• Experience with Yocto build system and Linux image customization.
• Strong debugging skills across user-space and system-level software.
• Ability to read and understand complex existing codebases.
Desirable Skills
• Exposure to Linux audio subsystems (ALSA, middleware-to-driver interaction).
• Experience in embedded audio driver interaction or audio HAL-like layers.
• Familiarity with multi-process architectures and service-based designs.