We are seeking an experienced and highly motivated Lead Software Engineer specializing in .NET Core to join our dynamic engineering team. This role is a critical blend of technical leadership, hands-on development, and team mentorship. The ideal candidate will possess deep expertise in .NET Core development, excellent problem-solving skills, and a proven ability to lead and inspire a team of software engineers to deliver high-quality, scalable, and robust solutions.
What you will be doing :
- Technical Leadership & Development :
- Lead the design, development, testing, deployment, and maintenance of scalable, high performance.
and secure applications using .NET Core and related technologies.
Act as a subject matter expert for .NET Core, providing technical guidance andmentorship to team members.
Drive architectural decisions and ensure adherence to best practices in software design,coding standards, and security.
Conduct code reviews to ensure code quality, performance, and maintainability.Collaborate with product owners, architects, and other stakeholders to understandrequirements and translate them into technical specifications and actionable plans.
Identify and implement opportunities for performance optimization, scalabilityimprovements, and technical debt reduction.
Stay up-to-date with emerging technologies and industry trends and recommend theiradoption where beneficial.
Troubleshoot and debug complex issues across various environments.Contribute significantly to hands-on coding and feature development.Team Handling & People Management :
Lead and mentor a team of software engineers, fostering a collaborative and highperformingenvironment.
Provide technical guidance, coaching, and regular feedback to team members tosupport their professional growth and development.
Facilitate daily stand-ups, sprint planning, retrospectives, and other agile ceremonies.Assist in setting individual and team goals, conducting performance reviews, andidentifying training needs.
Delegate tasks effectively and ensure equitable distribution of workload within theteam.
Act as a point of escalation for technical and team-related issues.Foster a culture of continuous improvement, knowledge sharing, and innovation withinthe team.
Participate in the recruitment and onboarding of new team members.Required Technical Capabilities :
7 to 9 years of professional experience in software development, with at least 4+ yearsof hands-on experience specifically with .NET Core (ASP.NET Core, C#).
Strong understanding of object-oriented programming (OOP) principles and designpatterns.
Proficiency in building RESTful APIs and microservices using .NET Core.Extensive experience with relational databases (e.g., SQL Server, PostgreSQL, MySQL)and ORMs (e.g., Entity Framework Core).
Experience with cloud platforms (e.g., Azure, AWS, GCP) and deploying .NET Coreapplications.
Solid understanding of front-end technologies (e.g., HTML, CSS, JavaScript, and ideally amodern JavaScript framework like React, Angular, or Vue.js) for full-stack
considerations.
Experience with unit testing frameworks (e.g., xUnit, NUnit, MSTest) and writingcomprehensive tests.
Familiarity with version control systems (e.g., Git, Azure DevOps, GitHub).Understanding of CI / CD pipelines and automated deployments.Knowledge of containerization technologies (e.g., Docker, Kubernetes) is a plus.Experience with caching mechanisms (e.g., Redis, Memcached) is a plus.Understanding of message queues / brokers (e.g., RabbitMQ, Kafka, Azure Service Bus) isa plus.
Required Team Handling & People Management Skills :Proven experience leading and mentoring a team of software engineers (ideally 2+ yearsin a lead or senior-level role with direct reports / mentorship responsibilities).
Excellent communication skills, both verbal and written, with the ability to articulatecomplex technical concepts to both technical and non-technical audiences.
Strong interpersonal skills with the ability to build rapport, motivate, and resolveconflicts within a team.
Demonstrated ability to delegate effectively and empower team members.Experience with agile methodologies (Scrum, Kanban).Strong problem-solving and decision-making abilities with a focus on practical solutions.Ability to provide constructive feedback and foster a positive learning environment.Empathy and a genuine interest in the growth and well-being of team members.