- Ensure that solutions are developed in line with departmental standards and in keeping with the strategic direction.
- Support colleagues in these aims.
Operational Management
- Be involved in the application design process, ensuring each system component is well written, performant and ensuring scalability.
- Be involved in the estimation of work.
- Write code and unit tests adhering to standards and specification.
- Perform triage of defects and track them through to technical resolution.
- Support colleagues by taking a Lead position in respect of technology.
- Undertake work as required to improve the wider Software Engineering estate.
People Leadership
- There are no direct Leadership responsibilities however you will play an active part in both the Software Engineering community as well as within work specific squads.
- Work with colleagues e.g., Architects to create of solutions that meet requirements.
- Act as a focal point for technical questions and a bridge between management and the wider team.
- Guide developers in the development of solutions sharing your knowledge and expertise and helping to develop theirs.
- Promote solutions and approaches that are in line with agreed strategies.
- Promote collaboration with colleagues and seek to uplift levels of technological understanding.
Governance & Risk
- Work with Architects to ensure that designs and solutions receive Architectural approval and follow governance.
- Ensure appropriate processes are followed, such as the agreed SDLC and adhere to coding and design standards.
- Support colleagues to identify any areas of risk.
- Be proactive in your approach to the identification and management of risk.
Experience & Personal Attributes
Required
- Excellent communicator both verbal and written. Someone who can talk with colleagues within the technical and wider communities.
- Offering a collaborative approach with experience of supporting colleagues.
- Proven history of practical experience as a .NET Developer
- In-depth knowledge of C# and .NET Frameworks from 4.7 to the current.
- Experience of writing unit tests and mocking.
- Strong object-oriented programming skills and understanding of SOLID principles
- Practical application of commonly used patterns and approaches
- Excellent troubleshooting and analytical skills.
- Ability to flex as the situation requires whilst remaining composed under pressure.
- A desire to stay ahead of technical advances and identify opportunities from which we may benefit.
Desirable
- Experience of developing using Inversion of Control and Asynchronous standards
- Experience of API development and a solid understanding of the RESTful principles.
- Exposure to and an understanding of Microservices.
- Grasp of security principles in particular Active Directory and OAuth.
- Experience of working within agile and waterfall environments.
- Solid understanding of source control principles particularly within GitHub.