The role

You will be one of the strongest hands-on engineers in the team, owning complex changes from design through to production and helping raise the technical standard around you. This is an individual-contributor role, not a line-management role.

You will work across a mixed estate of modern and legacy applications. We want somebody who can improve what is there today, not just design the system they wish existed, while helping us move toward a more consistent modern .NET and Azure engineering platform.

The estate you are joining

You will be working across a mixed estate. Some products are modern .NET and React/TypeScript, while others are older VB.NET/C# applications on .NET Framework and ASP.NET Web Forms. A lot of important business behaviour also sits in SQL Server, including large stored procedures and database-driven workflows.

We are modernising this progressively rather than pretending the legacy estate does not exist. You need to be comfortable getting into older code, understanding why it works the way it does and improving it safely, while also helping us build the newer .NET, API, Azure and automated-delivery patterns we want more of.

What you will be responsible for

Engineering and delivery

  • Design, build, test and maintain full-stack software across web applications, backend services, APIs and integrations.
  • Take medium-to-large problems and turn them into clear, maintainable technical solutions with limited supervision.
  • Own the quality, security, performance and supportability of the code you produce.
  • Break down complex work into sensible technical tasks and identify risks before they become delivery problems.
  • Support production systems and carry out effective root-cause analysis rather than treating symptoms.

Technical contribution

  • Contribute strongly to solution design and architecture discussions within the team.
  • Perform thoughtful code reviews and give useful, constructive feedback.
  • Use appropriate debugging, profiling, logging and monitoring tools across development, test and production environments.
  • Identify technical debt and propose pragmatic improvements based on risk and value.
  • Develop deep knowledge in one or more parts of the estate while understanding how the wider product hangs together.
  • Work comfortably across application code, APIs, integrations and SQL when that is what the problem requires.

Quality and ways of working

  • Write and maintain unit, integration and automated tests as part of normal delivery.
  • Work closely with QA to improve testability and build confidence earlier in the lifecycle.
  • Contribute actively to refinement, estimation, planning, reviews and retrospectives.
  • Mentor less experienced engineers through pairing, reviews and day-to-day technical guidance.
  • Help improve engineering, deployment and support practices across the team.

Technology you will work with now

  • C# and .NET, including legacy .NET Framework and ASP.NET Web Forms as well as ASP.NET Core and REST API development.
  • React, JavaScript/TypeScript and Redux-style front-end development, with Blazor also relevant across the wider estate.
  • SQL Server and T-SQL, including large stored procedures, database-driven business logic, debugging complex data issues and query performance.
  • Entity Framework, Dapper or similar data-access technologies.
  • Git, Azure DevOps, YAML pipelines and CI/CD.
  • Microsoft Azure application and integration services, including App Service, Functions, API Management, Logic Apps, Storage and monitoring where relevant.
  • Application Insights and Log Analytics for production diagnosis and operational insight.
  • VB.NET and older .NET Framework/Web Forms applications that are being supported and progressively modernised.
  • Xamarin/.NET MAUI or similar mobile technologies where relevant.

Where we are heading

  • More consistent modern .NET and Azure patterns and reduced reliance on unsupported legacy technology.
  • Reusable CI/CD templates, infrastructure as code and stronger DevSecOps practices.
  • Playwright and wider automated test coverage as part of normal engineering delivery.
  • Better observability, telemetry and production diagnostics.
  • Smaller, safer and more frequent releases.
  • Clearer architecture boundaries and better use of APIs, platform services and automation.
  • More consistent Azure landing-zone, Bicep and deployment patterns across applications.

What we are looking for

  • Strong commercial software engineering experience with solid full-stack capability.
  • Strong C#/.NET and API development experience.
  • Good front-end capability in React/TypeScript or a comparable modern framework.
  • Strong SQL Server/T-SQL skills and confidence diagnosing application/data problems.
  • A good understanding of software design, automated testing, secure development and maintainable architecture.
  • Experience with Git, CI/CD and Azure or another public cloud platform.
  • Comfortable supporting legacy applications while improving them rather than ignoring them.
  • Clear communication and a willingness to mentor and share knowledge.

Useful experience, but not essential

  • Blazor, VB.NET or .NET MAUI.
  • Azure API Management, Functions, Logic Apps or Service Bus.
  • Playwright, Bicep, infrastructure as code or DevSecOps tooling.
  • Experience modernising applications without needing a full rewrite.

How success looks

Complex work gets delivered without constant direction, technical decisions are well reasoned, production problems are diagnosed properly, and the engineers around you become stronger because you are in the team. The role is primarily hands-on, typically around 80-90% engineering focused.

Salary

65000
20190813_ATS_icons

Hours

40 Hours, Monday - Friday, 08:30 - 17:00
20190813_ATS_icons

Closing date

Nov 29, 2026

careers site by hireful.