About the role:
As a Senior Software Engineer you will leverage your comprehensive understanding of software development concepts to lead the implementation of complex features. Collaborating closely with team members you will contribute to decisionmaking processes ensuring the scalability performance and maintainability of our software solutions.
Key Responsibilities:
- Lead the design and implementation of complex software products using software design patterns and architectural principles always considering scalability performance and security considerations.
- Develop clean efficient high quality tested maintainable and welldocumented code according to specifications
- Collaborate in architectural designs and technical solutions.
- Collaborate with product managers scrum masters and more senior engineers to translate requirements into technical specifications providing technical leadership and guidance to the team to define design and ship new features.
- Perform code reviews and provide constructive feedback to peers.
- Mentor and coach more junior software engineers in the team offering them guidance on complex technical challenges architectural decisions coding standards and facilitating pairing sessions and code reviews.
- Champion qualityfocused software development enforcing quality assurance standards processes testing methodologies and driving initiatives to improve the development team efficiency (like automation CI/CD).
- Continuously learn and stay updated on emerging technologies and industry trends actively participate in community of practices promoting collaboration and knowledge sharing.
Qualifications :
Preferred Skills and Experience :
- Proven track record of delivering highquality software solutions on time.
- Proficiency of objectoriented programming (C# dotnet) with an advanced understanding of software design principles and patterns
- Extensive experience in designing and architecting complex software systems using software design patterns and architectural principles.
- Strong understanding of scalability performance and security considerations.
- Leadership abilities coupled with strong communication and collaboration skills.
- Deep experience in designing and implementing complex Web (RESTful) and async APIs
- Strong focus on qualityfirst software development techniques (TDD ATDD pair programming)
- Extensive experience in designing microservices and eventdriven architectures (using technologies such as Azure Service Bus Azure Functions and Azure Web Apps)
- Strong understanding of componentbased frontend frameworks (such as Angular 2)
- Experience of cloudnative solution development (preferably in Azure)
- Good knowledge of CI/CD pipelines (ideally using Azure DevOps/yaml)
- Previous experience with Containerization (Docker and Kubernetes)
- Deep understanding of SQL and NoSQL databases and their optimization techniques (such as Azure SQL and Cosmos DB)
- Expertise of logical domain and physical data model design.
- Desirable Skills:
- Collaboration tools such as Azure DevOps Miro and Confluence
- Consumerdriven contract testing methodologies (i.e. PACT)
- Infrastructure as Code (IaC) practices (ideally Terraform)
- Code hardening and security practices
- 5 years of progressive experience in software development.
- Proven track record of leading and delivering complex software projects.
- Indepth knowledge of software architecture design patterns and system integration.
- Deep expertise in debugging performance optimization and scalability considerations.
- Strong ability to mentor junior team members and provide technical guidance.
- Excellent communication and collaboration skills.
Remote Work :
No
Employment Type :
Fulltime