Job Specification: Software Development Manager
Job Title: Software Development Manager
Location: Johannesburg
Job Summary:
We are looking for a dynamic and experienced Software Development Manager to lead our software development team within the Technology Implementation stream. This role is critical in ensuring the seamless delivery of business-as-usual (BAU) activities while driving innovation and excellence in software development. The ideal candidate will have strong technical expertise, leadership skills, and experience in a Microsoft environment (both on-premises and Azure cloud).
Key Responsibilities:
-
Oversee the day-to-day operations of the software development team, managing BAU activities and ensuring timely delivery of high-quality software solutions.
-
Lead a team of 4-7 software developers, providing mentorship, guidance, and support to enhance team performance and professional growth.
-
Collaborate closely with the Heads of IT and other stream leaders (Enterprise Architecture, Service Delivery, Infrastructure, and Delivery & Execution) to align development efforts with organizational objectives.
-
Develop, implement, and maintain software development processes, standards, and best practices to improve efficiency and productivity.
-
Drive the adoption of Agile methodologies, continuous integration, and DevOps practices within the team.
-
Manage the end-to-end software development lifecycle, including requirements gathering, design, coding, testing, deployment, and maintenance.
-
Ensure all development projects are delivered on time, within scope, and budget, while meeting or exceeding quality standards.
-
Foster a culture of continuous improvement, innovation, and collaboration within the development team.
-
Monitor and report on key performance indicators (KPIs) and metrics to assess the team's progress and impact.
-
Identify and resolve technical challenges, risks, and issues that may arise during development.
-
Stay current with industry trends, emerging technologies, and best practices to drive innovation and maintain a competitive edge.
Qualifications:
-
Bachelor’s degree in Computer Science, Software Engineering, Information Technology, or a related field. A master’s degree is preferred.
-
Minimum of 5-7 years of experience in software development, with at least 3 years in a managerial role.
-
Proven experience in managing software development teams in a Microsoft environment (both on-premises and Azure cloud).
-
Strong understanding of software development methodologies (e.g., Agile, Scrum) and DevOps practices.
-
Proficiency in programming languages such as C#, .NET, or similar.
-
Experience with Microsoft Azure cloud services, DevOps tools, and frameworks.
-
Strong knowledge of software architecture, design patterns, and best practices.
-
Excellent leadership, communication, and interpersonal skills.
-
Proven track record of successfully managing multiple projects simultaneously.
-
Strong problem-solving skills and the ability to make sound decisions under pressure.
-
Ability to work effectively in a fast-paced, dynamic environment.
Preferred Skills:
-
Experience with enterprise-scale software solutions and microservices architecture.
-
Familiarity with CI/CD pipelines and automated testing frameworks.
-
Certifications in relevant technologies or methodologies (e.g., Microsoft Certified: Azure Solutions Architect, Scrum Master).
-
Experience in integrating software development with enterprise architecture and infrastructure teams.
-
Knowledge of security best practices and regulatory compliance in software development.
Personal Attributes:
-
Strong analytical and strategic thinking abilities.
-
Detail-oriented with a focus on quality and excellence.
-
Highly motivated, adaptable, and results-driven.
-
Collaborative and team-oriented mindset.