Head of Software Engineering

Job Purpose

The Head of Engineering has the responsibility for overseeing the development and delivery of high-quality software solutions, ensuring technical excellence, and driving innovation within the organization.

Responsibilities:

Team Leadership:

Lead and inspire a team of software engineers, providing guidance, mentorship, and support to ensure their professional growth and success. Foster a collaborative and inclusive work environment that promotes teamwork and open communication.

Technical Excellence:

Promote and uphold best practices in software engineering, architecture, and development methodologies.


  • You must be expert in producing and explaining architecture documentation, using UML / SysML to explain use cases and data flows.
  • You will be integral in ensuring requirements are translated into actionable, atomically deliverable and testable tasks with a strong focus on Agile methodology
  • You will be driving code reviews insisting on high quality code
     

Project Management:

Drive the planning, execution, and delivery of software projects, ensuring they are completed within the specified scope, timeline, and budget. Allocate resources effectively, monitor progress, and mitigate risks to ensure successful project outcomes.

Stakeholder Collaboration:

Collaborate closely with cross-functional teams, including Product Management, Quality Assurance, and Design, to define project requirements, scope, and priorities. Facilitate effective communication and coordination between teams to ensure alignment and smooth project execution.

Talent Acquisition and Development:

Participate in the recruitment and hiring process, identifying and attracting top engineering talent. Nurture and develop the skills and capabilities of team members through ongoing training, performance feedback, and career development opportunities.

Process Improvement:

Identify areas for process improvement and efficiency gains, implementing strategies and initiatives to optimize software development workflows. Foster a culture of continuous improvement, encouraging team members to contribute ideas and innovations to enhance productivity and quality.

Education & Experience

  • Bachelor’s degree in a technology-related field.
  • Master’s in business or business technologies is an added advantage
  • Minimum of Eight (8) years experience experience in software development with a minimum of 5 years experience in leading and managing software engineering teams, preferably in an Agile/Scrum environment
  • Strong technical background with expertise in software development, architecture, and design.
  • Full stack experience, dealing with challenges both in the front-end and back-end of applications.
  • Proficiency in programming languages such as NodeJS, PHP or Java.
  • Proficiency in Javascript (React) or mobile (Flutter)
  • Excellent leadership, communication, and interpersonal skills.
  • Ability to prioritize tasks, meet deadlines, and manage multiple projects simultaneously.
  • Experience in project management, including planning, resource allocation, and risk mitigation.
  • Familiarity with software development tools, version control systems, and project management software.