Fast-growing technology company is focused on developing next-generation autonomous driving systems powered by advanced machine learning and embodied AI. Their approach centres on building end-to-end software that enables vehicles to learn from real-world data, allowing for scalable, adaptive, and safe autonomy without relying on traditional rule-based systems. Operating at the intersection of robotics, AI, and automotive engineering, they collaborate with global partners to deploy their technology across diverse environments and markets.
As part of their continued growth, they are seeking a C++ Embedded Systems Engineer to join their global software team. This role will involve designing, developing, and optimising high-performance embedded software that supports real-time decision-making on vehicle platforms, contributing directly to the advancement of autonomous mobility.
Key Responsibilities
As part of their continued growth, they are seeking a C++ Embedded Systems Engineer to join their global software team. This role will involve designing, developing, and optimising high-performance embedded software that supports real-time decision-making on vehicle platforms, contributing directly to the advancement of autonomous mobility.
Key Responsibilities
- Execute software bring-up on customer hardware platforms (e.g., automotive-grade SoCs and ADAS compute platforms).
- Port and configure Linux-based systems, real-time operating systems, and Adaptive AUTOSAR environments.
- Integrate and validate drivers, middleware, and boot-time configurations.
- Collaborate with Verification and Release teams to integrate hardware into CI/CD pipelines, Hardware-in-the-Loop (HIL), and test infrastructure.
- Work with OEM and Tier 1 partners to resolve hardware-specific integration issues.
- Implement system-level diagnostics, logging, and secure boot configurations.
- Develop automation for hardware setup, flashing, health checks, and test execution on target platforms.
- 5+ years of experience in embedded or automotive software development, with hands-on platform bring-up experience.
- Strong proficiency in C++, Bash, and Python.
- Proven experience working with and modifying middleware (e.g., DDS-based systems) and communication protocols such as gRPC or similar.
- Deep understanding of Linux-based embedded systems (e.g., Yocto, systemd, bootloaders, device trees).
- Familiarity with real-time operating systems and Adaptive AUTOSAR environments, including configuration and debugging on target hardware.
- Experience with bring-up on automotive-grade SoCs (e.g., NVIDIA Orin-class, Qualcomm Ride-class, Renesas, TI, or similar platforms).
- Comfortable using hardware debuggers, flashing tools, serial consoles, and board support packages (BSPs).
- Familiarity with communication protocols such as CAN, Ethernet, PCIe, SPI, and I2C.
- Hands-on experience integrating embedded platforms into CI/CD pipelines and test automation frameworks.
- Exposure to automotive verification environments (e.g., HIL systems, Vector toolchains, custom CI rigs).
- Experience working in safety-critical domains, with knowledge of ISO 26262, boot-time determinism, and watchdog mechanisms.
- Understanding of secure boot, OTA updates, and system-level cybersecurity principles.
- Familiarity with containerisation, CI tooling, version control systems, and artifact management platforms.