(Senior) Software Engineer
Job description
About the role
Welcome to the AI Research and Development group at Agile Robots where you will build the software backbone for next-generation robotic systems. In this role, you will own the design and delivery of high-quality data collection pipelines that power AI-driven robot learning and experimentation. You will collaborate closely with researchers and hardware engineers to translate scientific objectives into robust, scalable software architectures. The position requires a deep commitment to writing clean, testable, and maintainable code that serves as the foundation for long-term product evolution. You will be responsible for integrating diverse robotic hardware platforms into unified data acquisition workflows that are reliable and efficient. A key part of your work will involve setting up and synchronizing critical hardware inputs such as cameras, motion trackers, and force-torque sensors to ensure high-fidelity data capture. You will also contribute to defining and maintaining software architecture standards that promote reusability and clarity across the team. This role is ideal for someone who thrives in a fast-paced research environment and wants to see their software directly enable breakthroughs in robotic intelligence.
Key facts
What you'll do
- Architect scalable and reliable software systems designed for large-scale robotic data acquisition, ensuring performance and stability under demanding conditions.
- Write modular, testable, and maintainable code following structured engineering standards that emphasize clarity, documentation, and long-term maintainability.
- Integrate various robotic hardware platforms into cohesive data collection workflows that align with research goals and operational constraints.
- Set up and synchronize hardware inputs including cameras, motion trackers, and force-torque sensors to guarantee precise timing and accurate data labeling.
- Develop and maintain interfaces to robotic systems using modern communication protocols, ensuring interoperability across heterogeneous hardware and software components.
- Implement data ingestion, storage, and preprocessing pipelines that support efficient downstream usage for machine learning model training and evaluation.
- Collaborate with data scientists and researchers to understand experimental requirements and adapt software components to meet evolving needs.
- Contribute to the definition and adoption of data schemas and serialization formats that enable consistent data representation across projects.
- Troubleshoot complex issues in distributed robotic systems by analyzing logs, network traffic, and runtime behavior to identify root causes.
- Participate in code reviews, design discussions, and technical documentation to share knowledge and uphold engineering best practices across the team.
- Work within agile development environments to plan, deliver, and iterate on software features in close coordination with cross-functional stakeholders.
- Support the deployment and operation of data collection workflows in both laboratory and field settings, ensuring reliability and ease of use.
Requirements
- 2 to 5 years of professional experience in robotics, demonstrating a track record of delivering software solutions for real-world robotic systems.
- Strong proficiency in Python, with the ability to write clean, efficient, and well-structured code that integrates into larger systems.
- C++ skills are highly preferred, particularly for performance-critical components and interfaces with low-level hardware systems.
- Practical experience with ROS2 and DDS for distributed system communication, including topics like topics, services, actions, and quality of service settings.
- Knowledge of software architecture and object-oriented programming, including principles such as encapsulation, modularity, and separation of concerns.
- Experience with Docker for containerization and CI/CD pipelines, enabling consistent development, testing, and deployment workflows.
- Familiarity with data serialization formats, visualization pipelines, and schemas such as Protobuf, MCAP, or lerobot, and how they are used to structure robotic data.
- Experience working within agile development environments, including familiarity with sprint planning, standups, and iterative delivery practices.
- A strong commitment to writing tests, maintaining documentation, and ensuring that software components are reliable and easy to understand.
Nice to have
- Practical experience with robot teleoperation for demonstrations or data gathering, including the ability to build or adapt interfaces for manual control.
- Background in control architectures, UI workflows, or simulation environments like MuJoCo and Isaac Sim, with an understanding of how simulation supports real-world development.
- Exposure to AI serving frameworks, robotics models, or VR/AR tools such as Unity, and how these technologies can be integrated into robotic workflows.
- A history of research publications in Machine Learning, Computer Vision, or Robotics, indicating a strong theoretical foundation and engagement with the broader community.
Practical notes
- Benefits include a 100 Euro net monthly allowance for health, mobility, and learning, supporting personal well-being and professional development.
- The office features a rooftop terrace, free refreshments, and regular team events that foster collaboration and a healthy work-life balance.
- Agile Robots employs over 2300 people worldwide and maintains an international environment with 60+ nationalities, offering diverse perspectives and global collaboration.
- The company supports equal opportunity hiring regardless of background, identity, or disability, ensuring that all candidates are treated fairly and with respect.