11 Aug
|
Viable Solutions
|
Melbourne
11 Aug
Viable Solutions
Melbourne
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
Solid 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
📌 Software Engineer (Melbourne)
🏢 Viable Solutions
📍 Melbourne