Now hiring

Modelling Software Engineer @ Aurora Energy Research

São Paulo, BROnsiteFull-time
Apply with ResuMinder

Opens on the employer's site

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.
  • 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

PythonGAMMOSEKSoftware EngineeringAI-assisted engineeringtechnical discussions

Ready to apply?

Install the ResuMinder extension and we'll auto-fill the application in seconds — no rewriting.

See how your CV scores