Requirements
The role requires 1-3 years of experience in software development or autonomous systems, with hands-on experience in Yocto/OpenEmbedded, BSP customization, middleware development, and performance-critical or real-time systems. Strong technical skills include Linux internals, C/C++ programming, bash scripting, IPC mechanisms, multi-threading, debugging, and system architecture. Soft skills encompass communication, documentation, collaboration, and problem-solving.
Description
Purpose of the job: Design and develop a robust embedded Linux platform that supports high-performance edge applications. The role focuses on OS customization, middleware development, and efficient inter-process communication, enabling scalable Software-Defined Vehicle (SDV) and Edge AI systems. Job Responsibilities & Duties: • Customize and maintain embedded Linux systems (bootloader, kernel, root filesystem) • Develop and manage Yocto/OpenEmbedded build environments and BSP layers • Design and implement middleware services for modular and service-oriented architectures • Develop and optimize inter-process communication (IPC) mechanisms (shared memory, sockets, message queues) • Implement high-performance data pipelines using zero-copy and efficient buffer management techniques • Integrate communication frameworks (e.g., SOME/IP, DDS, gRPC, or custom protocols) • Support integration of sensor pipelines (camera, radar, etc.) into the platform • Analyze and optimize system performance (latency, memory usage, throughput) • Debug and resolve system-level issues across kernels, drivers, and user space.Deployment on GPUs. Education: Bachelor's degree in Computer Engineering or a related field (Master's is a plus). Required Experience: • (1-3) years of related experience in software development or autonomous systems • Hands-on experience with Yocto/OpenEmbedded and BSP customization • Experience in developing or integrating middleware systems • Proven experience working on performance-critical or real-time systems SKILLS AND ABILITIES Technical Skills: • Strong understanding of Linux internals (kernel, scheduling, memory management) • Proficiency in C/C++ programming • Proficiency in bash/shell scripting • Deep knowledge of IPC mechanisms (shared memory, zero-copy, sockets) • Familiarity with multi-threading and concurrency models • Strong debugging and profiling skills (e.g., gdb, perf, strace) • Understanding of system architecture (service-oriented design) • Familiarity with containerization (e.g., Docker) • Knowledge of high-speed interfaces (Ethernet, PCIe, GMSL) is a plus • Experience in automotive/ADAS or SDV platforms is a plus • ROS2, Gstreamer is a plus • Experience with serialization frameworks (e.g., Protocol Buffers) is a plus Soft Skills • Strong communication and documentation skills • Ability to collaborate in cross-functional teams • Problem-solving mindset and capability to work in fast-paced R&D environments