About the job C++ Developer
Company Description
We are a consulting company with a bunch of technology-interested and happy people!
We love technology, we love design and we love quality. Our diversity makes us unique and creates an inclusive and welcoming workplace where each individual is highly valued.
With us, each individual is her/himself and respects others for who they are and we believe that when a fantastic mix of people gather and share their knowledge, experiences and ideas, we can help our customers on a completely different level.
We are looking for you who want to grow with us!
With us, you have great opportunities to take real steps in your career and the opportunity to take great responsibility.
JOB DESCRIPTION:
Note: 5 to 8 Years
Seeking a highly skilled and motivated Software Engineer specialising in C++ and Adaptive
AUTOSAR to join their ADAS development team. In this role, you will be responsible for designing and implementing the Vehicle Abstraction Layer (VAL). Your primary goal will be to decouple high-level ADAS perception and planning algorithms from the underlying vehicle hardware and communication protocols, ensuring seamless integration, scalability, and safety-critical performance.
Key Responsibilities
1.Architect & Develop VAL: Design and develop robust Vehicle Abstraction Layers that provide a standardised interface for ADAS applications to interact with vehicle actuators (steering, braking, acceleration) and sensors.
2.Adaptive AUTOSAR Implementation: Develop and integrate software components within an Adaptive AUTOSAR framework, focusing on Service-Oriented Architecture (SOA) and SOME/IP communication.
3.C++ Software Engineering: Write high-performance, memory-efficient, and MISRA-compliant C++ code (C++14/17/20) optimised for embedded automotive platforms.
4.Communication Protocols: Implement and manage data exchange between high-level ADAS controllers and low-level ECUs using protocols such as SOME/IP, DoIP, CAN/CAN-FD, and Ethernet.
5.Hardware Abstraction: Develop drivers and abstraction logic to hide hardware complexity, enabling easier porting of ADAS software across different vehicle platforms.
6.Safety & Standards: Ensure all software development adheres to functional safety standards (ISO 26262) and automotive coding guidelines (MISRA C++, AUTOSAR).
7.Testing & Validation: Perform unit testing, integration testing, and Hardware-in-the-Loop (HiL) testing to validate the VAL's reliability and timing constraints.
Required Technical Skills
Programming: Advanced proficiency in C++ (C++ 11/C++14/C++17 preferred) and understanding of low-level memory management and concurrency. Strong understanding of SOLID principles and design patterns.
Middleware: Hands-on experience with Adaptive AUTOSAR stack (e.g., Vector MICROSAR Adaptive, EB Tresos, or similar).
Architecture: Strong understanding of Service-Oriented Architecture (SOA) and the concept of Vehicle Abstraction Layers.
Automotive Networking: Deep knowledge of SOME/IP, Ethernet communication, and traditional CAN/CAN-FD protocols.
OS Knowledge: Experience working with POSIX-based operating systems (e.g., QNX, Linux/RTOS).
Tools: Proficiency with Git, CMake, GDB, and debugging tools (Lauterbach, CANalyzer, or CANoe), and CI/CD pipelines.
Preferred Qualifications
Experience in ADAS/AD functionalities (e.g., ACC, LKA, AEB, or Automated Parking).
Knowledge of ISO 26262 (ASIL D) functional safety processes and documentation.
Experience with hypervisors or virtualisation in automotive computing platforms.
Familiarity with CI/CD pipelines for embedded software development.
Soft Skills
Strong analytical and problem-solving capabilities.
Excellent communication skills to collaborate in a cross-functional, global environment.
Ability to work independently in a fast-paced, agile development setup.