As a Senior Software Engineer (simulation focused), you will be part of a world-class team of scientists and engineers who create useable Artificial Intelligence for the real world. With numerous partnerships with global organisations, this team are developing a reputation for innovation within the niche area of Reinforcement Learning.
The role can be done remotely but you should be able to access the office for collaboration sessions from time to time.
One of your main challenges as a Senior Software Engineer is to develop complex simulation environments and as well as intricate Machine Learning systems, cultivating interactions between all parts. You will be instrumental to the quality guidelines of their products, while improving the function of the teams you are involved in.
To be a Senior Software Engineer for this organisation you must have a background in applying Machine Learning solutions into more traditional computer systems. You will also ideally have experience with High Performance Computing (HPC) and software optimisation.
You will bring a breadth of knowledge from a simulation standpoint, having extensive experience building software which can reciprocate real-world implications and actions, as well as knowledge of Machine Learning techniques (ideally reinforcement learning)
So, what would make you a great fit?
- PhD OR MSc in a relevant area such as Maths/ Stats, Computer Science, Engineering, ML, or similar.
- Min 5-6 years of commercial experience actually productionising Simulation environments.
- Extensive experience with C++, ideally 17 & Python (This is a must)
- Experience building systems/software that incorporates a high volume of real-time data transfer e.g., sensor/signal-based environments.
- Experience designing and developing large distributed systems (i.e. parallel Processing, Threading & synchronisation)
- Familiarity with multiple distributed frameworks as well as fluent with Microservice architectures
- Experience programming & computing from the ground up (i.e. engineering with a focus on memory management / latency / robustness / optimised code etc.)
- Test experience i.e., unit testing, automation, TDD etc.
- Experience with CI tools such as Jenkins.
- Must have OS experience with Linux.
- Programming skills in the likes of Go
- Experience within gaming.
We have a lot of information we can share on the company, platform, and team so if this is an opportunity you would like to hear more about, please send me your details and I will be in touch.