Summary
β¨ AIβGenerated
Join a collaborative engineering team as an experienced backend developer, designing and maintaining scalable Java applications, microservices, and APIs. The role emphasizes Spring Boot and its ecosystem, robust business logic and data-access layers, clean and testable code, and modern enterprise development practices within an Agile environment.
Highlights
Opportunity to build scalable enterprise backend systems in a collaborative Agile environment, with a strong focus on modern Java technologies, microservices, APIs, clean code, and high-performance applications.
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 BootBuild and expose RESTful and GraphQL APIs for consumption by frontend and third-party systemsDevelop and maintain backend business logic, service layers, and data access layersImplement and manage Spring Framework components β Spring MVC, Spring Security, Spring Data, and Spring CloudWrite clean, maintainable, and well-tested code following SOLID principles and best practicesMicroservices & Architecture
Design and implement microservices architecture β service decomposition, communication, and resilience patternsImplement inter-service communication using REST, gRPC, or message brokersWork with message brokers β Apache Kafka, RabbitMQ, or ActiveMQImplement service discovery, API gateway, and circuit breaker patternsDesign for scalability, high availability, and fault toleranceDatabase & ORM
Develop and optimise database interactions using Hibernate and JPAWork with relational databases β PostgreSQL, MySQL, or OracleWork with NoSQL databases β MongoDB, Redis, or DynamoDBWrite complex SQL queries, stored procedures, and database migrationsImplement database versioning and schema management β Flyway or LiquibaseSecurity
Implement application security using Spring SecurityDevelop and manage OAuth 2.0, OpenID Connect, and JWT authentication and authorisationEnsure API security, input validation, and protection against common vulnerabilities β OWASP Top 10Implement secrets management and secure configuration practicesCloud & DevOps
Deploy and manage Java Spring Boot applications on AWS β EC2, ECS/EKS, Lambda, and Elastic BeanstalkBuild and maintain CI/CD pipelines β Jenkins, GitHub Actions, or Azure DevOpsContainerise applications using Docker and orchestrate with KubernetesImplement infrastructure as code β Terraform or AWS CloudFormationSupport monitoring and observability β CloudWatch, Prometheus, Grafana, or DatadogTesting & Quality
Write comprehensive unit and integration tests using JUnit, Mockito, and TestContainersImplement contract testing and API testing β Pact or RestAssuredConduct code reviews and contribute to engineering standardsEnsure code quality using static analysis tools β SonarQube or Checkstyle
Required Skills & Experience
5β8+ years of hands-on Java development experienceStrong 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 CloudExperience with Hibernate and JPA β ORM and database integrationStrong SQL skills β complex querying, stored procedures, and performance tuningExperience with message brokers β Apache Kafka, RabbitMQ, or ActiveMQExperience with Docker and Kubernetes β containerisation and orchestrationHands-on AWS experience β EC2, ECS/EKS, Lambda, S3, RDS, or similarExperience with CI/CD tools β Jenkins, GitHub Actions, or Azure DevOpsStrong understanding of microservices architecture and design patternsExperience with unit and integration testing β JUnit and MockitoExperience working in Agile / Scrum delivery environments