Senior Embedded Software Engineer

Motional • Remote • 4 days ago

Mission Summary 

The Infrastructure team designs and develops high quality software to leverage embedded compute platforms for autonomy stack development. Most of the software we write will affect safety critical applications on the Motional vehicle platforms. We are a team of engineers who bring a broad experience in software development and leverage this to develop software which pushes the boundaries of what has been achieved in the autonomous vehicle safety space.

We are looking for engineers who are motivated to solve hard problems and can lead development of complex safety-critical software components on embedded platforms. This is a remote role. 

What You’ll Be Doing:

  • Designing and developing infrastructure software on various hardware platforms for applications such as Vision Processing, Radar systems, Safety monitoring etc., to be run on self-driving vehicles
  • Designing firmware components such as device drivers and kernel libraries
  • Designing test harnesses for embedded software components as well as full systems
  • Providing technical mentorship to engineers
  • Proactively supports the team with engineering support in their product area.

What We’re Looking For:

  • Experience with creating detailed requirements from use cases.
  • Ability to lead a technical initiative, including breaking down work and guiding other engineers through execution.
  • Experience writing software for embedded platforms in C and C++.
  • Experience with TDD – unit tests and integration tests.
  • Experience working on embedded Linux / RTOSs.
  • Experience working with networks (Ethernet, CAN etc.) and the common networking protocols.
  • Experience with debugging on embedded platforms.
  • Experience writing software in Python and experience doing automation with shell scripting.
  • Experience working with ARM Cortex MCUs or Microprocessors

Bonus Points (not required):

  • Experience working with large data pipelines, and platforms that require deterministic execution.
  • Experience using inter-system communication protocols such as I2C and SPI
  • Experience deploying Machine Learning models.
  • Experience working with FGPAs and GPUs.
  • Experience working directly with the Linux kernel or Device Drivers.
  • Experience working with RTOSs such as FreeRTOS, ThreadX or PreemptRT.
  • Experience with Simulation and Code Generation, and knowing when their use is appropriate.

The salary range for this role is an estimate based on a wide range of compensation factors including but not limited to specific skills, experience and expertise, role location, certifications, licenses, and business needs. The estimated compensation range listed in this job posting reflects base salary only. This role may include additional forms of compensation such as a bonus or company equity. The recruiter assigned to this role can share more information about the specific compensation and benefit details associated with this role during the hiring process. 

Candidates for certain positions are eligible to participate in Motional’s benefits program. Motional’s benefits include but are not limited to medical, dental, vision, 401k with a company match, health saving accounts, life insurance, pet insurance, and more.

Related jobs in Remote