Software Engineer
Indexed description
About the Role
Viable Solutions is seeking an experienced Java Spring Boot Developer to join our team and deliver high-quality, scalable backend solutions for enterprise clients. You will be responsible for designing, developing, and maintaining Java-based microservices and REST APIs using the Spring Boot framework. This is a great opportunity for someone with strong Java and Spring Boot expertise who enjoys building robust, high-performance enterprise applications in a collaborative Agile environment.
Key Responsibilities
Backend Development
- Design, develop, and maintain scalable Java applications and microservices using Spring Boot
- Build and expose RESTful and GraphQL APIs for consumption by frontend and third-party systems
- Develop and maintain backend business logic, service layers, and data access layers
- Implement and manage Spring Framework components — Spring MVC, Spring Security, Spring Data, and Spring Cloud
- Write clean, maintainable, and well-tested code following SOLID principles and best practices
Microservices & Architecture
- Design and implement microservices architecture — service decomposition, communication, and resilience patterns
- Implement inter-service communication using REST, gRPC, or message brokers
- Work with message brokers — Apache Kafka, RabbitMQ, or ActiveMQ
- Implement service discovery, API gateway, and circuit breaker patterns
- Design for scalability, high availability, and fault tolerance
Database & ORM
- Develop and optimise database interactions using Hibernate and JPA
- Work with relational databases — PostgreSQL, MySQL, or Oracle
- Work with NoSQL databases — MongoDB, Redis, or DynamoDB
- Write complex SQL queries, stored procedures, and database migrations
- Implement database versioning and schema management — Flyway or Liquibase
Security
- Implement application security using Spring Security
- Develop and manage OAuth 2.0, OpenID Connect, and JWT authentication and authorisation
- Ensure API security, input validation, and protection against common vulnerabilities — OWASP Top 10
- Implement secrets management and secure configuration practices
Cloud & DevOps
- Deploy and manage Java Spring Boot applications on AWS — EC2, ECS/EKS, Lambda, and Elastic Beanstalk
- Build and maintain CI/CD pipelines — Jenkins, GitHub Actions, or Azure DevOps
- Containerise applications using Docker and orchestrate with Kubernetes
- Implement infrastructure as code — Terraform or AWS CloudFormation
- Support monitoring and observability — CloudWatch, Prometheus, Grafana, or Datadog
Testing & Quality
- Write comprehensive unit and integration tests using JUnit, Mockito, and TestContainers
- Implement contract testing and API testing — Pact or RestAssured
- Conduct code reviews and contribute to engineering standards
- Ensure code quality using static analysis tools — SonarQube or Checkstyle
Required Skills & Experience
- 5–8+ years of hands-on Java development experience
- Strong proficiency in Java 11/17+ — object-oriented, functional, and concurrent programming (mandatory)
- Strong proficiency in Spring Boot — REST API development, microservices, and enterprise application design (mandatory)
- Deep knowledge of Spring Framework — Spring MVC, Spring Security, Spring Data, and Spring Cloud
- Experience with Hibernate and JPA — ORM and database integration
- Strong SQL skills — complex querying, stored procedures, and performance tuning
- Experience with message brokers — Apache Kafka, RabbitMQ, or ActiveMQ
- Experience with Docker and Kubernetes — containerisation and orchestration
- Hands-on AWS experience — EC2, ECS/EKS, Lambda, S3, RDS, or similar
- Experience with CI/CD tools — Jenkins, GitHub Actions, or Azure DevOps
- Strong understanding of microservices architecture and design patterns
- Experience with unit and integration testing — JUnit and Mockito
- Experience working in Agile / Scrum delivery environments
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search