Senior Java Developer (Cloud Migration Focus)
- Toronto, ON, Canada
Contract
Applications open in a new tab.
Job details
- Job type
- Contract
- Apply by
- Posting language
- English
- Posted
Original job description
We are looking for an experienced, self-directed Senior Java Developer to adapt the application layer of our platform from AWS to Microsoft Azure. You will work alongside our DevOps engineers, who own the infrastructure, while you own the application code, data access and integrations. This is a contract of up to 6 months focused on adapting our Java services, migrating data and keeping performance stable.
Responsibilities
- Hands-on migration: porting our Java Spring Boot services, data access layers and third-party integrations from AWS to Azure.
- Replacing AWS SDK usage with Azure equivalents: S3 → Azure Blob Storage, SQS → Azure Service Bus, Cognito → Microsoft Entra ID, Lambda → Azure Functions.
- Data migration: moving MongoDB and PostgreSQL workloads to Azure (Cosmos DB for MongoDB, Azure Database for PostgreSQL) with consistency and performance preserved.
- Containerized deployment: making sure services run cleanly on AKS, working with DevOps on Dockerfiles, Helm charts and CI/CD pipelines.
- Debugging: tracking down application-level errors and edge cases that appear during the environment shift.
- Team handoff: documenting your changes and working closely with our in-house engineers so they can take over when your contract ends.
- Strong Java background: deep, production-level experience with Java and Spring Boot, and a proven track record of refactoring complex systems for cloud compatibility.
- Experience with MongoDB and PostgreSQL (queries, indexing, driver and ORM usage), and comfort connecting applications to Azure managed databases.
- Experience with message queues (SQS, Service Bus or similar) and object storage (S3, Blob Storage).
- Experience with OAuth2 / OIDC and identity providers (Cognito, Entra ID).
- Real-world experience moving live production workloads to Azure with minimal downtime.
- Comfortable working with Docker&Kubernetes at the developer level, plus Git and CI/CD workflows.
- Proactive execution: self-starting and pragmatic, manages their own time, ships working code and flags roadblocks early.
- Active Azure certification (AZ-204 or AZ-400).
- Strong AWS background (EKS, S3, SQS, Cognito, Lambda, CloudWatch), which will help you quickly understand our current setup.
- Python experience (secondary to Java).
More about this job
Responsibilities
Migrate Java Spring Boot services, data access layers, integrations, and production data workloads from AWS to Azure while maintaining consistency, performance, and minimal downtime. Prepare services for deployment on AKS, troubleshoot migration issues, and document changes for handoff to the in-house engineering team.
Requirements
Requires deep production experience with Java and Spring Boot, cloud-compatible system refactoring, MongoDB and PostgreSQL, messaging and object storage, and OAuth2/OIDC identity providers. Candidates should have real-world Azure production migration experience, developer-level Docker and Kubernetes skills, and the ability to work independently; Azure certification, AWS expertise, and Python are additional assets.
Skills
- Java
- Spring Boot
- AWS-to-Azure Migration
- Microsoft Azure
- MongoDB
- PostgreSQL
- Azure Cosmos DB
- Azure Database for PostgreSQL
- Azure Blob Storage
- Azure Service Bus
- Microsoft Entra ID
- OAuth2 and OIDC
- Docker
- Kubernetes
- AKS
- CI/CD
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
Keywords
- Java
- Spring Boot
- AWS
- Microsoft Azure
- Cloud Migration
- MongoDB
- PostgreSQL
- Azure Cosmos DB for MongoDB
- Azure Database for PostgreSQL
- AWS SDK
- Azure Blob Storage
- Amazon S3
- Amazon SQS
- Azure Service Bus
- Amazon Cognito
- Microsoft Entra ID
- Azure Functions
- AWS Lambda
- AKS
- Docker
- Kubernetes
- Helm
- CI/CD
- OAuth2
- OIDC
- EKS
- CloudWatch
- AZ-204
- AZ-400
- Python