Senior C++ Software Engineer
J
JobgetherEmbedded vision, traffic management
Based in SwitzerlandFull-TimeSenior
Salary not disclosed
Apply NowOpens the employer's application page
Job Details
- Languages
- Communicate clearly in English
- Experience
- At least 5 years of professional software development experience
- Required Skills
- DockerGitLinuxDistributed Systems
Requirements
- At least 5 years of professional software development experience, with strong expertise in C++ and complex software systems.
- Advanced proficiency in C++17/20, including memory management, multithreading, concurrency, and performance-critical programming.
- Practical experience developing robotic applications with ROS2 and understanding its architecture, components, and communication mechanisms.
- Hands-on experience integrating multiple sensors into complex software systems; embedded vision, robotics, or sensor-fusion experience is preferred.
- Understanding of distributed architectures, component-based software design, and pub/sub or message-based communication patterns.
- Knowledge of software design principles and architectural best practices for maintainable, reusable applications.
- Experience designing and implementing unit and integration tests.
- Strong Linux experience, including debugging, profiling, performance analysis, and troubleshooting.
- Proficiency with Git and collaborative development workflows, including code reviews.
- Hands-on experience with Docker and containerised development and build environments.
- Ability to take responsibility for complex engineering tasks, make technical decisions, collaborate, and communicate clearly in English.
- ROS2 node development and Python for tooling, testing, or non-critical ROS2 components are advantageous.
- Familiarity with Yocto, Embedded Linux, Kubernetes, Helm, Jenkins or GitLab CI, real-time operating systems, or real-time programming concepts is advantageous.
- Machine learning for perception and decision-making, or experience with traffic management, monitoring, or enforcement systems, is advantageous.
Responsibilities
- Design, develop, and maintain core application components using Modern C++ (C++17/20) within a ROS2-based architecture.
- Integrate multiple sensors, external interfaces, and third-party components into an embedded vision and sensor-fusion platform.
- Build component-based applications using pub/sub patterns and message-based communication across distributed systems.
- Contribute to software architecture and design decisions, and implement reusable, scalable, maintainable solutions.
- Develop and maintain unit and integration tests.
- Identify bottlenecks and optimise runtime performance, memory usage, concurrency, and resource utilisation.
- Investigate and resolve software issues in Linux using debugging, profiling, and performance-analysis tools.
- Maintain container images, Docker configurations, and build environments.
- Participate in code reviews and collaborate with developers, architects, and project stakeholders.
- Take ownership of complex development tasks and guide less experienced engineers through knowledge sharing and mentoring.
View Full Description & ApplyYou'll be redirected to the employer's site