Modelling Software Engineer
Summary
Modelling Software Engineer joining Aurora's Origin Model Development team in Oxford (hybrid), owning features end-to-end in the Python-based energy forecasting platform that predicts power prices and investment across 20+ electricity markets, with GAMS/MOSEK optimisation running on Docker and AWS.
You'll join one of the squads in the Origin Model Development team, a squad of 4–7 engineers working alongside a product representative. You'll own features from requirements through adoption to production. Much of the work is about making complex model concepts easier to understand and finding the core set of functionality that meets the needs of diverse power markets in a scalable way. We use AI tooling across the development process not just for writing code, and you'll help us find where it genuinely adds value.
Aurora takes the work seriously. We do not take ourselves too seriously. The team that operates well is one where people are direct, admit mistakes, and enjoy the work. The person in this role will help maintain this culture.
- Own features and components end-to-end: requirements, design, implementation, testing, deployment, and live operation. You operate what you build, not just ship it.
- Break down and estimate your own work accurately, and deliver to those estimates reliably. Deliver in increments so value is visible early and feedback arrives continuously.
- Review others' code regularly, giving substantive, constructive feedback that helps the author improve, not just catching bugs.
- Identifying and championing best practices and processes for software development.
- Write maintainable, robust code. Favour simple solutions over complex ones, and treat operational requirements (logging, scalability, security) as part of the design, not an afterthought.
- Use AI tooling to write, review, test, and analyse code, and help shape how the team applies it.
- Actively support others in the squad, both junior engineers and those with varied backgrounds. You don't need to be their line manager to make a difference to their development.
- 2–4 years of professional software engineering experience, with a track record of independently owning production software.
- Strong fundamentals in testing, clean module design, and maintainable code. Python is the primary language of the codebase.
- You write automated tests as a normal part of your work.
- A track record of code review, giving and receiving constructive technical feedback.
- Comfortable breaking down and estimating work independently; you deliver reliably.
- You think about the "why" before the "how", and you understand what value your work provides to the business and the user.
- Collaborative. You actively work with and support the people around you, and help the squad achieve meaningful goals.
- Familiarity with agile delivery in squad-based teams.
- Hands-on experience with AI-assisted engineering, and a view on where it adds value.
- Experience with scientific computing, data pipelines, platform engineering, or domain-specific software (energy, finance, or similar).
- Knowledge of mathematical optimisation, such as LP or MIP, from energy systems, operations research, quantitative finance, or a similar field.
- Private Medical Insurance
- Dental Insurance
- Parental Support
- Salary-Exchange Pension
- Employee Assistance Programme (EAP)
- Local Oxford Discounts
- Cycle-to-work Scheme
- Flu Jabs
Unfortunately, we are unable to accept applications via email, telephone, or social media platforms. To be considered for this position, please submit your application using the link provided. Applications submitted through any other channel will not be reviewed.


