SENIOR C# SOFTWARE DEVELOPER (CAMBRIDGE)
Join the team developing the world's leading risk management software suite!
We are looking for a senior C# developer to join our agile team of highly skilled software engineers in Great Shelford, Cambridge (within a 3-minute walk from the train station).
You will be working on a world-class risk analytics and financial modelling software platform which already enables over 1,000 major insurance clients worldwide, as well as many of the largest financial services companies, to build and execute financial models. This is an evolving role that will cover a wide range of tasks such as:
- 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,
- Mentoring junior members of the team and taking a lead role for some of the above activities.
- Mid/ Senior level software development experience using C# .NET,
- Extensive 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,
- Extensive industry experience with software engineering best practices, processes and supporting tools,
- Ability to coordinate day-to-day development and bug fixing activities,
- Ability to design high-performance, scalable and extensible software architectures and algorithms which are also easy to test, debug and maintain,
- High numeracy skills, ideally degree-educated with a 1stor at least 2:1 in Computer Science, Engineering, Mathematics or Science.
Other highly desirable, but not essential skills are:
- Experience of working in an Agile/Scrum environment,
- Appreciation of current and emerging technologies along with their potential benefits and limitations,
- Microsoft Visual Studio Team Services (Git), or other version control and CI systems,
- NUnit (or other unit testing frameworks),
- GUI design/implementation, or knowledge of standards, WPF or WinForms,
- Cloud Technologies (Azure),
- SQL Server (or other SQL databases),
- Passion for maths, statistics and complex algorithms.