Role: C++ Software Engineer
Start date: immediately and up to in a month
Full-time. Salary highly competitive, 60K minimum and depending on experience.
Candidates will be considered on a rolling basis until the position is filled.
Company Profile
OptimalSlope is a young and dynamic start-up growing fast with a global outlook. Recently, we have been awarded a prestigious SMART grant from Innovate UK (the UK Innovation Agency of 500k), and we have just started our seed round.
We are very passionate about what we do. Our mission is to make the world a better place by contributing to decarbonizing the mining industry via our software products, which bring a paradigm shift in the way open-pit mines are designed and excavated.
At present, mining is responsible for 8% of the world’s CO2 emissions. Our groundbreaking software, designed to create topologically optimized pitwalls at various stages of an open-pit mine, holds the potential to generate remarkable reductions. Based on data extracted from our comprehensive studies of metalliferous mines, published in esteemed peer-reviewed mining journals[1], we anticipate savings in waste rock of up to 600,000 tonnes per mine.
We are intrigued by the prospect of deploying our cutting-edge technology to extract vital metals, e.g., copper, lithium, iron, and Rare Earth Elements. These metals play a pivotal role in the construction of renewable energy infrastructure and the electrification processes crucial for achieving a net-zero emissions goal, thereby reducing reliance on fossil fuels.
We are proudly a member of the Centre for Climate Change and Innovation of the Grantham Institute at Imperial College (cohort 2) and of the Australian Think and Act Differently, the business acceleration funded by BHP to bring disruptive innovations to mining. Here in the UK, we have partnered with a few large consulting companies engaged in the design of metalliferous open-pit mines across the world.
[1] See https://optimalslope.com/Case-Studies.html
Role Description
This job position involves translating our research knowledge, i.e., developed algorithmic formulations, into a new codebase to successfully develop a C++ performance-driven scientific application. The job position is a good fit for people who enjoy collaborating with team members but can also independently conduct research and apply their problem-solving skills to propose and practically implement solutions in the code.
The ideal candidate should have experience coding parallel C++ code (to be run on Cloud environment) and a strong background in computational optimization techniques.
Knowledge of and/or willingness to explore existing advanced computational C/C++ libraries as well as the skills to successfully integrate them in order to develop a highly efficient parallelised code is required. This will also include working on systematic code execution time profiling and testing to assess the quality of newly implemented solutions in terms of execution time and functional correctness for different benchmark case studies.
Key Responsibilities:
– Algorithm and Backend Integration: Integrate newly designed algorithms, capable of handling complex stratigraphies, in an existing C++ backend optimizer, ensuring smooth operation and maximizing performance improvements.
– Parallelization and Code Optimization: Develop and optimize high-performance, parallelized code. Identify computational bottlenecks and apply efficient solutions using advanced numerical libraries or custom-built techniques.
– Profiling and Benchmarking: Set up profiling environments to evaluate performance improvements, run case study simulations, and validate the correctness and speed of the implemented software.
– Collaboration and Documentation: Collaborate with the team to refine algorithms and software features, document code, and amend features based on feedback.
– Enhancing Performance: Leverage robust computational libraries and other custom solutions to optimize the overall performance and scalability of the backend.
Skills and Qualifications:
– Educational Background: A minimum of a BSc in Computer Science, Software Engineering, or a related STEM field. An MSc, PhD, or equivalent R&D experience will be taken into account in determining the compensation package.
– Proficiency in C++: At least 3 years of experience with C++ development, including writing high-performance parallel code.
– Experience with Optimization: Hands-on experience with mathematical optimization methods (e.g. black-box optimization, direct search techniques) and frameworks like NOMAD would be beneficial.
– Analytical and Numerical Skills: Strong math and analytical abilities to implement complex algorithms effectively.
– Benchmarking and Profiling: Practical experience in profiling and optimizing the performance of scientific applications is a plus.
– Residency: UK residency is essential (we are unable to offer work sponsorship).
– Working Conditions: The role is fully remote within the UK.
How To Apply
To apply for the role, please send your full CV highlighting all your skills, education, and work experiences relevant for the job, along with a one-page cover letter outlining your motivation to apply for the job to stefano_utili@optimalslope.com. We aim to provide shortlisting decision and feedback within 5 working days from your application. At the end of every week, we will make a short-list of candidates for interviews.