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).
We are seeking an experienced Quantitative Developer to join the Numerical Performance Group (NPG), a central specialist team within Citi’s Markets Quantitative Analysis (MQA) organisation. NPG designs, develops, and deploys roots, Citi’s core high‑performance C++ numerical library. The roots library underpins pricing and risk infrastructure used across multiple asset‑class quantitative teams and is engineered for maximum accuracy and performance on modern hardware. The team works closely with front‑office quantitative groups and trading desks, tackling critical performance, scalability, and stability challenges across Citi’s derivatives pricing stack.
Job Responsibility:
Design, develop, and enhance quantitative libraries used for pricing and risk management
Create, implement, and support quantitative models for the trading business using advanced mathematical and computational techniques
Apply high‑performance computing methods, including hardware acceleration and low‑level optimisation
Develop pricing models using numerical techniques such as Monte Carlo methods and partial differential equation (PDE) solvers
Work with technologies including C++, CUDA, Python, and adjoint algorithmic differentiation (AAD)
Contribute to the technical direction of the group, mentor junior team members, and collaborate closely with quant teams across asset classes
Requirements:
Proven experience in a high‑performance computing or numerical software role (experience outside of finance will be considered)
Strong programming skills in C++
experience with CUDA and Python preferred
Excellent background in computational mathematics, numerical analysis, or a related quantitative discipline
Demonstrated ability to design, implement, and optimise complex mathematical algorithms for performance‑critical applications
Solid understanding of Adjoint Algorithmic Differentiation (AAD) concepts
hands‑on experience with AAD tools is highly desirable
Deep practical knowledge of low‑level optimisation techniques, including SIMD intrinsics, auto‑vectorisation, cache behaviour, and memory access patterns
Strong understanding of modern hardware architectures and their impact on computational performance
Experience developing and optimising software on both Windows and Linux
Clear, concise written and verbal communication skills, with the ability to collaborate effectively across teams
Candidates should hold a postgraduate degree in a numerate discipline such as Mathematics, Physics, Computer Science, Engineering, or a related field