Description:
The Star Factory has an exciting opportunity for a Software Development Instructor to join our team based in Umhlanga, Durban.
The Software Development Instructor will be responsible for educating individuals and teams on the principles and practices of software development, including coding languages, methodologies, tools, and best practices, by designing and delivering training programs, creating course materials and assessing learner progress to ensure effective software development within the organization; essentially bridging the gap between technical knowledge and practical application for developers at various levels through implementing training and development tools.
Minimum Requirements:
- Relevant experience as a Software Developer and/or related training, lecturing or mentoring role.
Advantageous:
- Registered MICT SETA assessor.
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
Responsibilities:
Curriculum Development:
- Design and develop comprehensive software development training programs tailored to different skill levels, including beginner, intermediate, and advanced courses, covering topics like object-oriented programming, design patterns, data structures, algorithms, testing methodologies, and version control systems.
Delivery of Training Sessions:
- Conduct interactive training sessions, both in-person and online, utilizing various teaching methods like lectures, demonstrations, hands-on exercises, case studies, and group projects to facilitate learning.
Training Material Creation:
- Develop training materials such as course manuals, presentations, practice exercises, and e-learning modules to support the learning process.
Assessment and Evaluation:
- Assess learner progress through quizzes, practical assignments, and performance evaluations to identify strengths and areas for improvement.
Mentorship and Support:
- Provide individual coaching and mentorship to trainees, addressing their specific questions and challenges during the learning process.
Stay Updated:
- Keep abreast of emerging technologies, software development trends, and best practices to ensure training content remains current and relevant.
Project Implementation:
- Collaboration with development teams.
- Work closely with software development teams to identify training needs, incorporate feedback into training programs, and align training with project requirements.
- Implement, track, problem solve and report on relevant projects as required.
Knowledge, Skills and Competencies:
- Technical skills: Strong proficiency in programming languages like Java, Python, C++, and related development tools and frameworks.
- Software Development Methodologies: Understanding of Agile methodologies (Scrum, Kanban), Waterfall, and other development lifecycle approaches.
- Teaching and Training Skills: Excellent communication, presentation, and facilitation skills to effectively deliver training content to diverse audiences.
- Instructional Design: Ability to design engaging and effective training materials, including e-learning modules.
- Assessment Skills: Capability to evaluate learner performance and provide constructive feedback.
- Problem-solving: Ability to troubleshoot technical issues and address learner challenges during training sessions
- Demonstrate sound written and verbal communication skills.
- Demonstrates sound presentations skills.
- Demonstrate high energy, enthusiasm and motivation in execution of work.
- Proficient in training methodologies and best practice.
- Demonstrate a strong sense of accountability.
Please be advised that should you not be contacted within 30 days, kindly consider your application to be unsuccessful.
Requirements:
- Relevant experience as a Software Developer and/or related training, lecturing or mentoring role.
- Registered MICT SETA assessor.
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Design and develop comprehensive software development training programs tailored to different skill levels, including beginner, intermediate, and advanced courses, covering topics like object-oriented programming, design patterns, data structures, algorithms, testing methodologies, and version control systems.
- Conduct interactive training sessions, both in-person and online, utilizing various teaching methods like lectures, demonstrations, hands-on exercises, case studies, and group projects to facilitate learning.
- Develop training materials such as course manuals, presentations, practice exercises, and e-learning modules to support the learning process.
- Assess learner progress through quizzes, practical assignments, and performance evaluations to identify strengths and areas for improvement.
- Provide individual coaching and mentorship to trainees, addressing their specific questions and challenges during the learning process.
- Keep abreast of emerging technologies, software development trends, and best practices to ensure training content remains current and relevant.
- Collaboration with development teams.
- Work closely with software development teams to identify training needs, incorporate feedback into training programs, and align training with project requirements.
- Implement, track, problem solve and report on relevant projects as required.
- Technical skills: Strong proficiency in programming languages like Java, Python, C++, and related development tools and frameworks.
- Software Development Methodologies: Understanding of Agile methodologies (Scrum, Kanban), Waterfall, and other development lifecycle approaches.
- Teaching and Training Skills: Excellent communication, presentation, and facilitation skills to effectively deliver training content to diverse audiences.
- Instructional Design: Ability to design engaging and effective training materials, including e-learning modules.
- Assessment Skills: Capability to evaluate learner performance and provide constructive feedback.
- Problem-solving: Ability to troubleshoot technical issues and address learner challenges during training sessions
- Demonstrate sound written and verbal communication skills.
- Demonstrates sound presentations skills.
- Demonstrate high energy, enthusiasm and motivation in execution of work.
- Proficient in training methodologies and best practice.
- Demonstrate a strong sense of accountability.