We are seeking a highly experienced Software Engineer to develop, integrate and maintain enterprise-grade software applications within a complex, high-availability technology environment. The successful candidate will be responsible for delivering scalable application architectures, developing sophisticated backend services, implementing system integrations and optimising application performance. The role requires strong hands-on programming expertise, advanced troubleshooting capabilities and the ability to translate complex business requirements into robust technical solutions.
Key Responsibilities
- Design, develop and maintain scalable, high-performance enterprise applications using modern programming languages and frameworks.
- Architect and implement RESTful APIs, microservices and distributed application components to support complex business workflows.
- Develop advanced backend services, reusable application components and database-driven solutions.
- Perform complex debugging, root cause analysis and performance optimisation across application, database and integration layers.
- Design and implement secure authentication, authorisation and data protection mechanisms.
- Develop and maintain enterprise system integrations using REST APIs, SOAP services, messaging frameworks and third-party platforms.
- Implement automated unit testing, integration testing and code quality validation.
- Optimise database queries, indexing strategies and application data processing for high-volume transactions.
- Participate in technical architecture reviews, code reviews and engineering design discussions.
- Implement CI/CD pipelines and automated deployment processes to improve software delivery efficiency.
- Identify technical debt, evaluate architectural limitations and implement sustainable engineering improvements.
- Collaborate with solution architects, business analysts, QA engineers and infrastructure teams throughout the software development lifecycle.
- Provide technical leadership, mentor junior developers and establish coding standards and engineering best practices.
- Support production deployments, investigate critical application incidents and ensure system stability.
Mandatory Technical Skills
- Advanced programming in Java, Python, C# or JavaScript/TypeScript.
- Strong knowledge of object-oriented programming and software design patterns.
- Experience developing RESTful APIs and microservices architecture.
- Strong database development skills in SQL and relational databases.
- Experience with Git, CI/CD and automated build/deployment pipelines.
- Knowledge of application security, authentication and authorisation.
- Experience with cloud-native application development and containerisation.
- Strong debugging, performance tuning and production troubleshooting capabilities.
Preferred Skills
- Kubernetes and Docker.
- AWS, Microsoft Azure or Google Cloud.
- Kafka or other messaging technologies.
- Spring Boot, .NET Core, Node.js or equivalent frameworks.
- Infrastructure as Code and automated deployment.
- Agile/Scrum software development methodologies.
Requirements
- Minimum 7 years of relevant software engineering experience.
- Proven experience delivering enterprise-scale software applications.
- Strong analytical, architectural and problem-solving capabilities.
- Ability to work independently and lead technical discussions.
- Excellent communication and stakeholder management skills.