About this role
As a Software Development Lead at Davies Technology Solutions (DTS), you will combine hands-on engineering expertise with technical and people leadership for a development squad. You will be accountable for the quality, maintainability, security, and technical direction of the squad’s software, while enabling reliable delivery and effective live operation. Working closely with the Director of Development, the Director of Engineering and Architecture, Product Owner, Delivery Manager, quality engineers, and other stakeholders, you will shape achievable delivery plans, guide technical decisions, manage engineering risks, and ensure that solutions meet agreed organisational standards. Through the Director of Engineering and Architecture, you will have access to the Architecture and Platform teams, who will provide specialist support for architecture, DevOps, cloud, and infrastructure decisions and delivery. You will lead and mentor engineers primarily across the Back End Microsoft .NET ecosystem. This role is suitable for either a Back End specialist or a Full Stack engineer with strong back-end expertise and practical experience across the React and TypeScript front end. You will have sufficient working knowledge of CI/CD pipelines, GitHub Actions, Azure Pipelines, Microsoft Azure, and infrastructure as code using Terraform to contribute effectively, identify when specialist input is required, and work with the Architecture and Platform teams through design, delivery, and operational processes. Design, build, test, and maintain secure, observable, reliable, and maintainable production software, leading by example in the squad’s most complex or high-risk areas. Lead, coach, and mentor engineers through pairing, design discussions, code reviews, technical feedback, and clear development expectations. Collaborate with the Director of Development, Product Owner, and Delivery Manager to shape achievable delivery plans, provide technical estimates, identify dependencies, and balance scope, quality, risk, and delivery commitments. Work with the Architecture team to provide appropriate technical direction for the squad across solution design, security, integration, testing, observability, performance, deployment, and operational readiness, escalating decisions that require specialist architectural input. Partner with product managers, business analysts, quality engineers, platform engineers, and other stakeholders to clarify requirements, identify technical constraints, and translate business priorities into sustainable engineering outcomes. Establish and maintain engineering standards covering source control, branching, pull requests, coding practices, automated testing, secure development, documentation, and release readiness. Own effective technical assurance within the squad through code review, automated quality controls, security scanning, testing, pairing, and technical walkthroughs. Work with the Platform team to support the implementation and continuous improvement of CI/CD pipelines using GitHub Actions and Azure Pipelines, contributing application and delivery knowledge while relying on platform specialists for shared tooling, controls, and infrastructure. Collaborate with the Platform and Architecture teams to ensure deployments use appropriate environment controls, approvals, quality gates, secrets management, rollback approaches, and operational verification. Contribute application and domain knowledge to the design, deployment, and operation of cloud-native solutions on Microsoft Azure, working with the Architecture and Platform teams to address security, resilience, scalability, observability, performance, and cost. Work with the Platform team when infrastructure as code is required, contributing to the review and application of Terraform changes without being expected to own shared modules, state management, or the organisation-wide infrastructure process. Communicate technical progress, trade-offs, risks, and decisions clearly to both engineering and non-technical stakeholders, escalating material concerns early and presenting practical options. Identify and manage technical and delivery risks, including security, dependency, performance, reliability, operational, and technical-debt concerns. Support software in production through monitoring, incident response, root-cause analysis, service improvement, and the responsible management of technical debt. Evaluate relevant technologies and engineering practices against genuine product and operational needs, leading improvements that reduce risk, improve developer effectiveness, strengthen reliability, or create measurable customer value. Help the squad improve delivery flow, predictability, quality, and operational performance using meaningful engineering and delivery measures.