Principal Software Engineer (Back-End)
Role details
Job location
Tech stack
Job description
We are looking for an experienced Principal Back-End Engineer to lead the team building and scaling the infrastructure behind Scenario Builder, our electricity grid modelling platform. Scenario Builder is an in-browser platform that currently provides capacity expansion and dispatch modelling through an accessible no-code interface. The vision for Scenario Builder is to expand into power flow modelling to create a fully integrated grid modelling platform with the features and functionality needed to enable users to develop bankable scenarios that support energy investment decisions.
You will line-manage a small team of engineers while remaining a highly active individual contributor. You will own the technical shape of engineering work on the back-end team - leading planning, architecture, and code quality. You will work closely with the wider product and engineering team to design, develop, and maintain the back-end services that power our platform.
This hybrid role is based out of our London office near Waterloo Station and reports to the Head of Platform.
Responsibilities
Back-end development & architecture
- Design, develop, and maintain scalable back-end services and APIs using Python and modern frameworks (FastAPI).
- Design and build high-performance API endpoints to handle complex hierarchical data queries and multi-dimensional aggregations for grid modelling computations
- Ensure system reliability, performance, and security through best practices in code quality, testing, and monitoring.
- Collaborate with front-end engineers to design and implement RESTful APIs that support our web application.
- Collaborate with data engineers and domain experts on the evolving core data model
Infrastructure & DevOps
- Manage and optimise cloud infrastructure (GCP) to support our computational workloads.
- Implement and maintain CI/CD pipelines to enable rapid, reliable deployments.
- Monitor system health and performance, proactively identifying and resolving issues.
- Implement and maintain infrastructure-as-code
Technical leadership & collaboration
- Participate and lead in code reviews, architectural discussions, and technical planning sessions.
- Own technical planning: break down roadmap items into well-scoped engineering work, lead estimation, and drive architectural decision records (ADRs).
- Collaborate with cross-functional teams, including product, data engineering, and modelling, to deliver impactful features.
- Set and uphold the team's technical standards - code quality, testing strategy, API design - through direct example and code review., * Line-manage a team of 3-5 engineers: run regular 1:1s, support career development, and provide timely, constructive feedback.
- Partner with the Head of Platform on performance reviews and personal development plans.
- Act as the first point of escalation for day-to-day technical blockers
Requirements
Do you have experience in Terraform?, You should have a long-term commitment to advancing the energy transition and be driven to build robust, scalable systems that power our grid modelling platform. Passionate about creating highly performant back-end services, you understand the technical challenges associated with building niche B2B products that handle complex computational workloads. In addition to seeking out people with a proactive, problem-solving attitude and an eye for detail, as a growing organisation, collegiality and empathy for our coworkers are a requisite. While we are a rapidly growing tech startup, we are also a non-profit, so a high level of adaptability and willingness to approach challenges with creativity and curiosity is essential., * 7+ years of experience in back-end software development, with strong proficiency in Python.
- Experience designing and building RESTful APIs and microservices architectures.
- Strong understanding of database technologies (PostgreSQL, Redis, Firestore), ORMs and data modelling principles.
- Experience with cloud platforms (preferably GCP) and containerisation technologies (Docker).
- Solid understanding of software engineering best practices, including testing, code review, and documentation.
- Excellent problem-solving skills and ability to work independently on complex technical challenges.
- Experience line managing or formally mentoring engineers, with confidence running 1:1s and supporting career development.
- Understanding of OAuth and web security best practices.
- Experience with AGILE/Scrum based ways-of-working
Desirable
- Experience in the energy sector or with computational modelling/simulation software.
- Familiarity with scientific computing libraries (NumPy, Pandas) and optimisation frameworks.
- Experience with generative AI/LLMs in applied engineering contexts
- Experience with infrastructure-as-code tools (Terraform, Terragrunt) and GitOps practices.