Figure
Sr. Embedded Software EngineerSan Jose, CA
Figure, Sunnyvale, California, United States, 94087
Figure is an AI Robotics company developing a general purpose humanoid. Our Humanoid is designed for corporate tasks targeting labor shortages and jobs that are undesirable or unsafe. We are based in Sunnyvale, CA and require 5 days/week in-office collaboration.
We are looking for an Embedded Software Engineer to design, implement and test key aspects of our Humanoid software.
Responsibilities:
Architect, design, implement and test embedded software in C++ running on the Humanoid compute platform
Develop Python tools to support data management, test automation or robot calibration
Continuously improve our development environment
Contribute to the development of our Continuous Integration and Continuous Deployment (CI/CD) infrastructure
Support hardware/software integration in the lab
Requirements:
5+ years of software engineering experience
Bachelor's or Master's degree in Computer Science or related field
Mastery of C++, Python and Linux
Experience implementing real-time software
Good knowledge of computer architecture
Deep understanding of communication buses and protocols like Ethernet, Ethercat, Serial, CAN or USB
Comfortable using lab instruments (Oscilloscopes, logic analyzers) and debugging tools (Lauterbach).
Bonus Qualifications:
Experience with the Bazel build system
Experience with Docker containers
Experience implementing CI/CD infrastructures
Familiar with Agile and Test driven development
We are looking for an Embedded Software Engineer to design, implement and test key aspects of our Humanoid software.
Responsibilities:
Architect, design, implement and test embedded software in C++ running on the Humanoid compute platform
Develop Python tools to support data management, test automation or robot calibration
Continuously improve our development environment
Contribute to the development of our Continuous Integration and Continuous Deployment (CI/CD) infrastructure
Support hardware/software integration in the lab
Requirements:
5+ years of software engineering experience
Bachelor's or Master's degree in Computer Science or related field
Mastery of C++, Python and Linux
Experience implementing real-time software
Good knowledge of computer architecture
Deep understanding of communication buses and protocols like Ethernet, Ethercat, Serial, CAN or USB
Comfortable using lab instruments (Oscilloscopes, logic analyzers) and debugging tools (Lauterbach).
Bonus Qualifications:
Experience with the Bazel build system
Experience with Docker containers
Experience implementing CI/CD infrastructures
Familiar with Agile and Test driven development