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 and
mentorship 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 understand
requirements and translate them into technical specifications and actionable plans.
• Identify and implement opportunities for performance optimization, scalability
improvements, and technical debt reduction.
• Stay up-to-date with emerging technologies and industry trends and recommend their
adoption 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 highperforming
environment.
• Provide technical guidance, coaching, and regular feedback to team members to
support 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, and
identifying training needs.
• Delegate tasks effectively and ensure equitable distribution of workload within the
team.
• Act as a point of escalation for technical and team-related issues.
• Foster a culture of continuous improvement, knowledge sharing, and innovation within
the 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+ years
of hands-on experience specifically with .NET Core (ASP.NET Core, C#).
• Strong understanding of object-oriented programming (OOP) principles and design
patterns.
• 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 Core
applications.
• Solid understanding of front-end technologies (e.g., HTML, CSS, JavaScript, and ideally a
modern JavaScript framework like React, Angular, or Vue.js) for full-stack
considerations.
• Experience with unit testing frameworks (e.g., xUnit, NUnit, MSTest) and writing
comprehensive 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) is
a plus.
• Required Team Handling & People Management Skills:
• Proven experience leading and mentoring a team of software engineers (ideally 2+ years
in a lead or senior-level role with direct reports/mentorship responsibilities).
• Excellent communication skills, both verbal and written, with the ability to articulate
complex technical concepts to both technical and non-technical audiences.
• Strong interpersonal skills with the ability to build rapport, motivate, and resolve
conflicts 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.