About the role
Responsibilities:
- Design, develop, and maintain scalable backend systems using Java, Spring Boot, and Python.
- Build and maintain microservices and event-driven architectures using Kafka.
- Develop and maintain REST APIs, ensuring efficient communication between distributed services.
- Design and implement reliable data storage and retrieval solutions using PostgreSQL, MongoDB, and other SQL/NoSQL databases.
- Take ownership of end-to-end development, from technical design and implementation to deployment and production support.
- Build highly available and fault-tolerant systems by implementing resilience patterns such as retries, circuit breakers, and graceful degradation.
- Optimise application performance, latency, throughput, and resource utilisation.
- Implement asynchronous processing and messaging workflows for distributed applications.
- Ensure production readiness through effective monitoring, logging, alerting, and distributed tracing.
- Collaborate with cross-functional teams to define APIs, service contracts, and data models.
- Contribute to CI/CD pipelines, automated testing, and deployment processes.
- Write clean, maintainable, reusable, and well-tested code following engineering best practices.
- Use production metrics and monitoring data to continuously improve system reliability and performance.
- Participate in code reviews, technical discussions, and architectural decisions.
- Explore opportunities to leverage automation and AI-driven enhancements within backend systems.
Requirements:
- Strong expertise in Java and Spring Boot for developing scalable and high-performance backend services.
- Hands-on experience with Python for backend development, automation, scripting, or building service components.
- Deep understanding of distributed systems design, including scalability, fault tolerance, high availability, and eventual consistency.
- Hands-on experience with microservices architecture and event-driven systems using messaging platforms such as Apache Kafka.
- Proficiency in designing, developing, and maintaining RESTful APIs and service contracts.
- Experience working with relational and NoSQL databases, particularly PostgreSQL and MongoDB, including data modelling and performance optimisation.
- Strong understanding of asynchronous processing, messaging patterns, and inter-service communication.
- Experience in building high-throughput, low-latency, and reliable backend services.
- Familiarity with cloud-native development environments such as AWS, GCP, or Azure.
- Experience with containerisation and orchestration technologies such as Docker and Kubernetes.
- Knowledge of CI/CD pipelines, automated testing, and deployment strategies.
- Understanding of observability practices, including logging, monitoring, alerting, and distributed tracing.
- 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 integrating AI-driven components into backend systems is an added advantage.
- Ability to leverage AI coding assistants to improve development productivity and code quality.
Mandatory Skills:
- Java
- Spring / Spring Boot
- Python
- Apache Kafka
- Microservices Architecture
- REST API Development
- MongoDB
- SQL / NoSQL Databases
- PostgreSQL
- Distributed Systems