We're looking for a Software Engineer to design, implement, and maintain the internal and external interfaces of Mobile Robotics. You'll work in the software department on Mobile Robotics' core software, defining how our robots communicate with upper-level software platforms, ensuring technical consistency across product lines, and establishing unified user-facing and hardware-facing APIs. The role also includes designing a dispatcher mechanism that assigns different software configurations to different hardware versions.
You maintain and develop the communication architecture between our robots and upper-level software platforms, ensuring technical consistency across product lines.
You design and maintain unified user-facing APIs, developer APIs, integration APIs, and hardware-facing APIs for different user groups, including customers, developers, system integrators, partners, and internal teams.
You develop and maintain REST/gRPC APIs, Python/C++ SDKs, OPC UA, MQTT, ROS 2, and ZeroMQ-based interfaces and related integration layers.
You design and maintain a dispatcher mechanism that maps the right software configuration, interface behavior, and feature set to different robot models and hardware versions.
You ensure API versioning, backward compatibility, authentication, authorization, secure access, and clear interface ownership.
You support external partner and system integrator integrations, including onboarding, debugging, issue analysis, and real-deployment support.
You create and maintain API documentation, SDK examples, interface specifications, and configuration guides.
A degree in Computer Science, Software Engineering, Robotics, or a related field.
3+ years of relevant work experience in robotics, software engineering, or a related technical field is a plus.
A strong ownership mindset for maintaining a production robotics middleware repository, including architecture decisions, issue triage, code reviews, documentation, and releases.
The ability to maintain API surfaces across multiple protocols, including FastDDS clients/servers, REST/OpenAPI endpoints, and Python bindings.
Solid C++17 and CMake experience, with the ability to work across modular/plugin-based components, shared interfaces, adapters, and client SDKs.
Hands-on experience with distributed communication systems such as FastDDS/DDS, ROS 2, or similar robotics middleware, including network discovery and runtime debugging.
Comfort working close to AMR/MAV systems, including navigation APIs, robot state handling, hardware adapters, and PLC and field debugging.
Strong engineering hygiene: unit/integration/live testing, GitLab CI/CD, Docker-based development, static analysis, Debian/wheel packaging, semantic versioning, and changelog discipline.
Experience with SDK development, developer platforms, or partner integrations is a strong plus.
Good English communication skills.