Senior Functional Developer
Job Description
Roles and Responsibilities
- Work closely with model developers and Front Office quants to understand new proxy model requirements and translate quantitative concepts into implementable solutions.
- Contribute to the design, development and support of quantitative models, particularly models used to derive or proxy market data.
- Create clear technical and quantitative documentation describing model assumptions, inputs, calculations, limitations and implementation decisions.
- Develop prototype implementations to demonstrate and validate new models before production implementation.
- Translate validated prototypes and quantitative algorithms into production-quality Java services.
- Build scalable, resilient microservices-based applications designed to run in a cloud-native environment.
- Influence technology choices and contribute to the architecture and design of new components and services.
- Develop applications using modern Java and Spring Boot, following strong software-engineering practices.
- Design and maintain automated unit, integration and regression tests, including tests that validate quantitative results.
- Work with engineers and quantitative stakeholders to ensure implementations remain consistent with their underlying model specifications.
- Contribute to CI/CD and operational readiness, using technologies such as Azure DevOps, Git, Maven, Docker, Kubernetes/OpenShift and Linux.
- Proactively identify opportunities to improve the maintainability, reliability, performance and observability of our services.
- Take ownership throughout the lifecycle, from initial model discussion and prototyping through implementation, production deployment and support.
- Share knowledge and contribute to a collaborative engineering and quantitative culture.
Key Competencies
- Strong analytical and quantitative problem-solving skills combined with hands-on software engineering capability.
- Ability to understand mathematical or quantitative model specifications and translate them into reliable software implementations.
- Strong understanding of software design, maintainability, testing and production engineering.
- Ability to communicate effectively with both quantitative and technical stakeholders.
- Comfortable challenging assumptions, asking detailed questions and turning complex requirements into practical solutions.
- Strong focus on correctness, particularly where software implementations represent mathematical or financial models.
- Curiosity and willingness to develop deeper knowledge of financial markets, market data and quantitative modelling.
- Ability to work independently while collaborating effectively across different teams, disciplines and locations.
- Strong documentation skills and an ability to explain complex quantitative or technical concepts clearly.
Requirements
Essential
- Strong software engineering experience with Java and Spring Boot, including the development of production-quality backend services.
- Strong hands-on experience with Python, particularly for implementing, analysing and validating quantitative models and prototypes.
- Strong mathematical and analytical background, with the ability to understand and translate advanced mathematical formulas and quantitative model specifications into working software.
- Ability to take a model from quantitative specification and Python prototype through to a robust production Java implementation.
- Good understanding of algorithms, data structures, object-oriented design and software engineering principles.
- Experience developing automated unit, integration and regression tests, including validation of numerical results between prototype and production implementations.
- Experience working with relational databases and SQL.
- Familiarity with source control, CI/CD and documentation tooling such as Git, Maven, Azure DevOps and Confluence.
- Experience with Linux and containerized/cloud-native environments such as Docker and Kubernetes/OpenShift.
- Excellent written and spoken English.
- Ability to collaborate closely with model developers, Front Office quants and software engineers, translating between quantitative concepts and technical implementation.
Strongly preferred
- Experience as a Quant Developer, Quant Engineer or Software Engineer working closely with quantitative teams.
- Experience implementing complex mathematical or financial models in production systems.
- Knowledge of financial markets, particularly market data, pricing, valuation, proxy models or risk models.
- Experience working directly with Front Office quants and model developers.
- Knowledge of numerical methods, statistics, time series, optimization, financial mathematics or related quantitative disciplines.
- Experience comparing and validating Python reference implementations against production Java implementations, ensuring numerical consistency and correctness.
- Experience designing scalable microservices for computational or data-intensive workloads.
