Java Developer
Posted Updated
Description
Responsibilities:
- Design and build scalable, reliable backend systems that power core enterprise platforms.
- Develop and maintain microservices and event-driven architectures, ensuring systems are loosely coupled and highly available.
- Take ownership of end-to-end system development, from design to deployment and production support.
- Ensure systems are production-ready by implementing strong observability, monitoring, and alerting mechanisms.
- Optimise system performance by improving latency, throughput, and resource utilisation.
- Collaborate with cross-functional teams to define APIs, service contracts, and data models.
- Implement resilience patterns such as retries, circuit breakers, and graceful degradation.
- Contribute to and improve CI/CD pipelines and deployment processes for faster and safer releases.
- Write clean, maintainable, and well-tested code, following best engineering practices.
- Use production data and metrics to continuously improve system reliability and performance.
- Participate in code reviews, technical discussions, and architectural decisions.
- Support and mentor team members, contributing to overall engineering excellence.
- Explore opportunities to integrate automation or AI-driven enhancements where applicable.
- Leverage AI coding assistants for development and utilise them to generate better-quality output.
- Support integration of AI- or automation-driven components into the backend systems.
- Ensure AI-enabled components operate within defined reliability and safety boundaries.
Requirements:
- Mandatory: Java, Kafka, Microservices, developing REST API, MongoDB, SQL/NoSQL, PostgreSQL, Distributed Systems
- Strong expertise in Java (Spring Boot) and working knowledge of Kotlin for building scalable backend services.
- Deep understanding of distributed systems design, including scalability, fault tolerance, and eventual consistency.
- Hands-on experience with microservices architecture and event-driven systems using messaging platforms like Kafka.
- Proficiency in working with both relational databases (PostgreSQL, Oracle) and NoSQL databases (MongoDB, Cassandra, Redis), including data modelling and performance optimisation.
- Experience with API design, service contracts, and building high-throughput, low-latency services.
- Familiarity with cloud-native development in environments like AWS, GCP, or Azure.
- Strong experience in containerization (Docker) and orchestration tools like Kubernetes.
- Knowledge of CI/CD pipelines, automated testing, and deployment strategies (blue-green, canary releases).
- Understanding of observability practices, including logging, monitoring, and distributed tracing.
- Exposure to search technologies like Elasticsearch.
- Solid foundation in data structures, algorithms, and problem-solving.
- Working knowledge of secure coding practices authentication/authorization mechanisms.
- Exposure to AI-assisted development tools and basic understanding of integrating AI-driven components (good to have).
- AI exposure is valued, but distributed systems engineering remains the primary focus of this role.
Skills
- AI
- API
- Api Design
- Authentication
- Automation
- AWS
- Azure
- Cassandra
- CI/CD
- Cloud
- Cloud Native
- Containerization
- Data Modeling
- Distributed Systems
- Docker
- Elasticsearch
- Event Driven Architecture
- GCP
- Java
- Kafka
- Kotlin
- Kubernetes
- Microservices
- MongoDB
- NoSQL
- Observability
- Oracle
- PostgreSQL
- RDBMS
- Redis
- REST
- Secure Coding
- Spring
- SQL
- Test Automation