1Guide team development efforts towards successful project delivery. 2. Provide technical leadership to teammates through coaching and mentorship. 3. Maintain high standards of software quality within the team by establishing good practices and habits. 4. Identify and encourage areas for growth and improvement within the team. 5. Collaborate with other software developers, business analysts and software architects to plan, design, develop, test, and maintain web- and desktop-based business applications. 6. Analyse and resolve technical and application problems.