Senior Software Engineer
This is a fantastic opportunity for a Senior Software Engineer with five or more years' experience of developing enterprise level .Net applications and experience leading and designing solutions. Reporting into the Technical Team Lead the Senior Software Engineer will assume the role of key development and technical specialist resource for the team, and will be responsible for developing and delivering quality software solutions.
Skills, qualifications, and experience:
* Educated to degree level in relevant computing discipline or with equivalent professional experience.
* Five or more years' experience of developing enterprise level .Net applications.
* Experience leading and designing solutions using the following: o technologies: ASP.Net, C#, Web API, MVC, Angular, REST, JSON, Messaging (SNS, SQS) o databases: Oracle, SQL Server, MySQL, PostgreSQL
* Visual Studio 2015 and above, Git, Soap UI, Munit, xUnit, Confluence, JIRA,
* Bamboo, MySQL Workbench o methodologies: agile, scrum, test-driven development (TDD), continuous integration (CI)
* Strong knowledge of rest APIs and integration via APIs, software design patterns.
* Excellent communication and interpersonal skills.
* Able to communicate effectively to both technical and non-technical audiences.
* Experienced in designing and building usable and scalable systems and applications.
* Comfortable working in a dynamic, large-scale agile change initiative with multiple technologies.
* Experience developing for the cloud, specifically AWS.
* Experience of test-driven development alongside use of automated test frameworks, mocking/stubbing, and xUnit/Munit.
* Experience using behaviour-driven development with Cucumber
Provide technical leadership and innovation, utilising advanced technical skills.
Accountable for the development of quality solutions based on technical requirements.
Provide coaching and mentor other team members in key technologies and developments, to improve general skill set of team and increase knowledge of solutions.
Code/configure and document complex solutions from supplied specifications, using agreed standards and tools, and conduct reviews with others as appropriate.
Define and maintain coding and best practice standards and documentation guidelines.
Develop and maintain specialist knowledge of cloud technologies, design principles, architectures, and software.
Analyse data requirements to establish, modify, and maintain object/data models
Act as a subject matter expert (SME) for related technologies and understand the interactions between the systems.
Work closely in collaboration with solutions architects to produce systems analysis documentation for the implementation of new projects and system changes.
Work with Change & Release Management to ensure a smooth transition/transfer of new systems and developments into the run area.
Support CITP with release deployment and configuration duties.
Provide accurate estimates for development activity as part of a request for change deliverable (either standalone or as part of a project).
Maintain interoperability of all development work to ensure applications can work with other products or systems – present or future – without any restricted access or implementation.
Develop user stories by working with product owners and SMEs, developing sprint goals, translating business requirements into technical specifications, and assisting in maintaining product backlogs as needed.
Validate technical requirements and prioritisation in line with product roadmap.
Evidence testing to satisfy criteria for delivering a release, end-to-end business process testing as per agile methods.
Provide support for new releases for the agreed early life support period and ensure high quality handover information before discontinuing support, including secondments to support where appropriate.
Provide technical input into long-term continuous improvement activities carried out by CITP
To apply for this job please visit itjobpro.co.uk.