Sr. Software Engineer - Autonomy
Apptronik is building robots for the real world to improve human quality of life and to help solve the ever-increasing labor shortage problem. Our team has been building some of the most advanced robots on the planet for years, dating back to the DARPA Robotics Challenge. We apply our expertise across the full robotics stack to some of the most important and impactful problems our society faces, and expect our products and technology to change the world for the better. We value passion, creativity, and collaboration to help us overcome existing technological barriers in the industry to create truly innovative products.
You will join a team developing a state-of-the-art general-purpose robots designed to operate in human spaces and with human tools. It is designed to work alongside humans, mobilize to human spaces, and manipulate the world around it.
We are seeking a talented and experienced Autonomy - Software Engineer to join our team at Apptronik, where you will play a key role in developing advanced humanoid systems. In this position, you will be responsible for designing and implementing a robust behavior architecture, providing various behavior authoring tools such as state machines and behavior trees. In addition, you will collaborate with multidisciplinary team members to develop and implement a full autonomy stack and ensure high-quality, reliable software that can be deployed in real-world scenarios.
- Work hands-on with the robots to test, verify, and constantly push what robots can do
- Develop and test advanced manipulation control algorithms for whole-body manipulation tasks
- Lead advanced software development activities, including architecture, design, coding, unit testing, integration, deployment, and maintenance within assigned autonomy algorithms software components
- Bachelor's degree in Robotics, Computer Science, Electrical/Mechanical/Aerospace Engineering or similar, or equivalent; Master's or Ph.D. degree preferred
- 2+ years of relevant industry experience, with experience implementing, testing, and deploying manipulation or navigation algorithms
- Familiarity with modern behavior authoring methods, such as Finite State Machines, Behavior Trees, or Behavior Composition
- Strong software development skills in modern C++ in Linux
- Strong ability to collaborate with other software teams (e.g perception or controls) to ensure the seamless integration of software components with the overall system
- Ability to communicate technical information effectively both orally and in writing with other team members
Nice to Have
- Passionate about building humanoid robots
- Experience in working with robotic hardware, including sensors, actuators, and robotic arms
- Experience with real-time systems and multi-threaded software development
- Expertise in related technical areas such as impedance/force control, model predictive/adaptive control, optimization, system identification, state estimation, or legged robots
- Familiarity with standard agile and software development processes, including issue tracking tools (Jira), feature branching, version control (Git), continuous integration, and deployment
- Ability to thrive in a fast-paced environment with unclear solutions requiring exploration
- Familiarity with any of the following:
- Software Design Patterns
- Competitive base w/ benefits
- Highly motivating equity incentive package
- Flexible work hours policy
- Professional development opportunities
- Unlimited Paid Time Off (PTO)
- 401k plan
*This is a direct hire. Please, no outside Agency solicitations.
Apptronik provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.