Key Responsibilities
Lead the architecture, design, development, and delivery of enterprise-grade software solutions.
Act as the technical authority for software engineering practices, system design, and technology selection.
Design and develop highly scalable, secure, reliable, and maintainable software applications and platforms.
Drive end-to-end software development activities from requirements gathering through deployment and production support.
Write high-quality, production-ready code and actively contribute to critical development initiatives.
Review, optimise, and refactor existing systems to improve performance, scalability, security, and maintainability.
Lead complex troubleshooting efforts and resolve critical system, application, and integration issues.
Define and implement software engineering best practices, coding standards, and development methodologies.
Conduct architecture reviews, code reviews, and technical design reviews across multiple projects.
Work closely with product, engineering, infrastructure, cybersecurity, and business stakeholders to translate business objectives into technical solutions.
Design and implement APIs, microservices, distributed systems, and cloud-native applications.
Drive CI/CD, DevOps, automation, testing, observability, and software quality initiatives.
Lead software integration activities involving third-party systems, hardware platforms, and enterprise applications.
Mentor and coach software engineers, providing technical leadership and guidance across teams.
Evaluate emerging technologies, frameworks, and industry trends, recommending strategic adoption where appropriate.
Support production environments and drive continuous improvement in system availability, reliability, and operational excellence.
Requirements
8+ years of hands-on software engineering experience
building and delivering complex commercial software systems.
Strong expertise in one or more modern programming languages such as
Python, Java, C++, C#, JavaScript, Go, or TypeScript
.
Proven experience designing and developing large-scale, distributed, high-availability systems.
Deep understanding of software architecture, design patterns, object-oriented design, and engineering best practices.
Strong experience with cloud platforms such as
AWS, Azure, or Google Cloud Platform
.
Extensive experience with APIs, microservices, containerisation, and orchestration technologies (Docker, Kubernetes).
Strong knowledge of databases, including both SQL and NoSQL technologies.
Proven experience in CI/CD pipelines, DevOps practices, infrastructure automation, and software deployment strategies.
Advanced troubleshooting, debugging, performance tuning, and system optimisation skills.
Deep understanding of security principles, scalability, resilience, and modern software development methodologies.
Demonstrated ability to lead technical initiatives, influence engineering decisions, and drive cross-functional collaboration.
Strong stakeholder management, communication, and leadership skills.
Self-driven, hands-on, and comfortable operating in both strategic and technical execution capacities.