Position Overview
We are seeking an experienced and driven Software Engineer (Java) to design, develop, and maintain scalable enterprise-grade applications and backend systems. The successful candidate will play a key role in software architecture, system integration, infrastructure automation, and application reliability while working closely with internal engineering teams and external vendors.
This role requires strong expertise in Java-based application development, microservices architecture, cloud-native technologies, DevOps practices, and secure software engineering.
Key Responsibilities
Software Development & Engineering
- Lead and implement software development best practices, including Continuous Integration (CI), Continuous Delivery (CD), and automated deployment processes to improve software quality and delivery speed.
- Design, develop, and maintain scalable backend systems, APIs, applications, and data structures.
- Build and maintain both front-end interfaces (React/Angular) and back-end services using Java technologies.
- Design and oversee software architecture while considering both functional and non-functional requirements such as scalability, resiliency, security, and performance.
- Analyse technical trade-offs and make informed engineering decisions aligned with business and operational goals.
Testing, Security & Reliability
- Develop and execute comprehensive testing strategies, including:
- Functional testing
- Performance testing
- Security testing
- Integration testing
- Implement secure coding standards and application security testing practices.
- Ensure software solutions are robust, fault tolerant, and production-ready.
Infrastructure & DevOps
- Define and implement Infrastructure as Code (IaC) practices.
- Integrate systems and components across the organisation to support seamless operations.
- Manage containerised and cloud-native deployments using Docker, Kubernetes, OpenShift, and OpenStack.
- Automate operational processes to improve efficiency and reduce release turnaround time.
- Design and maintain CI/CD pipelines and job scheduling integrations.
Code Review & Vendor Management
- Perform code reviews and provide recommendations to software engineers and external vendors.
- Conduct progressive manual source code reviews delivered by vendors.
- Verify implementation quality and ensure solutions comply with approved designs and standards.
- Support technical governance and ensure engineering best practices are consistently applied.
Monitoring & Operations
- Set up and integrate observability, monitoring, and alerting platforms such as Grafana and ELK Stack.
- Manage and prioritise operational backlogs and technical support activities.
- Ensure system resiliency, availability, and operational stability.
Required Qualifications & Experience
Experience
- Minimum 5 years of proven experience in software engineering teams and enterprise technology projects.
- Hands-on experience designing and implementing Java applications in enterprise environments.
- Proven experience working with microservices architecture and RESTful APIs.
Technical Skills
Backend & Middleware
- Strong proficiency in:
- Java
- Spring/Spring Boot
- Microservices architecture
- RESTful web services
- SQL
- Shell scripting
- Experience with:
- RHEL (Red Hat Enterprise Linux)
- JBoss EAP
- Maven
- Oracle Database
- Fault-tolerant infrastructure concepts
Cloud & Containerisation
- Experience with cloud platforms and containerisation technologies, including:
- Docker
- Kubernetes
- OpenShift
- OpenStack
Integration & Interfaces
- Strong understanding of file transfer mechanisms, interfaces, resiliency, and connectivity protocols such as:
- Experience integrating:
- Autosys
- Job scheduling systems
- CI/CD platforms
- Data warehouses
- Document Management Systems
Monitoring & Observability
- Experience with observability and monitoring tools, including:
- Grafana
- ELK Stack
- Logging and alerting systems
Front-End Development
Database & Security
- Strong understanding of database design and optimisation.
- Experience implementing secure coding practices and application security testing.