Sr. Staff Autonomy Embedded Software Engineer

Rivian Rivian · Auto · Palo Alto, CA · Mechanical & Electrical Engineering

Sr. Staff Autonomy Embedded Software Engineer at Rivian responsible for the complete development cycle of embedded software for Radar sensing products, from application layer to low-level device drivers. Requires expertise in C, RTOS, board bring-up, and debugging complex system issues across hardware and software.

What you'd actually do

  1. Architect, design, develop and deploy embedded software components for board bring-up, verification, and validation of automotive electronics.
  2. Develop SW stack on bare-metal, RTOS and Linux, from application layer to device drivers.
  3. Develop software stack with bootloader, PTP time sync, cybersecurity, and functional safety.
  4. Mentor and guide a team of Software Engineers to design, develop, and deploy embedded software for board bring-up, verification, and debugging of automotive electronics.
  5. Work with HW and SW architects to collaborate on next-gen platform architecture with various SoCs and the software stack, share plans/roadmaps, and align deliverables.

Skills

Required

  • C programming
  • embedded systems
  • RTOS fundamentals
  • board bring-up
  • low-level drivers (SPI, I2C, UART, CAN, Ethernet, GPIO, timers, ADC/DAC, external memories)
  • embedded debugging tools (JTAG/SWD, Lauterbach, in-circuit debuggers, flashing tools)
  • lab equipment (oscilloscope, logic analyzer, multimeter, power supplies)
  • end-to-end debugging (firmware, hardware, test/application software)
  • cross-functional collaboration
  • technical communication

Nice to have

  • Python for tooling, scripting, or test automation
  • technical lead experience
  • automotive ECUs experience
  • platform/BSP development for MCU-based ECUs
  • Hardware components like sensors, gate drivers

What the JD emphasized

  • 8+ years of professional experience developing embedded software on microcontrollers (automotive, industrial, or similar safety-/reliability‑critical domains)
  • Master’s or Doctorate degree in Computer Science/Engineering or related field
  • Strong programming skills in C for embedded systems