Senior C# / WPF Engineer
You 9ll work across the full software development lifecycle, from understanding existing legacy architecture and designing modern solutions through to implementation, automated testing, deployment and production support.
The role is particularly suited to engineers who have experience with C#, WPF and the .NET ecosystem, combined with strong engineering practices around testing, CI/CD and code quality.
Experience within risk, trading or financial markets would be highly advantageous, particularly where you 9ve worked with complex data flows or applications supporting front-office or risk functions.
Responsibilities
- Design, develop and maintain high-performance C#/.NET and WPF applications.
- Modernise and refactor legacy desktop applications as part of the wider replatforming programme.
- Take ownership of individual application components and replatforming workstreams.
- Analyse existing architecture and identify opportunities to improve maintainability, scalability and performance.
- Develop modern WPF user interfaces supporting complex financial and risk workflows.
- Work closely with other engineers, architects and business stakeholders to understand requirements and technical constraints.
- Develop robust automated unit, integration and UI tests to protect against regression during migration.
- Contribute to CI/CD pipelines, automated deployments and software quality controls.
- Investigate and resolve production issues and technical blockers independently.
- Perform root-cause analysis and implement sustainable solutions rather than temporary fixes.
- Participate in code reviews and contribute to engineering standards and best practices.
- Communicate technical progress, risks and dependencies clearly to project stakeholders.
- Ensure solutions are secure, reliable, maintainable and appropriate for a mission-critical banking environment.
- Support the transition from legacy technology towards a modernised application architecture.
Essential Technical Skills
C# / .NET
- Strong commercial experience developing production-grade C# applications.
- Excellent understanding of the .NET ecosystem.
- Strong object-oriented programming and software engineering fundamentals.
- Experience working with complex, enterprise-scale applications.
WPF
- Deep hands-on experience with Windows Presentation Foundation (WPF).
- Experience building complex desktop user interfaces.
- Experience modernising, migrating or refactoring existing WPF applications.
- Strong understanding of desktop application architecture and performance considerations.
Testing
Strong automated testing experience, including:
- NUnit or xUnit
- Unit testing
- Integration testing
- UI testing
- Regression testing
- Testable application design
- Automated quality gates
The successful candidate should understand how to build an effective testing strategy around a large-scale application migration and use automation to minimise regression risk.
CI/CD
Experience working with modern software delivery pipelines, including:
- Automated builds
- Automated testing
- Continuous Integration
- Continuous Delivery
- Automated deployments
- Code quality and governance controls
Financial Markets / Risk Experience
Experience within financial services is strongly preferred.
Particularly valuable experience includes:
- Risk management systems
- Market risk
- Trading applications
- Front-office technology
- Trading floor environments
- Quantitative data flows
- Risk calculations
- Market data
- Financial analytics
- Enterprise banking platforms
A candidate who understands how technology supports risk management and trading workflows will be particularly well positioned to succeed in the role.
Engineering & Delivery
We 7re looking for someone who can operate with a high degree of autonomy.
You should be comfortable:
- Taking ownership of a defined technical workstream.
- Managing competing priorities.
- Working through ambiguity.
- Breaking large problems into deliverable components.
- Identifying and resolving blockers without waiting for detailed direction.
- Making pragmatic technical decisions.
- Working effectively with distributed engineering teams.
- Communicating progress and risks proactively.
- Driving work through design, development, testing and production.
Software Engineering Principles
The team places strong emphasis on engineering quality. You 7ll be expected to demonstrate:
- Clean, maintainable code.
- Strong software design principles.
- Automated testing.
- Code review discipline.
- Secure development practices.
- Performance awareness.
- Robust error handling.
- Observability and operational awareness.
- Continuous improvement.
The Ideal Candidate
The ideal candidate will be a Senior C# Engineer with significant WPF experience who has worked on complex desktop applications and understands the challenges associated with modernising legacy technology.
You 9ll ideally combine:
C# + WPF + .NET + Automated Testing + CI/CD + Legacy Modernisation + Financial/Risk Systems
You should also be comfortable working independently, taking ownership of technical problems and communicating effectively with both engineers and senior stakeholders.