Senior Software Engineer - Backend Developer

Tue 14 Aug 2018

Department Information

Paymaster IT owns the Compendia platform that provides Pension Administration and Pension Payroll to a number of high profile clients.

The Compendia platform has undergone a technology transformation over the last few years to bring it up-to-date with modern architecture, frameworks and industry standards.

Recent additions to the product suite include an award-winning Self Service platform, consisting of a responsive website, native iOS app and a set of web services to drive them.

Role Summary

Part of the modern product architecture includes comprehensive web services, both on the Administration and Self Service products.

This role is for the development and support of new areas of functionality and new product offerings, with a heavy focus on these web services.

The successful candidate will have a number of day-to-day responsibilities which will include liaising with software architects, developers and business analysts in order to understand development requirements. They will follow the published SDLC and develop software to a high quality and to meet requirements. They will also be expected to work closely with the QA team to ensure a high and accurate level of test coverage.

At least three years of practical experience building scalable and performant RESTful APIs using Microsoft’s ASP.NET Web API framework is a must.

A strong and demonstrable understanding of software design patterns and best practices, including testing patterns is also required.

Experience of working as part of a team following agile methodologies is essential.

An understanding of Secure Development practices, particularly around the OWASP top 10, is highly desirable.

Skills, Knowledge and Experience

Qualifications

  • A degree in a relevant field would be advantageous

Job specific experience

  • Experience working with a product development company, ideally in pensions or pensioner payroll
  • Experience of working as part of an agile development lifecycle
  • Comfortable in dealing with colleagues at a senior level
  • Familiarity with the implementation of systems, ideally in pensions or pensioner payroll

Essential skills

  • C#,  ASP.NET, 5 years minimum
  • ASP.NET Web API, 3 years minimum
  • Software design patterns and best practices, in particular SOLID 
  • xUnit (or similar testing frameworks)
  • Visual Studio 2015 – 2017
  • OWIN/Katana
  • Distributed Source Control Systems, preferably GIT
  • Entity Framework
  • ANSI standard SQL syntax used against SQL Server
  • Team Foundation Server 2015 – 2017

Working knowledge of the following would be advantageous

  • ASP.NET SignalR
  • .NET Core / ASP.NET Core
  • Message Queues / Services Buses
  • HTML,  CSS
  • JavaScript 
  • jQuery
  • AngularJS
  • ASP.NET MVC
  • PowerShell
  • Windows Server Administration (particularly IIS)

Core Duties/Responsibilities

Technical Design 

  • Assist lead developers and software architects in the design of the proposed solution to ensure it:
    • Fulfils the business requirements.
    • Makes best use of existing code 
    • Adheres to technical best practice and company standards 
    • Guarantees optimal performance
    • Follow security best-practices
  • Ensure successful delivery and conclusion of all programming activities to meet the Technical Design.
  • Ensure that existing code is re-used or enhanced where possible, to avoid duplication.
  • Implement automated unit and integration testing to ensure a quality build deliverable, following the department’s published testing approach.
  • Work closely with the QA team to ensure precise and adequate testing of developments.

Documentation 

  • Contribute to the production of system and user documentation to company standards

Other Responsibilities

  • Provide accurate development estimates in line with the department agile methodology process
  • Apply best practice and follow defined policies and procedures
  • Undertake peer reviews of code against the departments published coding guidelines
  • Undertake / provide input to the speedy resolution of support issues
  • Keep up to date with industry techniques and security trends.
  • Take an interest in new technologies, with special regard to the evolution of those applicable to the individual’s role within Equiniti.

Commercial Awareness

  • Work within the boundaries of the defined scope of the project
  • Design and provide a solution which is fit for purpose and in line with budgetary constraints.

User Liaison

  • Maintain a good working relationship with user contacts developing a rapport and trust with the project team.
  • Provide support and guidance with day-to-day systems problems.
  • Be proactive in recommending potential alternative solutions where they might provide a better approach.