Main Purpose of the JobThe Software Lead is responsible for leading a small software development team on a day-to-day basis, while remaining actively involved in hands-on development, to ensure the successful development, testing and delivery of software solutions that support business operations.
The incumbent guides and supports the developers, coordinates software project activities, allocates daily work, monitors quality standards and ensures that development tasks are completed within the timelines, budgets and technical requirements set by the Technical Manager.
The role provides technical guidance to the development team, contributes to continuous improvement initiatives and promotes compliance with established development standards and organisational procedures.
Education, experience and competencies- Bachelor's Degree in Computer Science, Software Engineering or a related field.
Preferred:- Honours Degree in Computer Science or Software Engineering.
- Agile or Scrum certification.
- Project Management qualification.
Experience:- Minimum 4 years' software development experience.
- Minimum 1 year's experience leading, mentoring or supervising software developers (formal or informal).
- Experience delivering software projects using Agile methodologies.
- Working knowledge of the full software development lifecycle.
ResponsibilitiesTeam Leadership- Lead, coach and support software developers.
- Allocate daily work and monitor team output.
- Conduct performance reviews and identify development needs.
- Promote collaboration and teamwork.
- Participate in recruitment interviews and onboarding of developers.
Software Development- Coordinate the delivery of software development projects.
- Ensure software solutions meet business and technical requirements.
- Monitor project schedules and delivery milestones.
- Coordinate software testing and implementation.
- Resolve technical issues raised by developers.
- Actively contribute to software development – hands-on coding forms a significant part of the role.
Project Management- Contribute to project plans prepared by the Technical Manager.
- Monitor project progress and report on status.
- Identify project risks and escalate significant issues.
- Coordinate team resources on assigned projects.
- Monitor progress against approved budgets and timelines and flag deviations to the Technical Manager.
- Act as technical point of contact for external projects/development, as delegated by the Technical Manager.
Technical Support- Provide technical guidance to software developers.
- Participate in software design and code reviews.
- Support troubleshooting of complex software issues.
- Recommend improvements to development processes.
- Assist with implementation of new technologies approved by management.
Quality Assurance- Ensure adherence to coding standards.
- Promote software quality and maintainability.
- Ensure testing activities are completed.
- Monitor defect resolution.
- Support continuous improvement initiatives.
Stakeholder Engagement- Liaise with business users to clarify software requirements.
- Provide regular project updates.
- Work with internal departments to coordinate software releases.
- Support user acceptance testing activities.
Administration- Maintain project documentation.
- Produce project status reports.
- Track team time and task allocation.
- Maintain software development records.
- Ensure compliance with company procedures