Contract Software Engineer - Java Backend (AWS Microservices) - 6 months - 2x per month onsite - Man
Role details
Job location
Tech stack
Job description
The Opportunity
We are looking for an experienced Java Backend Software Engineer to join a high-performing engineering team delivering one of the organisation's key cloud migration programmes.
This team is responsible for migrating more than 20 Java-based microservices into a new AWS environment, modernising infrastructure, improving security, and ensuring seamless service-to-service communication across a large-scale distributed platform.
Working in an agile delivery team, you will build and migrate cloud-native microservices, improve infrastructure security, and help deliver incremental migrations in quarterly batches while maintaining production stability.
This is an excellent opportunity for engineers who enjoy solving complex Back End engineering challenges within highly scalable AWS environments.
Key Responsibilities
- Design, develop and maintain Back End services using Java 17+ and Spring Boot.
- Migrate existing Java microservices into a new AWS account and cloud environment.
- Build secure, scalable cloud-native applications following modern engineering practices.
- Develop RESTful APIs and service-to-service integrations.
- Implement authentication and secure communication between distributed microservices.
- Work with both SQL and NoSQL databases including DynamoDB.
- Deliver migration work in phased releases across multiple services.
- Produce high-quality, maintainable and well-tested code.
- Create automated unit, integration and component tests.
- Participate in code reviews and contribute to engineering best practices.
- Work closely with Infrastructure, Security and Platform Engineering teams.
- Support production systems including participation in an on-call rota.
- Troubleshoot production issues and drive root cause analysis.
- Contribute towards continuous improvements in software quality, reliability and deployment processes.
Required Technical Skills
Java Development
- Strong commercial experience developing Back End applications using Java.
- Experience with Java 17 or newer.
- Excellent understanding of object-oriented programming and clean code principles.
- Experience developing REST APIs.
Spring Framework
- Spring Boot
- Spring MVC
- Spring Security
- Dependency Injection
- Configuration Management
AWS
Strong hands-on experience with AWS including services such as:
- ECS/EKS
- Lambda
- IAM
- CloudWatch
- SQS/SNS
- DynamoDB
- API Gateway
- Secrets Manager
- CloudFormation or Infrastructure as Code exposure
Databases
Experience working with both relational and NoSQL databases including:
- DynamoDB
- PostgreSQL
- MySQL
- Aurora
- SQL optimisation
- Data modelling
Testing
Strong experience with automated testing including:
- Unit Testing
- Integration Testing
- Component Testing
- JUnit
- Mockito
- TestContainers (desirable)
Microservices
Strong understanding of:
- Distributed systems
- Event-driven architectures
- Service-to-service communication
- Authentication and authorisation
- API versioning
- Observability
- Fault tolerance
- Resilience patterns
DevOps
Exposure to:
- CI/CD pipelines
- Git
- Docker
- Kubernetes (desirable)
- Infrastructure as Code
- Monitoring and logging
Essential Experience
- Commercial Java Backend Engineering experience.
- Experience building cloud-native microservices.
- AWS production experience.
- Spring Boot expertise.
- Experience working within Agile engineering teams.
- Experience delivering software in fast-paced product environments.
- Experience supporting production services.
- Comfortable participating in on-call support.
Nice to Have
- Kubernetes
- Terraform
- Event-driven architectures
- Kafka
- Distributed tracing
- Performance optimisation
- Platform migration experience
- Cloud security best practices
Soft Skills
We're looking for engineers who are:
- Passionate about software engineering.
- Delivery focused.
- Comfortable working autonomously.
- Strong communicators.
- Collaborative team players.
- Able to work within fast-moving Agile teams.
- Committed to producing clean, maintainable code.
- Comfortable working under delivery deadlines.
Requirements
- Strong commercial experience developing Back End applications using Java.
- Experience with Java 17 or newer.
- Excellent understanding of object-oriented programming and clean code principles.
- Experience developing REST APIs.
Spring Framework
- Spring Boot
- Spring MVC
- Spring Security
- Dependency Injection
- Configuration Management
AWS
Strong hands-on experience with AWS including services such as:
- ECS/EKS
- Lambda
- IAM
- CloudWatch
- SQS/SNS
- DynamoDB
- API Gateway
- Secrets Manager
- CloudFormation or Infrastructure as Code exposure
Databases
Experience working with both relational and NoSQL databases including:
- DynamoDB
- PostgreSQL
- MySQL
- Aurora
- SQL optimisation
- Data modelling
Testing
Strong experience with automated testing including:
- Unit Testing
- Integration Testing
- Component Testing
- JUnit
- Mockito
- TestContainers (desirable)
Microservices
Strong understanding of:
- Distributed systems
- Event-driven architectures
- Service-to-service communication
- Authentication and authorisation
- API versioning
- Observability
- Fault tolerance
- Resilience patterns
DevOps
Exposure to:
- CI/CD pipelines
- Git
- Docker
- Kubernetes (desirable)
- Infrastructure as Code
- Monitoring and logging
Essential Experience
- Commercial Java Backend Engineering experience.
- Experience building cloud-native microservices.
- AWS production experience.
- Spring Boot expertise.
- Experience working within Agile engineering teams.
- Experience delivering software in fast-paced product environments.
- Experience supporting production services.
- Comfortable participating in on-call support.
Nice to Have
- Kubernetes
- Terraform
- Event-driven architectures
- Kafka
- Distributed tracing
- Performance optimisation
- Platform migration experience
- Cloud security best practices
Soft Skills
We're looking for engineers who are:
- Passionate about software engineering.
- Delivery focused.
- Comfortable working autonomously.
- Strong communicators.
- Collaborative team players.
- Able to work within fast-moving Agile teams.
- Committed to producing clean, maintainable code.
- Comfortable working under delivery deadlines.