Booking UK
Software Engineer (Java/AWS Migration) / Cloud Engineer (Temporary Worker)
We are looking to hire 2 engineers for this role.
The Project:
This project is to migrate existing estate to another cloud service.
You will work as part of a task force that is being formed internally.
Job Overview
A Software Engineer II in this role will help deliver our BCF migration agenda. They will build and evolve services and supporting infrastructure on AWS, with a strong focus on cloud migration, data migration, reliability, security, and operational readiness.
This role is suited to an engineer who is comfortable working across application code, cloud infrastructure, deployment automation, and production operations. They should be able to take business and technical requirements, turn them into pragmatic solutions, and deliver them safely through development, integration, and production environments.
Key responsibilities:
Building software applications
Build and maintain software applications using relevant development languages, frameworks, and cloud services.
Write readable, reusable, and well-tested code using standard patterns and libraries.
Refactor and simplify code to improve maintainability, reliability, and ease of change.
Ensure the quality of applications through effective test automation and engineering best practices.
Maintain data security, integrity, and quality by following company standards and best practices.
Cloud migration and platform delivery
Deliver service migrations to BCF / AWS, including the application and infrastructure changes required for production readiness.
Contribute to infrastructure-as-code, deployment automation, and environment setup for cloud-native services.
Support migration of services and supporting components such as compute, networking, storage, observability, and deployment pipelines.
Plan and execute safe cutovers, traffic switches, and rollback-aware releases across environments.
Work with partner teams to identify dependencies, de-risk migration plans, and unblock delivery.
Data migration
Design and implement data migration activities needed to support service or platform migrations.
Support schema evolution, backfills, validation, reconciliation, and production rollout planning.
Ensure migrated data is accurate, secure, auditable, and fit for downstream use.
Help define controls and checks that reduce risk during large-scale or high-impact migrations.
End-to-end system ownership
Own services end-to-end by monitoring health and performance, defining relevant metrics, and acting when thresholds are breached.
Reduce business continuity risk by improving runbooks, documentation, alerting, and operational readiness.
Support deployment and operations in production, including troubleshooting and recovery.
Use continuous delivery and experimentation practices to reduce risk and gather feedback early.
Technical incident management
Investigate and resolve production incidents, minimizing customer impact within expected SLAs.
Contribute to root cause analysis and follow-up actions that improve long-term system reliability.
Support incident reviews, postmortems, and operational learning across the team.
Software systems design and architectural contribution
Evaluate solution options by balancing business needs, cloud cost, reliability, scalability, security, and delivery risk.
Contribute to designs for services migrating to cloud-native patterns and target-state architectures.
Help assess the implications of changing existing systems or introducing new components within a broader technical landscape.
Use prototyping, spikes, and structured investigation to reduce ambiguity and support decision-making.
Continuous quality and process improvement
Identify opportunities to improve engineering processes, systems, and delivery ways of working.
Contribute to better standards for testing, observability, reliability, release safety, and migration readiness.
Guide less experienced engineers on quality, operational hygiene, and maintainable delivery practices.
Effective communication
Communicate clearly and concisely with engineers, product, and stakeholders.
Explain technical trade-offs in a way that supports decision-making.
Collaborate effectively across teams, especially where migration work has shared dependencies and timelines.
Ask good questions, seek context early, and keep others informed of risks, progress, and changes.
AI-assisted engineering
Use approved AI-assisted coding tools productively and responsibly for tasks such as code generation, refactoring, documentation, investigation support, and migration acceleration.
Apply sound engineering judgement when using AI tools, ensuring quality, security, and maintainability remain high.
Skills and Experience Requirements
Must have:
Medium to senior - experience with AWS, cloud migration and strong Java skills.
Java, working with testing, running CICD, update on gem AI
for coding.
Communicate effectively. Bring things to the table.
Experience of working with large scale systems and companies.
Solid software engineering fundamentals with experience building and operating production systems.
Hands-on experience with AWS and cloud-based architectures.
Experience with cloud migration, platform modernization, or significant infrastructure change.
Experience with data migration, production data change management, or schema/data evolution.
Experience with infrastructure-as-code and deployment automation.
Experience supporting services in production, including monitoring, alerting, incident response, and postmortems.
Strong problem-solving skills and the ability to work through ambiguity with a pragmatic mindset.
Clear communication and collaboration skills.
Nice to have:
Experience with containerized or cloud-native workloads.
Be able to work across teams, Gem AI - Innovation.
Experience with service decomposition, modernization, or migration from legacy environments.
Experience with performance, reliability, security, and operational readiness improvements.
Experience using GenAI coding tools effectively in day-to-day engineering workflows.
Experience working in environments with strong compliance, audit, or change-management expectations.
Knowledge / skills profile:
Proficient at building software applications
Experience in end-to-end system ownership
Experience in software systems design
Familiarity with architectural guidance and technical trade-offs
Experience in technical incident management
Experience in continuous quality improvement
Strong critical thinking and problem solving
Strong written and verbal communication
Practical experience with AWS, cloud migration, and data migration
Comfortable using AI-assisted coding tools with good engineering judgement
Stakeholders
Peers
Product owners
Engineering managers
Partner engineering teams
Platform / cloud / security stakeholders
Additional information
The role is focused on engineers who can combine delivery, ownership, and pragmatism to help move services safely to the next stage of our platform journey.