About the role
What you will do
— Own the end-to-end solution architecture of the platform and keep it aligned with the product roadmap
— Create and maintain the architecture baseline: C4 and component diagrams, architecture decision records (ADRs) and reference architectures
— Design integration patterns for onboarding assets, including direct OCPP control and vendor/OEM back-office API integration, weighing trade-offs such as latency, control level, data availability and consent
— Architect multi-tenant, white-label capabilities: asset hierarchy, tenant isolation, feature flags and environment strategy (dev / UAT / demo / production)
— Design for scale and resilience: capacity planning, load and scale testing strategy, failure handling and go/no-go criteria for production readiness
— Define the security architecture, including Azure tenant and subscription structure, identity, network isolation and secrets management, and prepare the platform for ISO-type accreditation and future critical-infrastructure requirements
— Work with ML engineers and data specialists on integrating forecasting and optimisation models and data pipelines with the orchestration engine and grid services
— Provide feasibility assessments and rough-order-of-magnitude estimates for new capabilities, and validate designs with product leadership before commitment
— Guide the engineering team through design sessions, code and design reviews and mentoring, promoting best practices in CI/CD, testing and observability
— Keep cloud cost and operational efficiency in view as the platform scales from thousands to tens of thousands of connected assets
What we expect
— 10+ years of commercial experience in software engineering, including 3+ years as a Solution or Software Architect on cloud-based platforms
— Hands-on experience with C# and .NET (.NET 8+), enough to review code and prototype critical components
— Strong knowledge of Azure architecture: Service Bus, Event Hubs, Functions, App Service, Container Apps/AKS, API Management, Entra ID, Key Vault, networking and monitoring
— Solid experience with cloud platforms (Azure is the core platform for this role)
— Experience with databases (SQL and/or NoSQL), e.g. Cosmos DB, Azure SQL/PostgreSQL
— Proven experience designing microservices, service-oriented and event-driven systems (resilience patterns, dead-letter handling, idempotency, eventual consistency)
— Experience with multi-tenant SaaS architecture
— Experience with real-time, high-throughput or IoT/telemetry-style systems
— Solid understanding of security-by-design: identity and access management, least privilege, network segmentation, secure CI/CD
— Good understanding of CI/CD practices and Infrastructure as Code
— Strong understanding of testing strategies, including load and scale testing
— Excellent problem-solving and debugging skills
— Excellent communicator, able to explain architecture clearly to both engineers and non-technical stakeholders
— Strong Computer Science fundamentals (data structures, OOP, architecture)
— Ability to work autonomously in a fast-changing startup environment and balance delivery speed with architectural robustness
— Upper-Intermediate or higher level of English (clear spoken English is essential for daily work with UK leadership)
As a plus
— Previous work in energy and grid domains: virtual power plants, demand response, flexibility and wholesale markets, frequency response, energy management systems
— Experience integrating with third-party/OEM back-office systems and handling asset onboarding at scale
— Experience with ISO 27001 or similar certifications, penetration testing coordination or critical-infrastructure compliance
— Familiarity with data and ML platforms (Azure ML, Databricks, Fabric) and exposing ML models to production services
— Hands-on experience with Docker, Kubernetes and IaC tools (Bicep, Terraform, Pulumi)
— Observability experience (Application Insights, OpenTelemetry, Grafana) and performance/scale testing
— Experience with AI-assisted development workflows and keeping architecture documentation usable by both people and LLM-based tools
— Working knowledge of React / TypeScript
— Passion for clean code, developer experience and end-user quality
What you get with Impressit
We are passionate about everything we do — and we back the people who do it.
Ready to join the team?
Apply for Solution Architect (Microsoft stack / .NET) — or browse the rest of our open roles.