Junior Modelling Software Engineer
Entry-level engineer on the new São Paulo team building Origin, Aurora's power market model: a large Python codebase (with GAMS/MOSEK optimisation, Docker, AWS) forecasting electricity prices and investment across 20+ markets. You'll own small-to-medium features end to end, from code through testing to production.
- Compensation
- Not disclosed
- Location
- São Paulo, São Paulo
- Work setup
- Hybrid
- Seniority
- Junior
- Employment
- Internship
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Degree, bootcamp, or practical experience showing equivalent skills
- Can write working code in at least one language (Python is Origin's main language)
- Understands basics of writing maintainable, tested code
- Picks up new technologies fast and is curious how things work
- Communicates clearly, in writing and in person
- Takes feedback well and acts on it
- Owns work and sees it through
- Fluent English and Portuguese, written and spoken
Nice to have
- Some team software engineering experience (e.g. internship or open source)
- Familiarity with git, automated testing and basic operational ideas
- Interest in energy, data or platform engineering
- 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
Full description
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.
- 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.
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.