Job descriptionStart date 1st October 2023 or as soon as thereafter.
Full time. Salary depending on experience in the range £47,000 – 67,000 per annum.
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 decarbonise 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 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 fuel.
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 whole world.
Job role Description
This position is ideal for research-minded developers or scientists as it implies an exploration stage of the existing state-of-the-art algorithms as well as a practical integration of suitable techniques in order to develop a compute-optimised code. Your efforts will be targeted towards optimising our codebase which is mainly written in Matlab. The goal is to speed up 5-10 times the overall computational time by solving the performance bottlenecks in the existing runtime. This job also involves code translation to performance-oriented languages such as C++ for reducing the execution time of algorithms (e.g., Matlab pattern search method[2]). In addition, a systematic application evaluation will be carried out to assess newly implemented solutions in terms of speed-up and functional correctness using selected case studies. We remain receptive to exploring alternative approaches for achieving our performance enhancement objectives, e.g., GPU-based acceleration or machine-learning.
Responsibilities
The role encompasses the following key responsibilities:
· Develop new algorithms or extend the current ones to significantly speed up current computational time.
· Find computationally efficient ways to restructure code (e.g., through more efficient algorithms, code translation to C++) with the help of existing robust numerical libraries or other custom solutions.
· Preparation of profiling environment to evaluate speed-up improvements and running case study simulations to validate the functional correctness of the developed software.
· Document, review and amend software features according to the feedback received from the company team.
Skills and Qualifications
The ideal candidate should possess the following skills and qualifications:
· A minimum requirement of a BSc degree in Computer science or Software engineering. Applicants with other STEM degrees are welcome to apply as long as they can demonstrate equivalent computing experience. Possession of an MSc, PhD, or comparable experience in Research and Development (R&D) will be taken into consideration when determining compensation packages.
· A knowledge of C++, Matlab (or other scientific programming language).
· A good understanding of object-oriented programming, data structures and algorithms.
· An ability to read scientific papers, critically evaluate suitable algorithms, and translate them into practical working solutions.
· An understanding of code complexity analysis principles or hands-on experience with optimisation of high-performance scientific applications is considered as an advantage.
· An experience in application profiling/benchmarking of applications is a plus.
· UK residency essential
· The job will be hybrid with office attendance expected and remote working within the UK to be agreed upon
[1] see https://optimalslope.com/Case-Studies.html
[2] see https://www.mathworks.com/help/gads/patternsearch.html
Application process
Please send your CV inncluding your email and a 1 page cover letter explaining your motivation to apply for the job. At the end of every week we will make a short list of candidates for interview.