Leading development teams through influence, including planning, controlling and reporting on progress.
Lead the technical direction of our platform across the full stack – .NET, React, event-sourced architecture, and cloud-native infrastructure. You’ll architect solutions that think in streams of domain events rather than traditional CRUD, mentor engineers, and drive engineering excellence. You think in systems, ship in increments, and leverage AI to amplify your team’s output.
Design, build and maintain event-sourced systems where state is derived from immutable streams of domain events. You’ll think in terms of replayability, temporal queries, and projections – ensuring the platform can reconstruct state, audit changes, and reason about behaviour over time.
Architect integration events across bounded contexts, enabling domains to evolve independently while maintaining system-wide consistency. You’ll tackle the inherent challenges of distributed event-based systems – eventual consistency, idempotency, ordering guarantees, and error recovery – with pragmatic, well-tested solutions.
Apply CQRS patterns to separate read and write concerns, designing purpose-built read models and projections that serve the needs of different consumers across the platform.
Champion system-level thinking in an AI-accelerated Software Development Lifecycle (A-SDLC) where code output is significantly increased. You’ll ensure that architecture fitness tests, contract tests, and deployment safeguards are in place so that multiple domains can be deployed to production independently and with confidence.
Designing, coding, and testing applications either in one major language or in a range of programs across multiple platforms.
Making Tech Stack choices and capturing knowledge continuously as part of your work.
Mentoring developers in technical and other complementary team delivery skills.
Ensuring that systems are developed within agreed budgets and time frames and achieving necessary design and systems security standards.
Overseeing the analysis, design, programming, debugging, and modification of software for our Datapay product.
Working closely with Product and Design teams to ensure quality solutions are delivered on time.
Leads communication and collaboration across Development, Design, and Product teams, to ensure alignment and create successful outcomes.
Requirements
Expert knowledge of various software and performance monitoring techniques.
10+ years in Software Development, with at least 4 years in a large IT organisation.
Expert knowledge across current software toolsets such as C#/.Net, C#/.Net Core, NodeJS.
Knowledge of systems integration using APIs; REST, web services, Auth0 etc
Experience leveraging AI-assisted development workflows to accelerate delivery, with a focus on maintaining architectural integrity, code quality, and system coherence as development velocity increases.
Proven experience building production systems using CQRS, Event Sourcing, and Domain-Driven Design – not just familiarity with the patterns, but hands-on experience solving the real problems they bring: eventual consistency, idempotency, ordering guarantees, error recovery, and evolving event schemas over time.
Knowledge of web front-end technologies such as HTML, JavaScript, Typescript, CSS, React or a similar front end development tool kit.
Knowledge of spec-first development using OpenAPI/Swagger, and a strong testing mindset spanning unit, regression, E2E, contract testing (e.g. Pact), and architecture fitness tests. Experience with UI component frameworks such as Storybook.
Experience with event store and streaming infrastructure (e.g. KurrentDB/EventStoreDB, message brokers) – you’ve operated and maintained the plumbing that underpins event-sourced systems, not just consumed events from them.
Experience with cloud platforms (Azure preferred), containerisation, CI/CD pipelines, and infrastructure-as-code. You understand how architecture decisions affect deployability and operability.
Ability to reason at the system level across multiple domains – understanding how bounded contexts interact, how to maintain independent deployability, and how to assess the cross-domain impact of changes before they reach production.
Effective presentation skills with the ability to convey technical information across various levels.
Strong verbal and written communication skills with a wide variety of stakeholders.