Quant Software Developer at bp plc (London, UK)
Location: London, UK
Type: Full Time
Created: 2021-05-18 05:00:22
As a Quantitative Software Engineer, you will be Joining a high performing team exposed to many of the most exciting business and technology challenges BP faces within its trading businesses today, focusing on maximising value from BP’s 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 BP's 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 in BP.This is a unique role well positioned to create substantial value for the business and requires an individual with the right mix of software engineering, quantitative and communication skills.
What we need from you:
- Sophisticated knowledge of Java and associated ecosystem (Java 8, GIT, Maven, Jenkins, Desktop Java - eg. JavaFX/Swing, SpringBoot/RESTful Webservices).
- Strive for excellence and continuous improvement in software architecture, Agile methods and build systems, as well as the underlying optimisation algorithms.
- Ability to work closely with the business, draw out their requirements and create a mathematical model. Strong interpersonal skills with the ability to present ideas well graphically as well as verbally.
- Strong mathematical and numeracy skills.
- A quantitative degree – with commercial experience of advanced algorithm implementation.
- Good understanding of Computational Complexity Theory (EG: Big-O notation).
Other good stuff you could bring:
- Experience in optimisation. Examples include linear programming and solving a TSP using a heuristic approach such as simulated annealing, genetic algorithms or machine learning.
- Experience with DevOps: working with AWS, Docker, Ansible, Kerberos, OpenShift/Kubernetes.