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
View details
Apply Now