(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
SeniorJob 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