Agility Robotics is pioneering a new era of automation with their commercially deployed humanoids that operate alongside teams in various facilities. The Senior Software Engineer will contribute to the Robot Platform team, focusing on developing and maintaining mission-critical operating system components while collaborating across teams to enhance software quality and performance.
Responsibilities:
- Build and maintain the operating system images used on robots and edge devices, including the bootloader, kernel, device drivers, filesystems, and system libraries
- Take ownership of technical projects within the robot platform stack, including:
- Service management and orchestration systems using systemd and k3s
- Secure local and remote service access mechanisms
- Robust installation and over-the-air (OTA) software update mechanisms
- Provisioning and commissioning scripts for core device environments
- Write clean and maintainable code, while contributing to thorough code reviews and automated testing suites
- Actively troubleshoot complex low-level issues across the robot software stack, focusing on OS-level bugs and hardware-software integration challenges
- Collaborate with manufacturing, test, and robot software engineers to implement the features and interfaces they need to succeed
- Contribute to the evolution of our developer tooling and internal best practices to improve team velocity and software quality
Requirements:
- 5+ years of professional experience with OS image generation, Linux kernel development, and embedded Linux environments
- Strong background in implementing complex features within large-scale software systems, preferably in robotics or autonomous systems
- Proficiency in modern Python and systems programming on Linux
- Experience with Linux kernel development, bootloaders, device drivers, and service orchestration using systemd and similar service management systems
- Ability to take high-level project requirements and translate them into efficient, well-tested code
- Excellent communication and collaboration skills for working within a fast-paced agile team
- Robotics industry experience
- Experience using Kubernetes
- Bazel and similar build systems
- Hardware-in-the-loop testing
- Nvidia driver and library management