JOB OVERVIEW
We are seeking a highly skilled and motivated Technical Lead Software Engineer to join our dynamic team. The ideal candidate will play a critical role in leading software development projects, providing technical guidance, and ensuring high-quality code production. This position requires strong technical expertise, exceptional leadership skills, and the ability to collaborate effectively with cross-functional teams.
ROLES AND RESPONSIBILITIES
- Lead a team of software engineers through all phases of the SDLC including requirement gathering, design, development, testing, deployment, and support.
- Develop applications using latest technologies (.NET Core, React Native , Node.js, MVVM, REST, SOAP, etc.) adhering to SOLID principles and industry best practices.
Architecture Principles:
Understanding of architectural design patterns, microservices, and cloud architecture. - Provide software architectural assessment and suggest best practices implementation
Experience in project planning and execution:
Ability to plan, schedule, and execute software projects effectivelyImperative:
Act as the technical lead, a hands-on developer who provides architectural input critical to the success of our future solutions- Design and implement scalable, maintainable, and high-performance applications.
- Review code and designs from junior developers to ensure high-quality deliverables.
- Provide technical direction, mentorship, and skill development to the engineering team.
- Analyze and research emerging technologies for potential use in ongoing and upcoming projects.
- Collaborate with product managers, business analysts, UX/UI designers, QA, DevOps, and other cross-functional teams to translate business needs into technical solutions.
- Identify and plan sprint backlogs in coordination with product owners and business analysts.
- Monitor and report project progress, risks, and milestones to stakeholders and upper management.
- Coordinate with onshore and offshore teams to manage interdependence and remove blockers.
- Validate that applications meet business, technical, and security requirements.
- Ensure high-quality releases via automated testing, CI/CD pipelines, and manual QA oversight.
- Review and approve test plans, test cases, and execution logs from QA teams.
- Provide post-deployment support and resolve issues raised by end users in B2C/B2B environments.
- Conduct RCA for customer complaints and maintain compliance through regular internal audits.
- Create and maintain robust APIs (REST & SOAP) for communication between system layers.
- Build conceptual data models to interact with data layers and external systems.
- Maintain detailed technical documentation including system design, APIs, frequently occurring issues, and POCs.
- Support team members in implementing POCs and conduct performance evaluations.
- Foster a culture of continuous improvement, collaboration, and innovation within the team.
TECHNICAL COMPETENCIES (Knowledge, Skills & Abilities)
- Strong understanding of software development methodologies (Agile, Scrum, etc.) and best practices.
- Proficiency in designing and implementing microservices architectures and RESTful APIs.
- Strong understanding of SOLID principles and Design Patterns in C#.
- Experience with WPF applications
- Experience in working with and troubleshooting WCF, Web Services.
- Knowledge of Sync Framework would be a plus
- Experience with cloud technologies (AWS, Azure, Google Cloud, etc.) is a plus.
Database Expertise:
Knowledge of database technologies like MS SQL and best practices. - Strong understanding of SQL syntax, data types, and database concepts. Ability to design and implement efficient and scalable database schemas.
- Experience optimizing SQL queries and database performance.
Cloud Computing:
Experience with cloud platforms like Azure- Excellent problem-solving skills and ability to work under pressure.
- Strong communication and interpersonal skills, with the ability to effectively collaborate with technical and non-technical stakeholders.
- Good written and oral communication skills.
- Highly initiative-taking and directed.
EDUCATION AND EXPERIENCE
- Bachelor’s degree in Computer Science, Software Engineering, or a related field; Master’s degree preferred.
- 10 to 12 years of experience in software development
- 2+ years of experience in a technical leadership role, managing software development teams.