Embedded Software Engineer
at Ample, Inc.San Francisco
About Ample:

Are you ready to make a global impact? Ample, inc. is a cutting-edge electric vehicle battery swapping company at the forefront of sustainable transportation solutions. Our mission is to accelerate the global transition to clean and efficient mobility by revolutionizing the way EVs are powered. At Ample, we utilize advanced robotics to enable rapid and cost-effective modular battery swapping, making powering your electric car as convenient as a gas station visit. Our passionate team of technologists, designers, and environmental advocates is dedicated to addressing one of the most pressing challenges of our era. Join Ample and be part of our mission to make this accessible to billions of vehicles worldwide.

About the Role:

At Ample, you’ll be part of a forward-thinking team dedicated to making a meaningful impact on the world. Our commitment to sustainability and cutting-edge technology offers a unique opportunity to shape the future of transportation. We value diversity, innovation, and collaboration, and we provide a supportive work environment where your ideas can thrive.

As an Embedded Software Engineer on the Ample team, you will contribute to the design, development, and maintenance of embedded software systems for our battery swapping systems. The ideal candidate should have a strong background in embedded systems, real-time operating systems, and software development for embedded hardware platforms.



  • Develop firmware for CAN communication to enable the Ample Battery system to work with a variety of electric cars
  • Add features to embedded systems across Ample’s Battery and Charging systems
  • Develop software across Linux and other bare-metal and RTOS based microcontrollers
  • Debug issues occurring in the field based on logs and develop test cases for automation testing with hardware in the loop
  • Work closely with the electrical team to bring up new hardware

Minimum qualifications:

  • Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or related field
  • Experience developing in C/C++
  • Experience with industry standard communication protocols (SPI, I2C, CAN, UART)
  • Experience developing in a Linux environment
  • Strong communication skills and ability to work in a team environment
  • Ability to read and understand a datasheet

Preferred Qualifications

  • 3-5+ years of experience in embedded SW development
  • Experience with real-time operating system development (FreeRTOS)
  • Experience with developing and certifying functionally safe SW
  • Good understanding of computer architecture and operating systems
  • Hands-on experience with debugging embedded systems (Oscilloscope, Signal Analyzer)

We are an equal opportunity and E-verified Employer and value diversity at our company. We do not discriminate based on race, religion, color, national origin, sex, gender, gender expression, sexual orientation, age, marital status, veteran status.