Senior Software Engineer - Java
Description
We are looking for a highly skilled Senior Software Engineer (Java) to build and scale high-performance backend services and APIs. The ideal candidate should have strong expertise in Java, Spring Boot, API development, cloud-native architectures, and modern DevOps practices. You will collaborate closely with product, engineering, and platform teams to deliver secure, scalable, and reliable solutions.
Responsibilities:
- Design, develop, and maintain scalable microservices using Java and Spring Boot.
- Build and enhance RESTful APIs following industry best practices.
- Define and maintain API contracts using OpenAPI/Swagger specifications.
- Integrate applications with API Gateways and enterprise platforms.
- Implement secure authentication and authorisation using OAuth2 OIDC, and JWT.
- Ensure API security, performance, reliability, and observability.
- Develop cloud-native applications on Google Cloud Platform (GCP).
- Participate in architecture discussions and technical design reviews.
- Build and maintain CI/CD pipelines for automated deployment and testing.
- Troubleshoot production issues and optimise application performance.
- Collaborate with cross-functional teams in an Agile environment.
Requirements:
- 4-7 years of hands-on experience in backend development.
- Strong proficiency in Java (Java 8/11/17+).
- Extensive experience with Spring Boot, Spring MVC, Spring Security, and Microservices Architecture.
- Solid understanding of REST API design principles.
- Hands-on experience with OpenAPI/Swagger.
- Experience integrating and managing API Gateways.
- Strong knowledge of OAuth2 OpenID Connect (OIDC), JWT, and API security concepts.
- Experience with Google Cloud Platform (GCP) services.
- Familiarity with CI/CD tools such as Jenkins, GitHub Actions, GitLab CI, or Cloud Build.
- Experience with Git, code reviews, and software development best practices.
- Understanding of containerization (Docker) and cloud deployment concepts.
Good to Have:
- Experience with Kubernetes/GKE.
- Exposure to event-driven architectures (Kafka/PubSub).
- Knowledge of monitoring and observability tools.
- Experience working in high-scale product environments.
Preferred Background:
- Experience in B2C/D2C or consumer-facing product companies.
- Strong problem-solving and analytical skills.
- Bachelor's degree in Computer Science, Engineering, or related field.