Your New Role and Team
Sanctuary, a world leader in building AI-based control systems for humanoid robots, is looking to hire a skilled and motivated Senior Software Engineer to join our Real Time Systems team. The Real Time Software Engineer is a crucial part of our team, supporting the integration and control of complex robotic systems through deterministic and low-latency software frameworks. Reporting to the Real Time Software Lead, you’ll contribute to the overall efficiency and effectiveness of our growing organization.
The right candidate will be a valued part of the team as you support the continued improvement in our hardware interface scaling, robot embodiment support, and dexterous manipulation systems, own the coordination of project deliverables across control and AI integration boundaries, and innovate best practices that drive continuous improvements in our motion control stack and system-level integration readiness.
Success Criteria
In your first 90 days, you will develop a strong understanding of our real-time software architecture, robotic control systems, and deployment environments. You will begin contributing to the development, debugging, and optimization of performance-critical software components.
Within your first year, you will contribute to the design, development, and deployment of deterministic real-time control systems that reliably support multiple robotic platforms and production environments.
You will help improve the performance, reliability, and scalability of our real-time software infrastructure, with a focus on minimizing latency, maintaining deterministic execution, and ensuring robust hardware/software integration.
You will collaborate closely with controls, AI/ML, hardware, and software engineering teams to integrate real-time control systems with higher-level robotic capabilities and production applications.
You will contribute to engineering best practices, including automated testing, hardware-in-the-loop validation, performance benchmarking, observability, and technical documentation.
You will share technical knowledge through collaboration, code reviews, and mentorship, helping strengthen the team's expertise in real-time systems and robotics software development.
Your Experience
Qualifications
Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Physics, or a related technical field, or equivalent industry experience.
Minimum of 5 years of professional experience in robotics software development or a closely related field involving real-time systems.
Demonstrated experience designing, developing, and deploying real-time control software for robotic systems.
Proven track record of taking a real-time control system from design through deployment across multiple robots or production cells.
Strong understanding of software architecture, hardware/software integration, and the technical challenges associated with deploying reliable robotic systems in production environments.
Skills
Proficiency in C/C++, with hands-on experience developing software under hard real-time constraints using PREEMPT_RT Linux, including scheduling policies, CPU and IRQ isolation, and latency analysis.
Strong understanding of distributed systems architecture, multithreading, and concurrency, with an emphasis on building scalable, reliable, and resilient software systems.
Production experience with ROS 2 and ros2_control on physical robotic systems, including developing hardware interfaces and implementing high-frequency control loops that maintain deterministic performance under system load.
Familiarity with industrial communication protocols and fieldbuses, including EtherCAT, Ethernet/IP, CAN, or similar technologies used in robotic control applications.
Hands-on experience debugging ROS 2 and DDS communication across multiple hosts, including QoS configuration, discovery, shared-memory and UDP transport, and diagnosing dropped or delayed messages using industry-standard tools.
Strong Linux systems knowledge, including networking configuration, multi-NIC environments, kernel configuration and compilation, driver debugging, and low-level system tuning using tools such as netplan, sysctl, GRUB, and cgroups.
Experience with infrastructure provisioning and deployment tools such as Ansible, Docker, or Kubernetes.
Experience benchmarking and optimizing x86-based real-time systems, including firmware configuration, CPU and IRQ affinity, scheduling optimization, and cache contention analysis.
Familiarity with engineering best practices, including coding standards, hardware-in-the-loop testing, performance benchmarking, automated validation, and system observability.
Experience with ARM64 platforms, particularly NVIDIA Jetson, is considered an asset.
Strong verbal and written communication skills, with the ability to explain complex technical concepts, document solutions, and collaborate effectively across multidisciplinary engineering teams.
Traits
Above all else, a consistently positive attitude and a willingness to do whatever it takes to create robust solutions to mission objectives.
Successful candidates will be a proponent of personal responsibility for themselves and their teammates.
Empathetic listener with conflict resolution capabilities.
Consistent bias for action, communication, and interpersonal savvy.
Self-motivated and able to solve problems independently.
Mission driven and passionate about bringing human-like intelligence to machines.