The Lead Software Developer plays a strategic, hands-on role as a primarily .NET-focused developer, responsible for designing and enhancing software applications, websites, and digital products across the organization. The role will be responsible for providing technical leadership, designing, developing, and testing highly complex software systems or applications for software enhancements and new products, including cloud-based or internet-related tools for internal and external consumption. The incumbent will provide technical solutions to enable the company to meet its strategic objectives through effective collaboration with business analysts, IT colleagues, and stakeholders. The incumbent will lead others to ensure successful teamwork, effective development, and delivery of high-quality software solutions.
CORE RESPONSIBILITIES AND TASKS
- Provide technical leadership in software planning cycles and connect with the team to provide feedback on product/project estimates and guiding the team in aligning with business goals and timelines
- Develop strategies to solve highly complex business requirements and analyze technical specifications to implement the requirements, ensuring optimal solutions for complex projects
- Design and architect software, applications, and database enhancements in alignment with business requirements and technical specifications defined while considering scalability, performance, and maintainability of the systems
- Strategically guide the process of developing, building and testing software systems or applications to meet business requirements enabling the delivery of high-quality and timely solutions
- Drive high-quality, maintainable, and scalable code in languages such as C# .NET, REACT and SQL, provide guidance and mentoring to less experienced team members
- Lead the team responsible for conducting bug fixes to identify and remediate defects in software solutions and ensuring the overall stability and reliability of the software
- Supervise the technical documentation including code comments, design documents, and user manuals, while setting documentation standards for the team
- Provide technical leadership and guidance to business analysts, quality assurance testers, and stakeholders to ensure that software solutions meet business requirements. Share relevant past experience and best practices to deliver the best.
- Provide high-level technical support to end-users, and make recommendations for enhancement or improvements to ensure the proper usage and adoption of software solutions
POSITION REQUIREMENTS
FORMAL EDUCATION:
- Bachelor's Degree in Computer Science, Computer Engineering or a related field. In lieu of a degree, at least 5-10 years of experience in software development.
KNOWLEDGE & EXPERIENCE:
- 5-10+ years of experience in software development in the software development industry
- Expertise and knowledge of software development life cycle (SDLC) methodologies and best practices
- Expertise and knowledge of software development tools, platforms, and languages
- Proven end to end experience in leading the development, integration, testing, and deployment of software solutions or internet-related tools
- Proven experience in working with highly complex relational databases and advanced SQL techniques.
- Excellent written and verbal communication skills
- Proven experience in developing and leading the development of highly scalable and complex Microservices and in-depth knowledge of various integration patterns
- Extensive experience in software architecture and design principles
Preferred Knowledge
- Windows Desktop Based Software
- Some knowledge of VB.NET
- Cloud based platform: Microsoft Azure
- Infrastructure as code: Terraform
- Agile methodology & ceremonies
- Experience of Jira
- SOLID Principles
- API Versioning and backward compatibility
- Knowledge of monitoring & logging
- GraphQL
Technical Skills
Database Management Systems: SQL Server
T-SQL
C# .NET Core
REACT SPA
Software Development Lifecycle (SDLC) Methodology
Continuous Integration and Continuous Deployment (CI/CD)
Front-End Coding Languages
RESTful API Design and development
Entity Framework Core
Systems Integration
GitHub Source Control System
Build Tools and Compilers
Software Testing & Quality Assurance Methodologies & Tools
Automated Testing Tools
Solution Architecture Patterns
- Containerization (Kubernetes)