Software Engineer - Teleoperation
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 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.
Job Summary
Apptronik is seeking a Software Engineer to join our Teleoperation Team. In this role, you will be instrumental in building modular, real-time control systems that enable remote operation of Apollo — our general-purpose humanoid robot. You will develop novel control systems to push the boundaries of how naturally, intuitively and accurately a human pilot can control a humanoid robot. Your expertise in hardware-agnostic teleoperation systems, interdisciplinary collaboration and modular software design will help ensure Apollo is seamlessly and intuitively teleoperated in dynamic environments.
Essential Duties and Responsibilities or Key Accountabilities
- Push the immersive and responsive nature of our teleoperation system
- Author performant and novel algorithms to realize human intent on a robotic platform
- Develop, troubleshoot and optimize real-time control and perception software
- Create, maintain, and test software deployment configurations
- Develop comprehensive, data-driven tests and validate system performance
- Integrate VR peripherals, sensors and control devices into the software stack
- Interface with cross-functional teams to deliver features which satisfy system-wide requirements
Skills and Requirements
- Proficiency with at least one of C++/C#/Python
- Demonstrated competence with Git or version control of distributed systems
- Ability to work in Linux and write shell scripts in bash
- Familiarity with Docker and containerization
- Experience developing cutting-edge teleoperation systems, optimizing and incorporating the latest research insights
- At least one year of real-time, hardware-in-the-loop software development
Bonus Qualifications
- Dexterous manipulation development experience
- Familiarity with all three of C++/C#/Python
- Prior VR peripheral integration experience
- Experience developing in any of Unity/Godot/Unreal/SteamVR/OpenXR
Education and/or Experience
- Bachelor's or Master's degree in Computer Science, Engineering, or a related technical field.
- Minimum of 2 years of professional, full-time experience building and maintaining reliable, scalable systems.
Physical Requirements
- Prolonged periods of sitting at a desk and working on a computer
- Must be able to lift 15 pounds at times
- Vision to read printed materials and a computer screen
- Hearing and speech to communicate