QUANTITATIVE SOFTWARE ENGINEERS
You will be joining a high performing team exposed to many of the most exciting business and technology challenges our Client faces within its trading businesses today, focussing on maximising value from the assets and operations. Typical solutions include use of advanced optimisation techniques (e.g. Heuristic Optimisation), Machine Learning and simulation based Reinforcement Learning.
You will work closely with Traders and Operators to optimise various aspects of the operations, ranging from efficient logistical operations (for example, shipping scheduling), partnering with traders to ensure our portfolios are kept optimal. You will develop a deep understanding of the optimisation algorithms and of the business context in which the team operates.
Most of your time will be focused in writing code, while pursuing software engineering best practices for design, build and test. High-quality documentation, traceability and knowledge sharing is expected.
Additionally, you will work directly with the Optimisation Technical Team Lead on the evolution of the current technology platform in place, as well as the long-term strategy and roadmap for the increased use of optimisation.
This is a unique role well positioned to create substantial value for the business and requires an individual with the right mix of technical, quantitative and communication skills:
· Key specialist of Optimisation technology – functionally, technically and quantitatively.
· Work closely with the business to create value for the business through optimisation.
· Strive for excellence and continuous improvement in software architecture, Agile methods and build systems, as well as the underlying optimisation algorithms.
· Work with the Optimisation Technical Team Lead to shape the long-term strategy and roadmap for the expansion of optimisation activities across the Organisation.
· A quantitative degree – preferably with previous work related to optimisation.
· Strong mathematical and numeracy skills.
· Experience in optimisation. Examples include linear programming and solving a TSP using a heuristic approach such as simulated annealing, genetic algorithms or machine learning.
· Advanced knowledge of Java and associated ecosystem (Maven, Jenkins, for example).
· Good understanding of Computational Complexity Theory (EG: Big-O notation).
· Ability to work closely with the business, draw out their requirements and create a mathematical model.
· Strong communication skills with ability to present ideas well graphically as well as verbally.