The Role
You will work in a product engineering team building, testing and supporting the applications that underpin important parts of Millbrook's services. You will get hands-on exposure to a broad stack and will be expected to take ownership of your work, ask good questions and keep developing your engineering skills.
Not everything here is greenfield. You will work with modern .NET and React alongside older applications, SQL-heavy logic and integrations that have grown over time. Part of the job is learning how those systems work and helping us improve them safely.
The estate you are joining
This is a mixed technology estate rather than a clean-sheet product. You may work on newer C#/.NET and React/TypeScript services one day and then need to understand an older VB.NET, .NET Framework or ASP.NET Web Forms application the next. SQL Server is also a major part of the platform, with plenty of application behaviour implemented through stored procedures and database logic.
You do not need to arrive knowing every part of that stack. What matters is being willing to understand the systems we have today, support them properly and learn the modern patterns we are moving toward, including modern .NET, APIs, Azure, automated testing and better CI/CD.
What you will be responsible for
Build and Support Software
- Design, build, test and maintain application features across front-end, backend, APIs and integrations.
- Turn well-understood requirements into working software and ask for help early when something is unclear.
- Write clean, readable code and take responsibility for getting your changes safely into production.
- Investigate defects and production issues using logs, debugging tools and SQL rather than relying on guesswork.
- Learn the wider product so you understand the impact of a change beyond the code directly in front of you.
Quality and engineering practice
- Write unit and automated tests as part of development, not as a separate task at the end.
- Take part in code reviews and use feedback to improve your work.
- Work with QA to make features testable and make sure acceptance criteria are understood.
- Use Git and CI/CD correctly and follow the team's engineering, security and release standards.
- Take part in refinement, planning, stand-ups, reviews and retrospectives and contribute to improving how the team works.
Growth and contribution
- Build confidence across the full development lifecycle, from understanding a ticket through to supporting it in production.
- Develop deeper knowledge in at least one part of the product or technology stack over time.
- Share what you learn and contribute constructively to team discussions.
- Take on progressively more complex work as your capability grows.
Technology you will work with now
- C# and .NET, including ASP.NET Core and REST APIs.
- React, JavaScript/TypeScript and Redux-style patterns, with Blazor also used within the broader technology landscape.
- SQL Server and T-SQL for application data, investigation and troubleshooting.
- Entity Framework, Dapper or similar data-access approaches.
- Git, Azure DevOps and CI/CD pipelines.
- Microsoft Azure application services and monitoring.
- Legacy .NET/VB.NET applications that still support parts of the business.
- Mobile development using Xamarin/.NET MAUI where relevant to the product.
Where we are heading
- More consistent modern .NET and Azure development patterns.
- More automated testing, including Playwright for important user journeys.
- Reusable CI/CD and stronger DevSecOps practices.
- Better logging, telemetry and production diagnostics.
- Smaller, safer releases and less reliance on manual deployment steps.
- Progressive modernisation of legacy applications rather than large high-risk rewrites.
What we are looking for
- Commercial experience building software with C#/.NET, or equivalent experience that shows you can work effectively in the stack.
- Experience building or consuming REST APIs.
- Some front-end experience with JavaScript/TypeScript and a modern framework such as React.
- A working knowledge of SQL and relational databases.
- An understanding of Git, automated testing and basic CI/CD practices.
- Good problem-solving skills and the confidence to investigate an issue rather than just work around it.
- Clear communication and a collaborative approach to delivery.
Useful experience, but not essential
- Azure, Azure DevOps or other cloud/CI tooling.
- Blazor, VB.NET, .NET MAUI or Xamarin.
- Entity Framework, Dapper or another ORM.
- Playwright or another browser automation framework.
How success looks
You deliver good-quality changes with increasing independence, understand the systems you are changing, diagnose problems methodically and keep building the breadth and depth needed to take on more complex engineering work.

