About this role
The Origin Model sits at the centre of Aurora's forecasting capability, allowing Aurora to help governments, investors, and utilities make billion-dollar decisions on the journey to net zero. It forecasts power prices, generation, capacity expansion, and investment across more than 20 electricity markets worldwide, translating complex energy system dynamics into robust, scalable software that underpins our market outlooks, client insights, and software platforms. The Origin model is a substantial Python codebase, with optimisation components written in GAMS and solved using MOSEK. Prior experience with mathematical optimisation is not required. Models are executed on Docker containers supported by an AWS-based infrastructure.
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.
Key Responsibilities
- 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.
Skills, Knowledge and Expertise
Required attributes:
- 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.
Desirable attributes:
- 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.
What we offer
Some of the benefits we include are:
- Private Medical Insurance
- Dental Insurance
- Parental Support
- Salary-Exchange Pension
- Employee Assistance Programme (EAP)
- Local Oxford Discounts
- Cycle-to-work Scheme
- Flu Jabs
At AER, we are committed to offering flexibility in the way we work. Most of our roles are hybrid with a mix of in-office/home working and potentially adjustable working hours. Let’s discuss what works for you and AER during the interview process. The Company is committed to the principle that no employee or job applicant shall receive unfavourable treatment on grounds of age, disability, gender reassignment, race, religion or belief, sex, sexual orientation, marriage or civil partnership, pregnancy, and maternity. To apply, please submit your Résumé / CV, a personal summary, your salary expectations and please inform us of your notice period.
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.