Software Engineer I - Data Solutions
Role details
Job location
Tech stack
Job description
The Data Streaming track is responsible for building highly scalable, reliable, compliant, and flexible solutions that move Booking.com's data from diverse sources into our internal data warehouse. These sources span both on-premise systems (such as Cassandra and MySQL) and cloud platforms (including AWS RDS). Our solutions are often heavily customized to meet the needs of different systems, business domains, and stakeholders.
We focus on two complementary areas:
- Snapshotting: The team designs and maintains snapshotting solutions for all major databases. We currently run more than 2,000 pipelines that are critical to the entire company, and our goal is to ensure they succeed on time, every day, with six nines of reliability.
- Streaming: We are also building streaming solutions that bring data into the warehouse almost in real time. This work comes with unique engineering challenges, as we operate on highly active sources where data is constantly being inserted, updated, and deleted.
Reliability and observability are at the core of everything we do. We invest heavily in monitoring, alerting, and recovery strategies to ensure that pipelines can handle the scale and complexity of Booking.com's data while remaining robust against failures.
Our stack includes AWS services (Lambda, EC2, DynamoDB, Step Functions), and we rely on Java, Python, and Flink to power our pipelines and solutions.
Role Description: In this role, you will be responsible for designing and delivering software solutions that meet business requirements, while steadily developing your own technical craft. You will take ownership of services end to end, ensuring their health and performance through active monitoring and observability. As part of the team, you will explore and evaluate different architectural approaches, weighing business needs, technology constraints, costs, and emerging technologies to recommend the best fit. You will also play an active role in supporting our production systems, addressing and resolving live issues quickly, and minimizing customer impact by working within defined SLAs. This position offers the opportunity to grow your engineering expertise while contributing to reliable, business-critical data solutions at scale., Important aspects of the job include:
- Rapidly develop next-generation scalable, flexible, and high-performance systems, with end-to-end ownership through monitoring and adjusting SLIs and SLOs.
- Act as an intermediary for problem-solving with both technical and non-technical audiences.
- Design and refactor solutions based on industry standards.
- Write reliable, scalable, and testable code that contributes to achieving our business goals.
- Deploy services and solutions to production in a stable, monitored, and reliable way.
- Proactively monitor production solutions, own outages, and identify areas for improvement.
- Collaborate and work closely with other engineers.
Requirements
We are looking for driven Software Engineers who enjoy solving problems, who initiate solutions and discussions and who believe that any challenge can be scaled with the right approach and tools. We have found that people who match the following requirements are the ones who fit us best:
- Minimum of 3 years software development experience; using 2 or more server side programming languages. Preferably Perl, Java, Python, Scala.
- Proven experience with MySQL or similar relational databases
- Previous experience with distributed systems
- Familiarity with AWS and some of its services (e.g: EC2)
- Familiarity with Kafka, Schema Registry and Avro.
- Familiarity with Docker and Kubernetes is a plus
- Excellent communication; written and spoken
Benefits & conditions
Benefits & Perks - Global Impact, Personal Relevance
- Annual paid time off and generous paid leave scheme including: parent, grandparent, bereavement, and care leave
- Hybrid working including flexible working arrangements, and up to 20 days per year working from abroad (home country)
- Industry leading product discounts - up to 1400 per year - for yourself, including automatic Genius Level 3 status and Booking.com wallet credit
- Living and working in Amsterdam, one of the most cosmopolitan cities in Europe
- Contributing to a high scale, complex, world renowned product and seeing real-time impact of your work on millions of travelers worldwide
- Working in a fast-paced and performance driven culture
- Opportunity to utilize technical expertise, leadership capabilities and entrepreneurial spirit
- Promote and drive impactful and innovative engineering solutions
- Technical, behavioral and interpersonal competence advancement via on-the-job opportunities, experimental projects, hackathons, conferences and active community participation
- Competitive compensation and benefits package and some great added perks of working in the home city of Booking.com