C++ Developer


Paris
Contract
Negotiable
Research and Development
CR/591929_1778669168
C++ Developer

Senior C++ Developer (High-Performance Scientific Software)

Overview

We are supporting a globally recognised scientific software organisation that develops cutting-edge, high-performance desktop applications used within advanced microscopy, materials science, and research-driven environments. Their software platforms are widely adopted by leading laboratories, research institutes, and industrial R&D teams to support critical analysis, imaging workflows, and precision measurement tasks.

As demand for their platform continues to grow-driven by increased adoption across both academic and commercial sectors-the team is investing heavily in the evolution, optimisation, and long-term scalability of its core product suite.

To support this growth, they are looking to engage an experienced C++ Developer with strong expertise in modern C++ and desktop application development. This individual will play a key role in contributing to both the forward roadmap of the product (feature innovation, scalability improvements) as well as the stabilisation and optimisation of an existing, complex, long-lifecycle codebase.

You will join a highly skilled but currently capacity-constrained core engineering team. This creates an opportunity for immediate impact, ownership, and technical influence-particularly in improving delivery velocity, code quality, and maintainability standards across the platform.

This role is ideally suited to engineers who enjoy working at the intersection of performance-critical systems, deep technical problem solving, and high-quality software engineering practices, within a structured and intellectually stimulating environment.


Role Context & Impact

The core product you will be working on has evolved over many years and represents a highly sophisticated system used in mission-critical scientific workflows. As such, the engineering challenges are unique and multifaceted, including:

  • Maintaining and evolving a mature codebase with a long operational lifespan
  • Balancing feature innovation with system stability and reliability
  • Supporting high-performance requirements in data processing and rendering
  • Ensuring software quality in environments where precision and correctness are essential
  • Collaborating across distributed teams with shared ownership of complex systems

Given the reduced team size, the successful candidate will quickly become a key contributor, helping to:

  • Accelerate delivery timelines
  • Strengthen engineering best practices
  • Improve system robustness and maintainability
  • Reduce technical debt
  • Enhance developer workflows and tooling

Key Responsibilities

Software Development & Engineering

  • Design, develop, and maintain desktop applications using Modern C++ (C++20)
  • Implement new features aligned with product and customer requirements
  • Enhance and refactor existing code to improve performance, readability, and maintainability
  • Work across the full software development lifecycle, from requirements through to deployment and support
  • Contribute to performance optimisation, including memory management and efficient algorithm design
  • Identify and resolve defects, bottlenecks, and stability issues in a complex system

Architecture & System Design

  • Collaborate with senior engineers and architects to define and evolve system architecture
  • Contribute to design decisions that balance scalability, maintainability, and performance
  • Ensure adherence to strong software design principles (e.g., SOLID, modularity, separation of concerns)
  • Evaluate and propose improvements to existing architectural approaches
  • Participate in technical discussions, design reviews, and code reviews

Quality & Testing

  • Develop and maintain robust unit tests and automated testing frameworks
  • Ensure high standards of code quality through testing, documentation, and peer review
  • Contribute to improving overall test coverage and reliability of the application
  • Support integration testing and validation processes across components
  • Advocate for best practices in quality engineering and continuous improvement

Build Systems & Tooling

  • Work within structured build environments using CMake and Conan
  • Maintain and improve build pipelines to ensure consistency and reliability
  • Troubleshoot and resolve build-related issues across different environments
  • Contribute to dependency management and packaging strategies

CI/CD & DevOps Collaboration

  • Support and enhance CI/CD pipelines to enable efficient and reliable software delivery
  • Collaborate with DevOps teams to improve automation, build stability, and deployment workflows
  • Participate in efforts to reduce cycle times and improve release cadence
  • Ensure consistent development practices across distributed teams

Cross-Team Collaboration

  • Work closely with distributed engineering teams across Europe
  • Collaborate with product managers, QA engineers, and domain experts
  • Communicate effectively in a cross-functional, international environment
  • Share knowledge and mentor less experienced engineers where appropriate

Technical Environment

The team operates within a modern and structured development ecosystem, including:

  • Programming Language: C++20 (Modern C++)
  • IDE/Platform: Visual Studio
  • UI Framework: Qt (desktop application development)
  • Build Systems: CMake, Conan
  • Testing: Unit testing frameworks and automated integration testing
  • DevOps: CI/CD pipelines, automated builds, and deployment workflows
  • Version Control: Git-based workflows (or equivalent)

This environment emphasises engineering discipline, code quality, and long-term maintainability, making it ideal for developers who value structured, methodical development practices.


Requirements

Core Experience

  • 5-10+ years of commercial experience in C++ software development
  • Proven track record of working with Modern C++ (C++11/14/17/20) in production environments
  • Strong experience in developing desktop applications, ideally with Qt
  • Experience working on complex, large-scale, or long-lifecycle software systems
  • Demonstrated ability to contribute within structured, quality-driven engineering environments

Technical Skills

  • Deep understanding of C++ fundamentals, including memory management, concurrency, and performance optimisation
  • Hands-on experience with Qt for UI development (desirable but not essential)
  • Familiarity with CMake and/or Conan for build and dependency management
  • Experience implementing and maintaining unit tests and automated testing frameworks
  • Understanding of CI/CD practices and modern DevOps workflows
  • Strong debugging and problem-solving capabilities

Software Engineering Practices

  • Solid understanding of software design principles and patterns
  • Experience writing clean, maintainable, and well-documented code
  • Strong appreciation for testing, code quality, and technical debt management
  • Experience working in environments with defined standards and processes

Domain Experience (Advantageous)

  • Experience within scientific software, imaging systems, or data-intensive applications
  • Exposure to regulated or quality-controlled environments (e.g., medical devices, engineering, scientific tools)
  • Experience working with performance-critical or hardware-integrated applications

Soft Skills & Attributes

  • Strong analytical and problem-solving mindset
  • Ability to work independently while contributing to a collaborative team
  • Excellent communication skills in English (written and spoken)
  • Comfortable working in distributed, cross-border teams
  • Proactive approach to identifying issues and driving improvements
  • Detail-oriented with a strong focus on quality and precision

Why Join

This is an opportunity to work on a highly specialised, technically challenging product that has real-world impact in scientific and research domains.

Key benefits of the role include:

  • Ownership and influence within a critical, understaffed engineering team
  • Exposure to complex, high-performance software systems
  • Opportunity to shape architecture and engineering standards
  • Work in a domain where precision, quality, and innovation truly matter
  • Collaborative environment with highly skilled technical professionals
  • Long-term product lifecycle offering stability and depth of engineering challenges

Ideal Candidate Profile

The ideal candidate is a seasoned C++ engineer who:

  • Thrives in complex, mature systems rather than greenfield-only environments
  • Enjoys balancing feature development with system stabilisation
  • Has strong opinions on code quality, testing, and maintainability
  • Is comfortable navigating large codebases and improving them incrementally
  • Can operate effectively in environments where impact is immediate and visible

Summary

This role represents a compelling opportunity for an experienced C++ developer to step into a high-impact position within a globally respected scientific software environment. You will contribute to both the immediate needs of a stretched engineering team and the long-term evolution of a sophisticated product.

If you are passionate about modern C++, performance engineering, and building robust, long-lived software systems, this position offers both the technical challenge and the strategic influence to take your career to the next level.

Handpicked roles for you