About the role:
As a Tech Lead you will be responsible for guiding and mentoring a team towards the successfully development of high-quality technical solutions that align with our business goals. Providing technical leadership designing and implementing complex solutions and ensuring the team adheres to best practices. Join us in shaping the technical direction of our projects and fostering a culture of excellence.
Key Responsibilities:
- Lead and oversee a team of engineers to ensure successful project delivery from inception to deployment.
- Define technical requirements and ensure alignment with business objectives.
- Contribute to architectural decisions and technical designs.
- Coordinate with product owners and stakeholders to prioritize tasks and allocate resources.
- Provide technical guidance and mentorship to team members.
- Facilitate communication and collaboration within the team.
- Ensure adherence to coding standards best practices performing code reviews and providing constructive feedback to peers.
- Identify and address technical debt and architectural weaknesses.
- Evaluate and mitigate technical risks associated with projects ensuring smooth progress and timely delivery.
- Champion quality-focused software development enforcing quality assurance standards processes testing methodologies and driving initiatives to improve the development team efficiency (like automation CI/CD).
- Foster a culture of innovation continuous learning and knowledge sharing within the team and actively participate in community of practices promoting collaboration and knowledge sharing.
Qualifications :
Preferred Skills and Experience :
- Extensive hands-on experience in software development and system architecture.
- Deep expertise in developing clean efficient high quality tested maintainable and well-documented code according to specifications.
- Leadership abilities and experience in leading software development teams delegating tasks and empowering team members.
- Experience in making architectural decisions and trade-offs using software design patterns and architectural principles.
- Strong problem-solving and critical-thinking skills.
- Ability to foster a collaborative and inclusive team culture.
- Proven experience with large-scale distributed systems and microservices architecture.
- Proficiency of object-oriented programming (C# dotnet) with an advanced understanding of software design principles and patterns
- Deep experience in designing and implementing complex Web (RESTful) and async APIs
- Strong focus on quality-first software development techniques (TDD ATDD pair programming)
- Extensive experience in designing microservices and event-driven architectures (using technologies such as Azure Service Bus Azure Functions and Azure Web Apps)
- Strong understanding of component-based frontend frameworks (such as Angular 2)
- Experience of cloud-native 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 optimisation 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
- Consumer-driven contract testing methodologies (i.e. PACT)
- Infrastructure as Code (IaC) practices (ideally Terraform)
- Code hardening and security practices including adherence OWASP guideline
Remote Work :
No
Employment Type :
Full-time