Python Developer
About the role
- RequiredMinimum 8 years of professional Python development experience delivering secure, scalable, and production-quality backend applications or calculation services
- Strong proficiency in modern Python, object-oriented design, modular architecture, reusable libraries, type validation, dependency management, and coding standards such as PEP 8Hands-on experience developing REST APIs using FastAPI or an approved equivalent framework
- Strong knowledge of SQL and PostgreSQL, including data modelling, queries, functions, indexing, transaction management, and performance optimization
- Experience with Pydantic, PyTest, importlib, caching, and configuration management
- Experience developing reusable Python utilities and packages
- Experience with Microsoft Azure services, App Service or approved container platforms, Azure DevOps, continuous integration and deployment pipelines, secrets management, logging, and monitoring
- Proven ability to identify opportunities for engineering automation and productivity improvements using AI, Generative AI, intelligent agents, scripting, and developer tooling
- PreferredWorking knowledge of building science, energy and water efficiency, materials, embodied carbon, cost calculations, or sustainability standards
Before you apply
Applying takes about a minute. These four things decide how fast it moves after that.
Your profile is current
It's what we read first. Occupations, seniority and locations matter more than a long history.
Two examples you can talk through
Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.
A number in mind
What you're on now and what would make you move. We negotiate better when we know both.
Your notice period
Employers plan around it, and it's the question that stalls offers most often.
Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.
