DiDi Labs is hiring an

Embedded Software Engineer – Autonomous Vehicle

Fremont, United States

Didi Chuxing (“DiDi”) is the world’s leading mobile transportation platform. We’re committed to working with communities and partners to solve the world’s transportation, environmental, and employment challenges by using big data-driven deep-learning algorithms that optimize resource allocation.

Didi Chuxing’s Autonomous-Driving team was established in 2016, and has grown to a comprehensive research and development organization covering HD mapping, perception, behavior prediction, planning and control, infrastructure and simulation, labeling, hardware, mechanical, problem diagnosis, vehicle modifications, connected car, and security, among others. We’re developing and testing self-driving vehicles in China and the United States.

In August 2019, DiDi upgraded its autonomous driving unit to an independent company to focus on R&D, product application, and business development related to self-driving technologies. The new company will integrate the resources and technology of DiDi’s platform, continue to increase investment in R&D, and deepen collaboration with auto industry partners.

We’re now looking for an Embedded Software Engineer to join our team. The ideal candidates will architect and implement software stacks on embedded computing platform with a limited computing resource. The candidate will also interact with software engineers and hardware engineers to optimize the system performance and enable product deployment.


  • Work with system engineers to understand system architecture and computing need; provide guidance on computing system architecture and performance requirement.
  • Architect the embedded software stack based on system requirement, with flexibility for future functionalities and features
  • Define software interface and message protocol with software team
  • Provide guidance on hardware interface requirement to hardware engineers
  • Create embedded software testing and validation platform for co-validation with hardware team
  • Work with hardware and software team for system bring-up and debugging


  • M.S. in Electrical Engineering or Computer Science with 3+ years’ experience or BS with 5+ years' related industrial experience
  • Knowledge of embedded Linux and RTOS system
  • Experience with developing Linux kernel driver
  • Experience with a peripheral communication protocol, including SPI, I2C, and SDIO
  • 5+ years’ experience with a programming language such as C, C++, Java, Python, etc.

Preferred Qualifications:

  • Knowledge and experience with high-performance DMA
  • Experience with real-time systems
  • Experience with Ethernet protocol
  • Experience with SoC programming is a plus
  • Experience with ARM application processor
  • Experience with debugging techniques on embedded systems

Looking for a job?

Embedded Software Engineer – Autonomous Vehicle at DiDi Labs looks great, right? We have dozens of similar job posts on our site, interested? Leave your email and we'll send the best matches.