The posting
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.



