C++ Software Engineer

Agile Robots

Munich, Germany

The Robotics and Mechatronics Group of Agile Robots is looking for a C++ Software Engineer (m/f/d), who will build and maintain the C++ platform infrastructure our robot runs on. You will help us ensure it runs reliably and safely once it's out of the lab and in production.

Responsibilities

  • Platform Development: Design, implement, and maintain C++ software components for the robot's platform infrastructure, including Linux-based runtime services, communication layers, configuration handling, and developer tooling.
  • APIs & Interfaces: Define and improve the APIs and interfaces that connect robot applications, backend services, and hardware-facing components, working directly with the firmware, control, backend, DevOps, QA, and application teams that consume them.
  • Real-Time Processing: Contribute to real-time and near-real-time data processing pipelines, accounting for latency, determinism, resource usage, and failure behavior.
  • Hardware Integration: Support integration with real robotic hardware and investigate issues that cross software, OS, network, and hardware boundaries.
  • Reliability & Observability: Improve system reliability through better error handling, observability, monitoring, and recovery mechanisms.
  • Architecture & Standards: Contribute to software architecture decisions and technical standards. How much of this you own grows with seniority, from component-level input toward long-term platform direction.
  • Mentoring: Support other engineers through code reviews, design discussions, and technical guidance. The share of mentoring you take on scales with seniority too.

Essential Skills

  • Background: Degree in Computer Science, Software Engineering, or a related field, or an equivalent combination of training and professional experience building production C++ systems.
  • Modern C++: Professional experience writing production C++ software using modern C++ practices (C++17/C++20).
  • Systems Programming: Solid understanding of Linux system programming - processes, threads, IPC, sockets, scheduling, file systems - and networking fundamentals: TCP/IP, UDP, latency, buffering, and packet flow.
  • Debugging & Concurrency: Strong debugging skills (GDB, Valgrind, sanitizers, perf, strace, tcpdump, or similar) and experience with multi-threaded and concurrent programming.
  • Engineering Practices: Understanding of maintainable software architecture principles (SOLID, separation of concerns, testability) and experience writing automated tests, including unit, integration, and hardware-related test strategies.

Beneficial Skills

  • Robotics/Industrial Background: Experience with robotics, industrial automation, or embedded systems, including industrial communication protocols such as EtherCAT, CAN, Modbus, or Profinet.
  • Deep Systems & Deployment: Knowledge of real-time Linux and kernel internals - scheduling, IRQ handling, IPC mechanisms - and experience with firmware update flows, containerized environments, or build/package systems such as Conan or CMake.
  • Python Tooling: Experience with Python for tooling, automation, testing, or code generation.
  • Platform SDK Design: Experience designing internal frameworks, SDKs, or reusable platform libraries.
  • Mentoring: Experience mentoring engineers or leading technical discussions.

Don't forget to mention EuroTechJobs when applying.

Share this Job

More Job Searches

Germany      C++ Developer      Developer      Hardware and Telecoms      Linux and Unix      On-site      Agile Robots     

EuroTechJobs Logo

© EuroJobsites 2026