Modelling Software Engineer

Aurora Energy ResearchSão Paulo, São PauloOn-siteFull-timeSenior, 5–8 yearsListed 1 hour ago

Apply now

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. The models span power markets across the globe — translating complex energy system dynamics into robust, scalable software that underpins our market outlooks, client insights, and software platforms.

This role sits within a cross-office squad that bridges Aurora's São Paulo and Oxford offices. You will be among the first engineers hired into the São Paulo side of the squad — helping to establish a team that works as one across two time zones, not as two separate groups. Your squad lead is based in São Paulo alongside you; Oxford-based engineers in your squad are your peers.

The day-to-day work is substantive software engineering on a Python codebase. You will take full ownership of medium-complexity features and components — from design through to production operation. The codebase uses GAMS with MOSEK as the optimisation solver; no prior experience with either is required. The work spans new feature development and progressive migration of existing features from a mature legacy codebase into a well-bounded, modern architecture — a mix of building new capability and improving the foundations it runs on.

Aurora is investing actively in AI-assisted engineering — not as a policy, but as a practice. Engineers here are expected to use AI tools fluently across the full development workflow: writing, reviewing, testing, and analysing code. If you have experience with AI-assisted engineering and a view on where it genuinely adds value, this is an environment where that matters.

Key Responsibilities

- Take full ownership of medium-complexity features and components end-to-end — design, implementation, testing, and production operation; you are responsible for their health over time, not just at point of delivery.
- Break down and estimate your own work reliably; deliver in increments so value is visible early and feedback arrives continuously.
- Review others' code substantively — give technical feedback that helps the author improve, not just flags issues.
- Contribute to technical discussions in the squad; offer solutions, not just problems.
- Actively support the engineers around you — junior engineers in particular — in technical and non-technical areas.
- Operate within the cross-office squad as a full peer — participate in shared ceremonies, communicate clearly across time zones, and default to written decisions so neither office is blocked.

Skills, Knowledge and Expertise

Required attributes:
- 2–4 years of professional software engineering experience with a track record of independent ownership of production software.
- Strong Python engineering skills — this is the primary language of the codebase.
- Track record of code review and giving constructive technical feedback.
- Comfortable breaking down and estimating work independently; reliable delivery.
- Evidence of thinking about the "why" as well as the "how" — understands what value their work provides and can connect technical decisions to business outcomes.
- Collaborative — actively supports the people around them, not just their own output.
- Meaningful exposure to AI-assisted engineering across the development workflow — you have used these tools in practice and have a view on where they genuinely add value.
- Full professional fluency in both English and Portuguese (written and spoken); English is the primary working language across both offices.
Desirable attributes:
- Experience with scientific computing, numerical methods, or domain-specific software (energy, finance, or similar).
- Familiarity with agile delivery in squad-based teams.
- Energy market or power systems domain knowledge — you understand the problems the models are solving, not just the software that solves them.
- Experience working in or with a distributed or cross-office team.

What success looks like

- 0–3 months: Operating independently on your assigned squad work. Code reviews are substantive. You understand what your squad is building and why. Your squad lead is not in your workflow for routine decisions.
- 3–6 months: You have owned at least one feature end-to-end, including its production operation. You are a reliable code reviewer. You are starting to coordinate smaller pieces of work involving other engineers.
- 6–12 months: Consistently productive on medium-complexity components. Actively supporting junior engineers. The team knows what you are working on and trusts your estimates. Starting to show an appetite for the next level of ownership.

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.