The Senior Developer is responsible for the design, documentation, code and testing of complex program components, scripts or package configuration in line with agreed specifications; responsible for delivering complex components, including correction and iteration to agreed standards and process to meet or exceed client expectation.
They will work proactively and collaboratively with team members, particularly when working within scrum teams using agile working methodologies, and during requirements, specification and coding review sessions.
They provide leadership and direction for the development activities, delivered with sufficient quality to underpin outstanding new solutions for users.
Typical Aspects of this role include, but are not limited to the following:
* Analyses business requirements, business processes, and technical architectures. Designs and uses them as the basis for the Software Engineering solution.
* Defines and analyses Software Engineering methods and advises on best fit solutions and techniques.
* Develops and applies expertise in Software Engineering Tools, Software Engineering Environment configuration and management, and Software Engineering Data Management.
* Keeps up to date with trends, roadmaps and developments in all areas of Software Engineering.
* Contributes to/develops good practice in Software Engineering techniques.
* Applies productivity improvement techniques within the Software Architecture strategy.
* Work with Senior Service Manager, Product Owner/Manager and Solution Architects to build, deploy and support solutions that meet well-defined user needs.
* Identify technical options and inform architectural approaches, collaborating with team members to write tests, code and documentation for new and existing systems.
* Work with Solutions Architects to design and implement seamless integration with internal and external systems.
* Build a culture of continuous service improvement, ensuring that key systems are regularly analysed, maintained and improved.
* Collaborate with Solutions Architects, Test Engineers and Developers to build up a robust automated test suite, if required, to work in a continuous integration and continuous deployment environment.
* Providing 'second-line' support and occasional 'on-call' support as required.
* Peer review experience.
* Extensive experience and working knowledge of project development methods and associated tools and techniques (technical delivery).
* Ensures documentation methods are appropriate and cost effective
* Excellent understanding of technologies & protocols.
* Experience developing and using APIs.
* Experience of building and highly scalable solutions capable of dealing with high levels of traffic
* Experience of delivering solutions using proven software development practices including continuous integration and deployment.
* Knowledge of the use of version control systems.
* Experience using automated testing / continuous integration tools
* Experience using Confluence