Software Engineer

Viable Solutions Pty Ltd · Melbourne, Victoria, Australia
LinkedIn

Posted

Aug 13, 2026 (Aug 13)

Seniority

Senior

Work Model

Not Specified

Type

Contract

Category

Full-Stack

Salary

Not specified

Skills

ActiveMQ Agile Apache AWS Azure CI/CD Datadog Docker DynamoDB GitHub GitHub Actions Grafana GraphQL gRPC Java Jenkins JUnit Kafka Kubernetes Microservices MongoDB MySQL OAuth Observability Oracle PostgreSQL Prometheus RabbitMQ Redis REST API Scrum Spring Boot SQL Terraform

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