Research Software Engineer

Cambridge, England /
Research /
Please apply if you:

- Love doing research but love writing software more.
- Want to make a positive global impact on climate change and society.
- Are excited to work in an interdisciplinary research lab where you are always learning .

Invenia Labs is an applied machine learning lab with a mission to optimise the world’s complex systems to benefit as many people as possible. Right now, we concentrate on optimising electricity grids to reduce emissions and economic waste. Our Research Software Engineers are highly collaborative individuals with exceptional skills in software engineering, who empower their colleagues to conduct the highest quality research in machine learning, data science, and power systems, by proactively building the tools they need.

As a Research Software Engineer, you will be a hands-on technical contributor working with experts in machine learning, optimisation, probabilistic modelling, power systems, and more. Over time, you will also grow to be able to provide more and more advice and technical leadership on research projects. 

Since our team is growing, we can offer stimulating opportunities for people from diverse backgrounds. For example, this position could be ideal for someone with a strong background in coding who has recently completed a PhD or Master’s; or for someone who has other research experience as well as software development experience in industry.

Role Description

    • Design, build, test, and implement (often open-source) software for conducting interdisciplinary research in optimisation, machine learning, data science, and power systems.
    • Assist in the development of algorithms and models in pursuit of research goals.
    • Work with teammates asynchronously across multiple time zones.
    • Engage with software and academic communities by attending and contributing to conferences and seminars.

About you:

    • You have experience writing software: whether as a hobby, part of a degree program, a previous job or internship.
    • You have conducted research, either individually or as part of a team.
    • You have solid skills in numerical programming in any language, such as Julia, Python, MATLAB, or R.
    • You have knowledge of machine learning, statistics, probability theory, optimisation, or power systems.
    • You have strong interpersonal, verbal, written, and presentation skills.
    • You want to continue to strengthen your software engineering skills in a research environment.
Please note that while this is a flexible hybrid role, it cannot be performed fully remotely. We only consider candidates who already live, or are willing to relocate to our office locations in either Winnipeg, Canada or Cambridge, UK.