Logo
Apptronik

Senior Embedded Software Engineer - Linux

Apptronik, Austin, Texas, us, 78716

Save Job

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

In this role, you will be responsible for the ground-up development and maintenance of our custom embedded Linux operating system that powers our humanoid robots. You will create a minimal, real-time, secure ,

and robust OS tailored to our software's demanding requirements. This involves everything from initialboard bring-up and bootloader configuration to kernel customization and implementing security measures. You will work closely with our robotics, controls, and perception engineers to ensure the OS provides a stable and high-performance foundation for all robotic functions. You'll also manage the build and deployment infrastructure to support our rapid development cycles across Nvidia Jetson (ARM) and AMD compute platforms. The ideal candidate is a hands-on embedded Linux expert who is passionate about building highly reliable systems from the hardware up. ESSENTIAL DUTIES AND RESPONSIBILITIES Embedded OS Development & Board Bring-Up

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. Build System and CI/CD Pipeline Management Develop and maintain the embedded Linux build system using tools such as the Yocto Project or Buildroot to create reproducible OS images. Architect and own the end-to-end Continuous Integration (CI) and Continuous Deployment (CD) pipelines for the embedded OS. Continuously improve the build and deployment pipelines, integrating automated testing, security scanning, and artifact management. Deployment and Over-the-Air (OTA) Updates 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. Oversee the deployment, validation, and maintenance of the OTA update mechanism across our fleet. Team Collaboration and Mentorship Act as the subject matter expert for the embedded Linux OS, providing support and guidance to the wider engineering team. Develop and maintain clear, comprehensive documentation for the OS architecture, board bring-up procedures, and build system. Mentor other engineers on embedded Linux best practices. SKILLS AND 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. Direct experience deploying software to both ARM (Nvidia Jetson preferred) and x86_64 (AMD) architectures. Excellent problem-solving, debugging, and system analysis skills. Strong documentation and communication skills. Preferred Qualifications: Experience with specific OTA update frameworks (e.g., SWUpdate, Mender, RAUC). Experience with containerization (Docker, Podman) for build environments. Experience with real-time Linux (PREEMPT_RT). Experience with Nvidia Jetson flashing tools and JetPack SDK. Experience managing artifacts (e.g., Artifactory). EDUCATION and/or EXPERIENCE 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. Significant hands-on experience building and maintaining custom embedded Linux operating systems from the hardware level up. 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.

*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.