This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
This role is ideal for low-level software developers who are passionate about performance optimisation and interested in applying their skills within a scientific computing environment. You will work across a multi-language stack (C, C++, Python, Java) and leverage modern CPU and GPU architectures to design and optimise high-performance applications. The role requires strong judgement in selecting the right tools and approaches—balancing efficiency, maintainability, and computational performance.
Job Responsibility:
Design and develop high-performance scientific processing software
Implement, test, optimise, and maintain applications across C/C++, Python, and Java
Analyse and improve existing codebases for performance and scalability
Work on complex computational problems involving large datasets and parallel processing
Collaborate with cross-functional teams to deliver rapid product iterations
Provide advanced (Level 3) technical support for complex client issues
Review code and contribute to engineering best practices
Mentor junior engineers and interns within the team
Continuously build domain knowledge in scientific and computational problem areas
Requirements:
Strong expertise in C and/or C++ (additional experience in Python or Java is an advantage)
Proven experience in low-level performance optimization, including: Multithreading and concurrency
Memory management and alignment
Vectorisation (e.g., SIMD, AVX)
Loop optimization techniques
Experience in one or more of the following areas: High-performance computing (HPC)
Large-scale data processing / I/O optimization
Parallel or distributed computing
Numerical or scientific computing
Strong problem-solving skills with attention to detail
Excellent communication skills in English (technical and business)