C++ Developer
We are supporting a globally recognised advanced manufacturing organisation that develops cutting‑edge, high‑performance desktop applications used within research driven environments.
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:
- Improve system robustness and maintainability
- 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
- 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
- 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
- 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
- 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
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)
- 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.
#J-18808-Ljbffr