About this role
Origin is Aurora's flagship power market model. It forecasts power prices, generation, capacity expansion and investment across more than 20 electricity markets.
The model helps answer some of the biggest questions in the energy transition. Where should new power plants be built? What will consumers and businesses pay for electricity? How can a country reach net zero? Governments, utilities, developers, investors and traders use its results to make decisions worth billions of dollars.
Origin brings together optimisation, power system simulation, market modelling and modern software engineering. It's a large Python codebase, with optimisation components written in GAMS and solved with MOSEK, running in Docker containers on AWS. You don't need any experience with GAMS, MOSEK or optimisation to apply.
## The opportunity
Origin is a mature model with clients around the world, but the São Paulo development team is new. You'll be one of its early engineers and you'll help shape how it works.
São Paulo is already Aurora's modelling hub for the Americas. The analysts and market experts who use Origin every day sit in the same office, so you'll see first-hand how your work gets used.
Your squad works as one team across Oxford and São Paulo, and it's still growing. The squad lead hands out work based on skills, whichever office you're in. Your line manager will be a Modelling Software Engineer or above, and may sit in a different squad.
This is an entry-level role, and you'll own real features from the start. You'll pick up small and medium pieces of work and take them all the way to production, learning the codebase and the energy domain as you go.
We use AI tools right across development, for reviewing and testing code as well as writing it. You'll use them every day and help us work out where they really help.
Aurora takes the work seriously. We do not take ourselves too seriously. The team works best when people are direct, admit mistakes and enjoy what they do.
Key Responsibilities
- Own small and medium features from start to finish, and keep them moving.
- Deliver working, tested software. If it's broken or untested, it isn't done yet.
- Break down and estimate your own work, and let the squad know early when something is taking longer than you expected.
- Write code that others can maintain, and act on review feedback.
- Build logging, scalability and security into the code you write.
- Take an active part in squad meetings with colleagues in both offices, and help improve how the team works.
Skills, Knowledge and Expertise
Essential
- A degree, a bootcamp, or practical experience that shows the same skills. We're interested in what you can do, whatever route you took to get there.
- You can write working code in at least one language. Python is the main language in Origin.
- You understand the basics of writing maintainable, tested code.
- You pick up new technologies fast and you're curious about how things work.
- You communicate clearly, in writing and in person.
- You take feedback well and act on it.
- You own your work and see it through.
- Fluent English and Portuguese, written and spoken. English is the main working language across both offices.
Strongly preferred
- Some experience of software engineering in a team, for example an internship or open source work.
- Familiarity with git, automated testing and basic operational ideas.
- An interest in energy, data or platform engineering.
Good to have
- Experience with scientific computing, data pipelines or numerical work in Python.
- Some knowledge of mathematical optimisation, such as LP or MIP.
- Some experience using AI tools for coding.
Not required
- Production experience. This role is where you'll build it.
- Expertise in any particular technology. How fast you learn matters more than where you start.
What we offer
Some of the benefits we include are:
- A fun, informal and international work culture
- A competitive salary package
- Access to regular coaching and mentoring sessions and the opportunity to learn from experienced professionals
- Access to the Aurora Academy, our training programme offering a range of opportunities to develop your skills within the responsibilities of your role and within the wider context of the industry
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.
The successful candidate would start as soon as possible. The team will review applications as they are received. Salary will be competitive with experience.
## What success looks like
0 to 3 months. You're delivering small tasks on your own and know your way around the codebase. You take an active part in squad meetings.
3 to 6 months. You're taking on medium tasks. You understand what your squad builds and why, and people rely on the quality of your work.
6 to 12 months. You own medium components and contribute to technical discussions. You and your line manager agree on what you need to show to reach the Modelling Software Engineer grade.