A key customer of mine and a global financial sector company is looking for a talented, driven Senior Software Engineer to join a growing, multi-disciplinary team. You will be working in an expanding engineering organisation building cloud first applications within a distributed architecture.
With the use of agile methodologies and CI/CD you will deliver best in class services to the customers. As a senior engineer on the team, your role will include writing best in class, tested code, contributing to the grooming of products and features, and working with less experienced engineers to improve their skills.
- Work as part of a multi-disciplinary team delivering features and bug fixes to a high standard.
- Write first rate code, adhering to SOLID principles and implementing OOP design patterns.
- Collaborate with team members to design, implement, and document new features.
- Contribute to backlog grooming sessions to size work, adding more details and implementation details.
- Contribute to the technical direction of the team, drawing on your experience when designing new features and implementing bug fixes.
- Design and implement CI/CD patterns and practices across the team and engineering organisation.
- Collaborate with the team on solution design and architecture definition.
- Working with less experienced engineers on the team to improve their knowledge and skill set.
- At least 6 years experience working on enterprise level systems.
- Experience developing web-based applications using C#, .NET Core.
- Excellent understanding of OOP design patterns and related software design concepts such as design patterns and SOLID practices.
- Experience building Microservices and distributed system architectures such as CQRS in a high traffic environment.
- Experience designing and building cloud architectures on AWS or Azure, utilising data, serverless and message queue systems.
- Experience building and managing build and release pipelines using tools such as Azure DevOps.
- Experience with IaC patterns and practices.
- Good knowledge of networking in a cloud environment.
- Experience with testing frameworks and working in an environment where testing is a first-class citizen in the engineering process.
- Experience working in an agile environment and contributing to agile ceremonies such as reviews, grooming sessions and retrospectives.
- Good experience with Domain Driven Design practices, using it to design new systems and analyze existing systems.