Apptronik is addressing the labor shortage problem and improving human quality of life by building advanced robots for real-world applications. The company aims to develop state-of-the-art humanoid robots that operate in human spaces and work alongside humans.
Requirements
- Deep understanding of Linux OS fundamentals, including the kernel, system boot process (bootloaders, device trees), and device drivers.
- Proven, hands-on experience in board bring-up for custom or commercial off-the-shelf (COTS) hardware.
- Strong experience developing and customizing embedded Linux distributions.
- Proficiency in C/C++ programming.
- Proficiency with embedded Linux build systems like the Yocto Project or Buildroot.
- Solid understanding of embedded systems security principles, including secure boot, device hardening, and encryption.
- Proficient in shell scripting (Bash) and ideally Python.
Responsibilities
- Architect and develop a custom, minimal embedded Linux distribution tailored for our humanoid robot's real-time and performance needs.
- Lead board bring-up activities for new and revised hardware platforms, including bootloader configuration (e.g., U-Boot), kernel porting, and initial hardware validation.
- Manage the Linux kernel, including custom configurations, patch application, and the development of device trees to support our specific hardware peripherals.
- Integrate and debug device drivers for various subsystems, such as sensors, actuators, and communication interfaces.
- Implement security best practices for embedded systems, including OS hardening, secure boot configuration, and management of device security features.
- Develop and maintain the embedded Linux build system using tools such as the Yocto Project or Buildroot to create reproducible OS images.
- Design and implement a robust Over-the-Air (OTA) update strategy (e.g., A/B partition updates) to ensure our robots can be updated reliably and safely in the field.
Other
- Bachelor’s degree in Computer Science, Computer Engineering, or a related field, or equivalent practical experience.
- 5+ years of relevant experience in software engineering with a focus on embedded Linux systems.
- Strong documentation and communication skills.
- Must be able to lift 15 pounds at times.
- Vision to read printed materials and a computer screen.