ADAS Embedded Engineer
Summary
Embedded software engineer in Gurugram building ADAS features: writes device drivers, middleware, and BSPs for real-time Linux systems in C/C++/Embedded C, integrates CAN automotive protocols, and supports debugging, automation, and CI/CD-driven testing and validation.
Design, develop, and maintain embedded software for Advanced Driver Assistance Systems (ADAS) features.
Develop low-level software components including device drivers, middleware, and board support packages (BSP).
Work on real-time embedded systems using C/C++ and Embedded C in Linux-based environments.
Implement and integrate communication protocols such as CAN for automotive systems.
Develop and maintain scripts (Bash/Linux) for automation, build processes, and debugging.
Collaborate with cross-functional teams including hardware, systems, and validation teams for end-to-end feature development.
Perform debugging, root cause analysis, and performance optimization of embedded systems.
Work with version control systems (Git) and follow CI/CD practices aligned with DevOps methodologies.
Support system integration, testing, and validation of ADAS functionalities.
Participate in code reviews and ensure adherence to coding standards and best practices.
Requirements
Strong proficiency in C/C++ and Embedded C programming.
Hands-on experience in driver development and low-level system programming.
Strong experience working in Linux environments and Linux scripting.
Proficiency in Bash scripting for automation and system tasks.
Experience with CAN protocol and automotive communication systems.
Familiarity with Git and version control workflows.
Exposure to DevOps tools/processes (CI/CD pipelines, build automation).
Strong debugging and problem-solving skills in embedded systems.
Basic knowledge of Python or other scripting languages.
Understanding of hardware concepts at circuit level (schematics, interfaces, debugging).
Exposure to automotive standards, safety, and compliance (good to have).