Tech Lead-.NET
Key Responsibilities and Accountabilities :
- Lead the design and development of complex software products, applying software design patterns and architectural principles with a focus on scalability, performance, and security.
- Develop clean, efficient, high-quality, well-tested, maintainable, and documented code in line with specifications.
- Collaborate on architectural designs and technical solutions alongside product managers, scrum masters, and senior engineers to translate requirements into technical specifications and deliver new features.
- Conduct code reviews and provide constructive feedback to peers.
- Mentor and coach junior software engineers, guiding them through technical challenges, architectural decisions, coding standards, and pairing sessions.
- Promote a quality-first software development culture by enforcing standards, processes, testing methodologies, and driving initiatives to improve team efficiency such as automation and CI/CD.
- Continuously update knowledge of emerging technologies and industry trends, actively participate in communities of practice, and encourage knowledge sharing.
Skills and Abilities : - Proven ability to deliver high-quality software solutions on time.
- Proficient in object-oriented programming with C# (.NET) and deep understanding of software design principles and patterns.
- Extensive experience designing and architecting complex software systems focusing on scalability, performance, and security.
- Strong leadership skills with excellent communication and collaboration abilities.
- Experienced in designing and implementing complex web (RESTful) and asynchronous APIs. Strong commitment to quality-driven development practices including TDD, ATDD, and pair programming.
- Experienced in microservices and event-driven architectures, utilizing Azure Service Bus, Azure Functions, and Azure Web Apps.
- Solid knowledge of component-based frontend frameworks such as Angular 2+. Skilled in cloud-native development, preferably using Azure.
- Experienced in CI/CD pipelines, ideally using Azure DevOps with YAML.
- Familiar with containerization technologies including Docker and Kubernetes.
- Deep understanding of SQL and NoSQL databases and their optimization, including Azure SQL and Cosmos DB.
- Expertise in logical domain and physical data model design.
Desirable skills include familiarity with collaboration tools such as Azure DevOps, Miro, and Confluence; consumer-driven contract testing methodologies like PACT; Infrastructure as Code practices preferably with Terraform; and experience in code hardening and security practices.
Knowledge and Experience:
- Over five years of progressive experience in software development.
- Proven track record of leading and delivering complex software projects.
- In-depth knowledge of software architecture, design patterns, and system integration.
- Strong expertise in debugging, performance optimization, and scalability considerations.
- Demonstrated ability to mentor junior developers and provide effective technical guidance. Excellent communication and teamwork skills.
High-Quality Delivery: Proven track record of delivering robust, scalable software solutions on time.
Backend Expertise: Proficient in object-oriented programming with C# (.NET) and a strong grasp of software design principles and patterns.
Architecture & Design: Extensive experience in architecting complex systems with a focus on scalability, performance, and security.
API Development: Skilled in building complex RESTful and asynchronous APIs.
Frontend Development: Solid knowledge of Angular 2+ and component-based frontend frameworks.
Cloud-Native Development: Strong Azure experience, including Azure Web Apps, Azure Functions, and Azure Service Bus.
Microservices & Event-Driven Architectures: Hands-on experience building distributed systems and event-driven workflows.
DevOps & CI/CD: Proficient in CI/CD practices using Azure DevOps (YAML pipelines).
Quality Engineering: Committed to TDD, ATDD, and pair programming for high-quality code.
Containerization: Familiar with Docker and Kubernetes for deploying scalable applications.
Database Design: Deep understanding of both SQL (e.g., Azure SQL) and NoSQL (e.g., Cosmos DB) databases; expertise in data modeling and query optimization.
Collaboration tools: Azure DevOps, Miro, Confluence.
Testing practices: Familiarity with consumer-driven contract testing using PACT.
Infrastructure as Code: Experience with Terraform.
Security: Understanding of code hardening and secure coding practices.
5+ years of progressive experience in software development.
Proven ability to lead and deliver complex projects across diverse teams.
Deep expertise in software architecture, system integration, and design patterns.
Strong problem-solving skills in debugging, performance tuning, and scalability.
Experienced in mentoring junior developers and providing technical leadership.
Excellent communication and team collaboration skills.