Lead a team of software developers and provide technical direction and guidanceCollaborate with project managers, product managers, and other stakeholders to define, prioritize and plan technical projectsDesign, develop and implement complex software systems, ensuring high quality and timely deliveryMentor and coach team members, providing technical and professional development opportunitiesParticipate in the requirements understanding, analysis and implementationTest and deploy applications and systemsDebugging and Bug fix in existing codeDevelop documentation throughout the software development life cycle (SDLC)