Senior Modelling Software Engineer - Chronos
Please note that we are open to considering candidates who require visa sponsorship (subject to eligibility and company approval)
We’re looking for a Senior Software Engineer to help us build and maintain the Python codebase behind Aurora’s Chronos battery storage modelling product. You’ll work within a small team (4-6 people) in a collaborative engineering environment, leading feature development and improving code quality, maintainability, and developer experience in the model stack used across our business.
You’ll thrive here if you enjoy architecting and developing clean, maintainable Python, shaping libraries and packages that other teams rely on, while raising engineering standards across the organisation and empowering your junior colleagues to do their best work through coaching and mentoring.
The position suits an individual with 6+ years of experience in Python software engineering who is interested in applying software engineering techniques to modelling software solutions.
We’re looking for a Senior Software Engineer to help us build and maintain the Python codebase behind Aurora’s Chronos battery storage modelling product. You’ll work within a small team (4-6 people) in a collaborative engineering environment, leading feature development and improving code quality, maintainability, and developer experience in the model stack used across our business.
You’ll thrive here if you enjoy architecting and developing clean, maintainable Python, shaping libraries and packages that other teams rely on, while raising engineering standards across the organisation and empowering your junior colleagues to do their best work through coaching and mentoring.
The position suits an individual with 6+ years of experience in Python software engineering who is interested in applying software engineering techniques to modelling software solutions.
- Manage on-time delivery of robust and scalable model features.
- Coach, mentor and line manage junior colleagues, supporting their development and engagement.
- Design, implement, and maintain Python modules/packages in the modelling codebase.
- Innovate in wider software architecture and data orchestration to improve scalability and developer experience.
- Improve code quality and developer experience by refactoring for clarity, strengthening interfaces and simplifying implementations.
- Champion automated testing and TDD; driving the adoption of modern, agentic-first software engineering practices in the model development team.
- Lead constructive and empathetic code reviews and technical design discussions.
Required attributes:
- Professional Python experience (6+ years) in a team‑based software environment, delivering components used by other teams, user groups or customers.
- Experience managing and mentoring junior colleagues.
- Demonstrable experience in applied software architecture and design patterns.
- Disciplined experience of Test Driven Development and Continuous Delivery.
- Experience in DevOps/Infrastructure development including containers and CI/CD.
- Experience stewarding internal libraries, packaging and dependency management at scale.
- Experience in effective and efficient agentic-first development.
Desirable attributes:
- An interest in working in the energy/decarbonization sector.
- Experience engaging with internal stakeholders and colleagues in other teams.
- Experience developing software for modelling, simulation or mathematical optimisation.
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.
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.