We are seeking a visionary Head of Software Engineering to lead our technology team in designing and delivering innovative, scalable, and secure software solutions. You will be responsible for setting the technical direction, driving best practices, and fostering a culture of excellence, collaboration, and continuous improvement.
Responsibilities
Strategic Leadership and Team Development :
- Lead, manage, and provide strategic and technical direction to the software engineering team within an Agile framework.
- Oversee team performance, including mentoring, conducting technical reviews, facilitating knowledge sharing, and fostering continuous professional development.
Software Development Lifecycle (SDLC) and Delivery Management :
- Direct the entire software development lifecycle, encompassing requirements analysis, design, development, testing, deployment, and maintenance of software applications to meet business objectives.
- Ensure the timely and budget-compliant delivery of high-quality software solutions and features, aligned with company priorities and quality benchmarks.
Architectural Integrity and Technical Excellence :
- Define, implement, and enforce best practices for software development, including coding standards, robust testing procedures, comprehensive documentation, and strategies for managing technical debt.
- Own, develop, and evolve the solution architecture across all relevant teams to ensure robustness, scalability, security, and maintainability.
Stakeholder Engagement and Requirements Definition :
- Collaborate effectively with internal stakeholders and external clients to gather, analyze, and translate business requirements into detailed technical specifications, ensuring clear communication and strategic alignment.
Innovation and Continuous Improvement :
- Drive technological innovation by evaluating emerging technologies, identifying opportunities for system and process improvements, and staying current with advancements in the software engineering field.
Specialized Project and Integration Oversight :
- Oversee the planning and execution of client data migrations from third-party systems.
- Lead the design and implementation of third-party system integrations, ensuring they meet stringent scalability, security, and maintainability standards.
Requirements
I. Educational Foundation :
- A Bachelor's or Master's degree in Computer Science, Software Engineering, or a closely related academic field is required.
II. Professional Experience :
- A minimum of eight (8) years in software development, which must include :
- At least three (3) years in a leadership capacity, specifically managing medium-sized development teams (comprising 5 to 10 members).
- A minimum of three (3) years of dedicated experience developing with TypeScript and Node.js.
III. Technical Expertise & Methodologies :
- Comprehensive understanding and practical application of software development methodologies, such as Agile and Scrum.
- In-depth knowledge of software design patterns and clean architecture, coupled with a proven capability in designing scalable system architectures.
- Proficiency with CI / CD pipelines, contemporary DevOps practices, and familiarity with secure coding principles.
- Extensive experience with cloud infrastructure (Microsoft Azure preferred) and container orchestration technologies, notably Kubernetes.
- Working knowledge of front-end technologies (e.g., Angular), database systems (e.g., PostgreSQL), and native mobile application development.
- Exceptional English communication skills (both written and verbal), with particular emphasis on effectiveness in client interactions.
- Demonstrated ability to mentor developers, conduct thorough technical assessments, and adeptly translate business objectives into effective technical strategies.
- Strong decision-making skills, characterized by a pragmatic approach to balancing technical debt against feature delivery imperatives.
V. Preferred Attributes :
- Prior experience in successfully leading distributed or remote development teams is highly desirable.