(Senior) Team Lead - Software Architecture

Agile Robots Ag
München, Germany
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

München, Germany

Tech stack

Artificial Intelligence
C++
Compilers
Software Quality
Continuous Integration
Software Debugging
Linux
Distributed Systems
Middleware
Embedded Software
Firmware
Hardware Interface Design
Inter-Process Communication
Python
Kinematics
Motion Planning
Software Architecture
Software Engineering
Software Systems
Systems Integration
Information Technology
Real Time Data
Hardware Infrastructure
Software Coding
Data Pipelines

Job description

  • Lead the Software Architecture team responsible for system infrastructure, software architecture, and embedded firmware direction
  • Define and evolve the architecture of large-scale robotics software systems across multiple subsystems
  • Design and maintain core communication frameworks used across the robotics software stack
  • Define robust interfaces between high-level software, embedded firmware, and hardware components
  • Architect reliable distributed systems operating across multiple compute units in the robot
  • Guide architectural decisions for real-time robotics software running on Linux-based systems
  • Provide strong hands-on technical leadership in C++ and Python development, actively contributing to critical components when needed
  • Review and evaluate merge requests, ensuring high code quality, maintainability, and architectural consistency
  • Define and enforce modern C++ development practices, coding standards, and software design principles for maintainable code
  • Lead the architecture and integration of embedded firmware components interacting with the robotics software stack
  • Support integration of complex robotic subsystems including perception pipelines, motion control, sensor interfaces, and distributed compute nodes
  • Drive system-level debugging and performance analysis across software and hardware layers
  • Create and maintain a light-weight CI/CD pipeline for regular releases
  • Continuously evaluate modern tools, compilers, libraries, and software technologies to improve the development ecosystem
  • Mentor and technically guide engineers within the architecture team and across the organization
  • Maintain a strong hands-on presence in the codebase and technical discussions

Requirements

Do you have experience in Python?, Do you have a Master's degree?, * Bachelor's or Master's degree in Computer Science, Robotics, Software Engineering, or related technical field

  • Extensive hands-on experience developing high-performance software in modern C++
  • Strong Python programming skills used for tooling, infrastructure, or automation
  • Deep understanding of Linux systems, including real-time environments and system-level debugging
  • Proven experience leading or mentoring highly technical software engineering teams
  • Experience designing large modular software architectures for complex systems
  • Strong knowledge of networking concepts, distributed systems, and inter-process communication
  • Experience integrating software with complex hardware platforms such as robotics systems, embedded devices, or real-time control systems
  • Experience designing communication frameworks for robotics or distributed control systems
  • Strong understanding of time synchronization, deterministic communication, and real-time data flows
  • Comfortable debugging kernel-level timing issues and system-level performance bottlenecks
  • Experience working with real-time constraints, lock-free programming, or high-performance concurrency models
  • Experience reviewing complex codebases and maintaining high engineering quality standards
  • Strong architectural thinking and ability to reason about large-scale systems
  • Strong motivation to stay up to date with modern C++ standards, compilers, libraries, and best practices
  • Excellent communication and leadership skills in English, * Experience developing software stacks for humanoid robots or complex robotic platforms
  • Experience with robotics frameworks or distributed robotics architectures
  • Knowledge of robotics concepts such as kinematics, motion planning, perception pipelines, or control systems
  • Experience with camera systems, sensor integration, or high-bandwidth data pipelines
  • Familiarity with embedded firmware architectures and low-level hardware interfaces
  • Experience building high-performance communication middleware for robotics systems
  • Experience with modern C++ standards (C++17 / C++20 / C++23) and advanced language features
  • Experience designing scalable infrastructure for robotics development environments
  • Experience mentoring engineers and building strong technical teams, * Work on cutting-edge robotics technology combining real-time control, AI, and advanced hardware
  • A highly technical engineering environment with strong focus on software quality and architecture
  • High level of ownership and technical influence on core system design
  • Close collaboration with electronics, firmware, and mechanical engineering teams

Apply for this position