Senior Java Developer - Spring Boot
Description
Job 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.
Requirements :
- 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 and authentication/authorisation mechanisms.
- Exposure to AI-assisted development tools and a basic understanding of integrating AI-driven components (good to have).
- 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.
- 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
- Secure Coding
- Spring
- Test Automation