TransitionZero is looking for a Software Optimisation Engineer.
Overview:
* Full-time
* Location: London, UK
* Language: English
* Salary: £56,761 – £69,015 per year
* Applications closing: until filled
Job Description
We are building a data and modelling platform that makes energy systems analysis auditable, accessible, and reproducible. Our platform is the entry point to all of our data and analysis, including satellite-derived greenhouse gas emissions intelligence, forecast and weather data, and our energy systems modelling capability. Users can self-serve data and develop actionable insights through a browser-based interface, API, and Python client library.
The Software Optimisation Engineer ensures TransitionZero’s energy modelling services are robust, scalable, and production-ready, enabling decision-makers to trust and act on our insights. By optimising energy system models for performance and reliability, and embedding best practices in software engineering, this role directly supports our mission to make energy analysis auditable, accessible, and reproducible. Their work turns complex models into reliable services that power better investment and policy decisions for the energy transition.
Responsibilities
* Build and maintain backend services that expose energy modelling capabilities through documented APIs (OpenAPI 3.1).
* Develop production-grade software with CI/CD pipelines, testing, observability, and containerisation.
* Implement and tune capacity expansion and dispatch models.
* Optimise algorithmic performance (runtime, memory usage, solver convergence).
* Ensure scalability from small exploratory runs to national and regional-scale simulations.
* Select and apply the most appropriate optimisation techniques, using exact methods such as linear and mixed-integer programming where tractable, and heuristics or metaheuristics to approximate or accelerate solutions when problems become too large or complex for exact solvers.
* Collaborate with analysts to ensure models capture actual system operation and market dynamics.
* Work with engineers on data ingestion, cloud execution, and delivering results to the platform front-end.
* Ensure modelling workflows are robust, scalable, and responsive, providing predictable performance under varying workloads.
* Contribute to TransitionZero’s platform vision of delivering modelling as-a-service, enabling decision-makers to integrate modelling into their workflows.
* Continuously improve optimisation performance, service reliability, and engineering practices.
Role Requirements
Essential
* Strong programming skills in Python, with experience delivering production-quality software.
* Deep understanding of linear and mixed-integer programming, plus experience optimising algorithmic performance.
* Cloud-native development and deployment, including containerisation (Docker, Cloud Run, Kubernetes).
* Building and maintaining APIs with frameworks such as FastAPI or Flask.
* Experience using relational databases.
* Git-based version control and CI/CD workflows (GitHub Actions preferred).
* Unit, component, and integration testing, with a focus on automation.
* Ability to design services that are responsive, resilient, elastic, and message-driven.
Beneficial
* MSc or PhD in a relevant STEM field (energy systems, applied mathematics, computer science).
* 3+ years’ experience in energy systems modelling (capacity expansion and dispatch).
* Proven experience with PyPSA; familiarity with OSeMOSYS, TIMES/MARKAL, or MESSAGE is a plus.
* Proven experience with optimisation solvers (e.g., Gurobi, HiGHS, etc.).
* Experience with heuristics/metaheuristics or ML-based optimisation.
* Knowledge of geospatial data handling (GeoPandas, Uber H3).
* Experience with strongly typed languages (Java, Kotlin, Go, C++) for performance-critical optimisation code.
* Observability stacks (Prometheus, Grafana, OpenTelemetry).
* Experience running large-scale models on cloud or HPC infrastructure.
How to apply?
To apply for this role, please fill in the application form.
#J-18808-Ljbffr