Senior Software Engineer - C# (4011)
Role details
Job location
Tech stack
Job description
As a Senior Software Engineer, you'll take ownership of complex features and improvements across the Windows-deployed SDKs and supporting desktop components that power Sentinel.
Our software runs across a range of scanning devices, including hardware we badge under our own product lines, and a key part of the role is ensuring robust compatibility is maintained across that device ecosystem.
You won't need to be a hardware engineer; we have dedicated hardware technicians for that. But you will need a practical appreciation for software-hardware interaction and the discipline to test and validate across multiple device configurations. What you will do
This is a role with real breadth. You'll ship features, improve the codebase, and raise the technical bar for the team, often all at once.
- Design, implement, and maintain complex features and fixes in C#/.NET Windows SDKs and supporting desktop components
- Own technical solutions end-to-end, from design through implementation, testing, and release
- Improve architecture, code quality, performance, and diagnosability for Windows SDK deliverables
- Refactor and modernise existing code to improve testability and long-term sustainability
- Debug and resolve complex Windows issues using logs, runtime behaviour, and deep system analysis
- Build and evolve automation including unit and integration tests
- Contribute across the delivery pipeline where needed, covering build automation, packaging, deployment, and validation workflows
- Maintain compatibility across the range of scanning devices and hardware platforms our software supports
- Produce and maintain clear technical documentation to support knowledge sharing and onboarding
- Experiment with and integrate AI tools into the team's daily workflows to accelerate delivery and quality
- Collaborate closely with engineers across the Desktop team and wider Documents & Biometrics group
- Contribute actively to agile ceremonies including sprint planning, stand-ups, and retrospectives
Requirements
Do you have experience in Windows?, * Strong professional experience developing Windows-delivered SDKs and/or desktop components using C# and .NET Framework
- Proven track record of owning and delivering complex features in production codebases
- Strong software design, debugging, and problem-solving skills
- Proficiency with Git/GitHub and collaborative development workflows
- Experience modernising older codebases to current technologies and standards
- Experience improving testability, reliability, and automation in Windows-based products
- Comfortable contributing across the delivery pipeline when needed, covering build, packaging, deployment, and validation
Desirable Skills
- Document imaging fundamentals for scanning and OCR
- Proven use of AI tools embedded systematically into day-to-day development, using them to improve quality, accelerate delivery, or reduce toil, not just as an occasional aid
- C++ experience
- AWS experience (used for development team infrastructure)
- Experience working with device SDKs, peripherals, or scanner hardware
- Familiarity with CI/CD systems for Windows builds and validation
- InstallShield experience, particularly building and maintaining Windows SDK installers