Software Engineer
Willis Towers Watson
- Reigate, Surrey
- Permanent
- Full-time
- Working with the Product Owner to define, refine and deliver the product backlog,
- Designing and documenting software solutions meeting functional and non-functional requirements,
- Implementing and refactoring product code (C#), following best practices for maintainability, testability and performance,
- Implementing unit tests, 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
- Mentoring junior members of the team and taking a lead role for some of the above activities.
- Proficient in software development using C# .NET.
- Experience with the full software development lifecycle in a commercial/production environment: requirements capture and analysis, estimation, detailed software design, implementation, unit and system-level testing, installation and deployment, maintenance.
- Experience with software engineering best practices: object-oriented design and implementation, design patterns, SOLID principles, Agile and Extreme Programming methodologies.
- Experience with software development tools: IDE’s, version control, test automation, continuous integration, defect and backlog management systems.
- 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.
- GUI design/implementation, knowledge of standards and frameworks such as WPF or WinForms.
- Appreciation of current and emerging technologies along with their potential benefits and limitations.
- Azure DevOps and Git.
- Experience of unit and GUI test automation frameworks such as MS Test and Ranorex.
- Azure and Cloud Technologies.
- Passion for maths, statistics and complex algorithms.
- General knowledge of the Insurance Industry.
- Degree-educated with Computer Science, Engineering, Mathematics or relevant discipline preferred.