Booking NL
Data Engineer II
Data Engineers are responsible for the development, performance, quality, and scaling of Booking’s data pipelines, with a special focus on data quality. The incumbent will take part in the execution of technical tasks within the scope of data management. As part of a team, the data engineer builds internal tools/infrastructure for other teams, or directly contributes to building user facing products.
Key Responsibilities:
Rapidly developing next-generation scalable, flexible, and high-performance data pipelines;
Solving issues with data and data pipelines, prioritizing based on customer impact, and building solutions that prevent them from happening again (root cause);
End-to-end ownership of data quality in our core datasets and data pipelines;
Experimenting with new tools and technologies to meet business requirements regarding performance, scaling, and data quality;
Providing tools that enhance Data Quality company wide;
Developing integrations between multiple applications and services, both on premise and in the cloud;
Contributing to self-organizing tools that help the analytics community discover data, assess quality, explore usage, and find peers with relevant expertise;
Building effective monitoring of data, and jumping in to handle outages.
Responsible for technical implementation and maintenance of data processing services and storage systems in line with the Data Governance Framework.
Communicating with stakeholders, developers, product managers, ML scientists and engineers
Explain requirements and enable proper interaction of data products with other systems
Co-define product requirements and maintain on-track development
Receive guidance on alignment with broader ML/AI strategy
Explain requirements and enable proper interaction of data products with other systems
This role may require to be on an on-call rotation.
Requirements of Special knowledge/skills:
Master’s degree
3-5 years professional experience
Software Systems Design:
Evaluate possible architecture solutions by taking into account cost, business requirements, technology requirements and emerging technologies
Describe the implications of changing an existing system or adding a new system to a specific area, by having a broad, high-level understanding of the infrastructure and architecture of our systems
Help grow the business and/or accelerate software development by applying engineering techniques (e.g. prototyping, spiking and vendor evaluation) and standards
Meet business needs by designing solutions that meet current requirements and are adaptable for future enhancements
Critical Thinking:
Find solutions to difficult or complex issues by applying different skills and techniques like analytical thinking, lateral thinking, and logical reasoning
Constructively improve existing ideas, plans and solutions by reviewing them in a critical yet constructive manner, initiating concrete improvements and articulating their rationale
Continuous Quality and Process Improvement:
Identify opportunities for process, system and/or structural improvements, by applying an understanding of process flows and the methods that can be used to boost effectiveness and efficiency
End to End System Ownership:
Own a service end to end by actively monitoring application health and performance, setting and monitoring relevant metrics and act accordingly when violated
Reduce business continuity risks and bus factor by applying state-of-the-art practices and tools, and writing the appropriate documentation such as runbooks and OpDocs
Reduce risk and obtain customer feedback by using continuous delivery and experimentation frameworks Independently manage an application or service by working through deployment and operations in production
Effective Communication:
Deliver clear, well-structured, and meaningful information to a target audience by using suitable communication mediums and language tailored to the audience
Achieve mutually agreeable solutions by staying adaptable, communicating ideas in clear coherent language and practicing active listening
Ask relevant (follow-up) questions to properly engage with the speaker and really understand what they are saying, by applying listening and reflection techniques