Description
Senior Software Engineer
This is a 3 month contract outside IR35 and the successful Software Engineer must have the below experience:
Absolute must have - .NET Core, C#, Cloud + Serverless, CI/CD, Mentoring, Driving Collaboration
Nice to have/not essential - AWS, Terraform, AWS Lambda, APIs
Job purpose:
- The Senior Software Engineer reports to the Technical Team Lead.
- Assumes the role of key development and technical specialist resource for the team, and is responsible for developing and delivering quality software solutions.
- Maintain a detailed knowledge of existing applications and systems.
- Work alongside other senior software engineers to ensure compliance with coding and design standards.
Key accountabilities:
- 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
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
- tools/frameworks: 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.