Willis Towers Watson
,
Reigate, Surrey
Senior Software Developer
Overview
Job Description
**The Role** Our business is undertaking an exciting growth initiative and we are building a team to develop a scalable and efficient technology platform to commercialise some of our latest inventions. The platform will make use of our ongoing collaboration with Microsoft on Quantum technologies. The platform will be largely based on Azure but will need to tightly integrate with the Windows client. We are looking for a Senior Software Developer to contribute to the success of this high impact strategic initiative for our business. + Designing, implementing, refactoring and testing code (C#), following best practices for maintainability, testability and performance, + Implementing unit tests (C#, NUnit), developing test frameworks and associated automated test cases, + Reviewing and debugging code to identify defects, performance bottlenecks or technical debt, + Working closely with test engineers to guarantee suitable test coverage, identifying and executing manual tests if necessary, + Participating in sprint planning meetings, daily stand-ups and sprint retrospectives, striving to continuously improve the team velocity, its processes and engineering practices, + Working with the Product Owner to help create User Stories and define acceptance criteria, + Documenting requirements analysis or design decisions **The Requirements** The essential skills/experience for this position are: + Software development, ideally using C++ and C# .NET + Industry experience with full software development lifecycle: requirements capture and analysis, estimation, detailed software design, object-orientated software implementation, unit and system-level testing, installation and deployment, + Industry experience with software engineering best practices, processes and supporting tools, Other highly desirable, but not essential skills are: + Experience of working in an Agile/Scrum environment + Ability to coordinate day-to-day development and bug fixing activities + Ability to design high-performance, scalable and extensible software architectures which are also easy to test, debug and maintain + Appreciation of current and emerging technologies along with their potential benefits and limitations + Cloud Technologies (Azure) + Azure DevOps or Microsoft Team Foundation Server + NUnit (or other unit testing frameworks) + GUI design/implementation or knowledge of standards, WPF or WinForms + Windows Shell Extensions + SQL Server (or other SQL databases) **Equal Opportunity Employer**