Job Title: Full Stack .NET Developer
We are seeking several experienced developers to work on various projects for a 12-month contract. The role requires a strong background in .NET development, application security, and identity management.
Key Responsibilities:
* Develop and support applications using Visual Studio and .NET C# to enable Digital Identity Services projects.
* Experience working with application security and identity management, preferably with experience relating to OpenID and JWTs.
* Considerable experience working with AWS suite of applications.
* Good understanding of SOLID principles, the HTTP protocol, REST, microservice patterns, T-SQL and NodeJS.
* Deliver solutions with a large degree of independence to support business needs and take ownership of components delivered.
* Has expertise in implementing enterprise architecture standards, principles, reference architectures and procedures during development.
* Apply high-level judgement in the assessment and estimation of solutions, and provide assurance that implementation is compliant with the client's enterprise architecture and IT standards.
* Be accountable for the delivery of projects or activities involving the development and/or maintenance of computer applications in accordance with the client's standards and guidelines.
* Actively participate in the development lifecycle, which may include analysis, design, building, testing, pair-programming, code-reviews, documenting, and maintenance.
* Taking the initiative to undertake problem solving and incident resolution and demonstrating an understanding of change control and release management procedures.
* Highly desirable that you have experience with DevOps and CI/CD, preferably with relevant experience using Azure DevOps and PowerShell.
* Experience with work items to track progress and integration with workflow systems, ideally Azure DevOps.
* Managing source code using Git, including applying branching strategies to support collaborative development and version control.
* Contributes to Technical Documentation under the Tech Lead and Architects' guidance, with experience in UML being highly desirable.
* Critical evaluation of technology and tools and providing recommendations to be actioned.
Providing Assurance of Work Completed:
* Contribute to the definition and refinement of automation testing capabilities across all projects within the organisation This includes automation of existing manual regression suites and the automation of new progression tests across SPAs, mobile applications, REST APIs and other various technologies.
* Apply sound technical understanding of relevant automated test tools and related technologies (e.g. Selenium, Specflow and automation framework) in development of automated test suites.
* Understanding and using Behaviour-Driven Development (BDD) practices, including creating and maintaining feature files, writing scenarios in Gherkin syntax, and collaborating with stakeholders to ensure alignment between business requirements and automated tests.
* Experience in defining test cases and organising testing plans with an enterprise level product, preferably Azure DevOps Test Plans.
* Applying strong analytical thinking skills to identify testing requirements, troubleshoot issues, and ensure comprehensive coverage of test scenarios.
* Interpreting technical documents to understand system architecture, informing test case definitions, coverage.
* Applying results from ADO test executions to produce testing evidence artefacts (Test Closure Memos).
Working in a Team:
* Experience in working collaboratively with Scrum Masters, Delivery Leads, Release Leads, Release Train Engineer, Tech Leads, Test Leads, Architects, System Analysts, other Developers, Management, and Stakeholders as a Senior Developer to see through products from inception to production and to BAU (Business as Usual).
* High team collaboration for all work undertaken to build team culture.
* Work with the team to improve code quality through code reviews, writing unit tests, and automation.
* Experience working in an agile project delivery team.
* Support the testers to plan and where required, execute both functional and non-functional tests within agreed timeframes.
* Keep Team members regularly informed of progress on work, and of any risk to meeting release timelines or quality standards.
* Pro-active participation in Agile events including sprint planning, demos, reviews, daily stand-ups etc.
* Work with the product and design team to understand end-user requirements and use cases. Translated into a pragmatic and effective technical solution.
Networking:
* Develop and maintain a network with others internally and externally, build relationships with team members, management, and a range of stakeholders.
Continuous Improvement:
* Research and develop continuous improvement processes to enhance procedures of current and new work practices.
* Develop and maintain necessary levels of expertise and take responsibility for sharing knowledge with others.
* Actively mentor and train junior staff members.
* Participate in brainstorming sessions and have the chance to contribute innovative and original ideas to our product.
* Encourage and promote quality excellence within the team, ensure that work practices are effective and consistent, and that best practice is identified and shared.
Please note that Baseline Clearance is a must.