ABOUT THE OPPORTUNITY AND RESPONSIBILITIES
The Head of Software Development and Design is responsible for overseeing the entire software development life cycle, from conceptualization to deployment. This role leads the design, development, and implementation of software systems while ensuring the highest standards of quality, security, and performance.
The Head of Software Development and Design works closely with cross-functional teams, including project managers, designers, and senior leadership, to ensure that software solutions meet business objectives, user needs, and market demands.
Key Responsibilities:
Leadership & Team Management:
Lead and manage a diverse team of software engineers, designers, QAs and developers, fostering an environment of innovation and continuous improvement.
Develop and implement strategic goals for the software development and design teams, aligning them with the overall business objectives.
Mentor and support the professional growth of team members, providing guidance and career development opportunities.
Oversee the recruitment, training, and performance evaluations for the team.
Software Development & Design Oversight:
Oversee the end-to-end design and development of software applications, ensuring alignment with industry best practices and user experience standards.
Drive the adoption of modern software development methodologies, including Agile, DevOps, and Continuous Integration/Continuous Deployment (CI/CD) practices.
Collaborate with product managers to define product requirements, scope, and timelines.
Ensure the delivery of high-quality software that meets functional, non-functional, and security requirements.
Solution architecture based on business requirements and innovation.
Technical Strategy & Innovation:
Stay abreast of emerging technologies, design trends, and industry developments to incorporate new tools, frameworks, and processes into the software development lifecycle.
Define and execute the technical roadmap for software projects, ensuring scalability, security, and maintainability.
Oversee architecture decisions and ensure that software systems are robust, scalable, and optimized for performance.
Collaboration & Communication:
Serve as a liaison between software development teams and other departments, ensuring clear communication and collaboration.
Report on progress, risks, and key metrics to senior management and stakeholders.
Ensure that design and development practices adhere to organizational standards and align with user expectations.
Quality Assurance & Continuous Improvement:
Establish and enforce software testing, debugging, and deployment processes to ensure high-quality output.
Continuously review and improve development processes and workflows to increase efficiency and reduce technical debt.
Implement performance monitoring and optimization practices for ongoing software improvements post-launch.
Security & Compliance:
Ensure that software systems adhere to security best practices and comply with relevant legal and regulatory standards.
Lead initiatives for data protection, privacy, and secure coding practices.
WHO WE ARE LOOKING FOR
Education: A Bachelor's or a Master's degree in Computer Science (preferred), Software Engineering, Information Technology, or a related field.
Experience:
Minimum of 8-10 years of experience in software development, with at least 5 years in a leadership or management position.
Solution architecture experience of at least 5 years.
Proven experience managing and scaling high-performing software development teams.
Strong background in software architecture, design patterns, and modern development methodologies (e.g., Agile, Scrum).
Hands-on experience with front-end and back-end technologies (JavaScript, Java, Python, SQL, .NET) and frameworks (React, Angular, Spring).
Technical Expertise:
Expertise in software development lifecycle, including requirements gathering, design, implementation, testing, deployment, and maintenance.
Deep knowledge of cloud technologies, databases, and distributed systems.
Familiarity with DevOps practices, containerization (Docker), and orchestration tools (Kubernetes).
Proficient in version control systems (e.g., Git) and CI/CD tools.
Leadership & Communication:
Exceptional leadership, team-building, and mentorship skills.
Excellent problem-solving, analytical, and troubleshooting abilities.
Strong communication skills, with the ability to present complex technical concepts to both technical and non-technical stakeholders.
Desirable Skills:
Experience with UX/UI design processes or collaboration with design teams.
Familiarity with Agile tools (Jira, Confluence) and project management software.
Experience in managing software development budgets and resources.
Work Environment:
This position reports to the IT Director.
Collaborative, dynamic, and fast-paced environment.
Opportunity to shape and influence the future direction of software products and technology strategy within the organization.
Personal Attributes:
Strong strategic thinker with the ability to manage competing priorities.
A passion for technology, continuous learning, and fostering innovation.
An inclusive leadership style with a focus on team empowerment and morale.
A result-oriented individual who is comfortable working in high-pressure, deadline-driven environments.