Lead C# Engineer
Description As a Lead Software Engineer, you will work as part of a highly-skilled and close-knit development team following Scrum methodologies to develop market-leading insurance pricing solutions. This is a varied and challenging opportunity where you will play a key role creating new product features and enhancing existing code, whilst ensuring the product continues to meet high levels of reliability, maintainability, usability and performance. The Role
- 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
- 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