TekPillar
TekPillarIn IT to Win IT

Middleware Developer (C/C++) - ADAS

🔥 HotNew

Job Type

Full-time

Work Mode

On-site

Compensation

₹10,00,000 - ₹40,00,000 / year

Experience

3+ years

Location

Bengaluru, Karnataka, India

Positions

2 openings

Industry

Automotive

Required Skills

C++ASPICEISO26262UDSADASCANBSPMultithreadingCI/CDGitYoctoDebuggingEthernetCmakeLinux Device DriversUnit Testingprofilingembedded SystemsCSOME/IPEmbedded LinuxMemory ManagementGDBValgrindLinux System ProgrammingPerformance OptimizationMIDDLEWARE DEVELOPMENTGOOGLE TESTD-BUSSHARED MEMORYBuildrootperfstraceIPC MechanismsROS2Cross CompilationPOSIX APIsMISRA C/C++DDSGoogle MockUnix domain socketsAUTOSAR AdaptiveThread safetyHardware Abstraction Layer (HAL)Modern C++ (C++14/17)POSIX Message Queues

Job Description

Job Summary

Join our dynamic team as a Middleware Developer specializing in C/C++ for cutting-edge ADAS (Advanced Driver Assistance Systems) platforms. In this role, you will design, develop, and optimize robust middleware solutions that enable reliable, low-latency communication and sensor data processing for autonomous driving systems. Your expertise will directly contribute to the safety, performance, and innovation of embedded Linux-based automotive software, working alongside industry-leading experts in a fast-paced, on-site environment in Bangalore.

Key Responsibilities

• Design, develop, and maintain high-quality C/C++ middleware components for embedded Linux ADAS and autonomous driving platforms.
• Implement and optimize inter-process communication (IPC) mechanisms such as shared memory, Unix domain sockets, POSIX message queues, and D-Bus to ensure reliable, low-latency data exchange.
• Develop embedded Linux system services including background daemons, configuration management, logging, health monitoring, and error recovery functionalities.
• Create and integrate Hardware Abstraction Layers (HAL) to standardize interfaces between device drivers, platform services, and application software.
• Build middleware interfaces to route and process sensor data from cameras, LiDAR, radar, and vehicle communication systems.
• Integrate automotive communication protocols including CAN, Ethernet, SOME/IP, and UDS into middleware services.
• Extend and optimize existing C++ middleware frameworks, adhering to established architecture and coding standards.
• Incorporate third-party libraries and silicon vendor SDKs through clean, maintainable, and testable C++ interfaces.
• Debug and profile middleware to improve CPU usage, memory consumption, latency, and thread safety using tools like GDB, Valgrind, strace, and perf.
• Develop and maintain unit and integration tests using Google Test and Google Mock, integrating them into CI/CD pipelines for continuous quality assurance.
• Collaborate closely with firmware, device driver, platform, validation, and ADAS application teams during integration and deployment phases.
• Follow structured software development practices including code reviews, documentation, static analysis, and performance testing to ensure robust and maintainable software delivery.

Required Skills and Qualifications

• Minimum of 3+ years professional experience in C/C++ development, preferably in middleware, embedded Linux, or system-level software.
• Strong proficiency in modern C++ (C++14/17) including the STL, smart pointers, RAII, templates, and multithreading concepts.
• In-depth knowledge of Linux system programming, including process and thread management, synchronization, file descriptors, and POSIX APIs.
• Hands-on experience designing and implementing IPC mechanisms such as shared memory, Unix domain sockets, POSIX message queues, and D-Bus.
• Expertise with CMake and working within Linux-based build environments.
• Proficient in unit testing frameworks such as Google Test and Google Mock.
• Familiarity with Git, CI/CD pipelines, and modern software development workflows.
• Skilled in debugging and profiling using tools like GDB, Valgrind, strace, and perf.
• Strong understanding of multithreading, synchronization, memory management, and performance optimization techniques.
• Experience developing modular, testable, and maintainable software in large shared C++ codebases.
• Solid knowledge of embedded Linux, hardware-software integration, and latency-sensitive systems.
• Excellent analytical, debugging, and problem-solving skills.
• Ability to work on-site in Bangalore on a full-time basis.

Preferred Qualifications

• Experience working with automotive middleware and ADAS platforms.
• Familiarity with automotive communication protocols such as CAN, SOME/IP, and UDS.
• Exposure to middleware frameworks like AUTOSAR Adaptive, ROS 2, or DDS.
• Knowledge of embedded Linux build systems such as Yocto/OpenEmbedded or Buildroot.
• Understanding of Linux device drivers, Board Support Packages (BSPs), and cross-compilation for ARM platforms.
• Experience with zero-copy IPC frameworks such as Eclipse iceoryx or shared-memory transports.
• Awareness of automotive safety and quality standards including ISO 26262, ASPICE, and MISRA-C/C++.
• Familiarity with systemd services, serialization frameworks like Protocol Buffers or FlatBuffers, and Linux real-time concepts.
• Experience integrating third-party or silicon-vendor SDKs into embedded software platforms.
• Basic understanding of ADAS concepts, including perception, sensor fusion, and autonomous driving systems.

Apply for this role

Fill in your details — no account needed

Drag & drop or click to upload

PDF, DOC, DOCX (max 10MB)

Already have an account? Sign in