Responsibilities
1. All aspects of the development lifecycle from design, prototyping, developing, testing, deployment and support.
2. Contributing to all phases of the software development lifecycle, following agile development methodologies helping to ensure solutions are aligned to business strategy
3. Ensuring that assigned application development deliverables achieve the agreed coding standards, application architectural design and quality levels
4. Ensuring both frontend and backend code has good test coverage with an appropriate level of unit tests, integration tests and end to end tests
5. Participating in code reviews to ensure all code is peer reviewed to help ensure a well refactored and maintainable codebase
6. Helping to maintain good code review standards and guidelines
7. Supporting and maintaining existing applications, as well as actively contributing to new functionality and enhancements
8. Contributing to detailed technical documentation as required
9. Mentoring junior members of the team and providing guidance on technical issues
10. Suggesting and integrating new technologies and continuously improving skills
11. Contributing to the definition and implementation of the applications development standards, tools, approach and methodology
Must have:
1. 5+ years experience working in C# backend, ASP.NET web pages and Angular JS working in agile delivery
2. Experience of developing client / server applications that integrate with enterprise systems, considering localisation, accessibility, performance, scalability, componentisation and securityExtensive knowledge of the .NET Framework
3. Extensive experience with ASP.NET web applications and ASP.NET Web API
4. Experience of Inversion of Control and Dependency Injection frameworks
5. Excellent knowledge of database systems including Microsoft SQL Server
6. Excellent knowledge of ORM frameworks specifically Entity Framework
7. Experience of unit testing, mocking and automated testing with CI and CD pipelines
8. Web front end development experience using JavaScript, CSS, HTML and knowledge of at least one Front End framework would be helpful (ECOS is currently developed in Angular JS)
9. Experience of IIS setup and configuration
10. Experience of using Git
11. Experience of messaging middleware (Azure Service Bus, MSMQ, etc.)
Nice to have
1. Ability to perform effective application diagnostics (e.g. memory and performance profiling)
2. Experience of working with Azure DevOps pipelines
3. Experience of working with “infrastructure as code” tooling e.g. Terraform
4. Experience of Docker
5. Experience of serverless architectures
6. Exposure to other JavaScript frameworks such as Flux and React
7. Exposure to Azure Cosmos DB, Big Data and No-SQL technologies
8. Exposure to 3rd Party SSO platforms such as Okta