Data Engineer III
About the role
Introduction to the Team
In this role, you will
- Design, develop, test, and maintain batch and real-time data pipelines, including complex or non-routine software that meets design requirements.
- Build and operate highly available, distributed systems for data extraction, ingestion, processing, movement, storage, and access, internal and external to the business unit.
- Apply software design principles, object-oriented design, data structures, algorithms, and distributed computing concepts, leveraging software frameworks to write simpler code.
- Work with large-scale datasets and complex data access patterns.
- Develop software using languages such as Java, Python, Scala, and Spark.
- Apply data modeling, schema design, data validation, testing, monitoring, alerting, and performance-tuning practices.
- Apply EG reference patterns and technology choices, and recommend alternative architectures, technologies, and programming languages where they fit better.
- Design software that is modular, maintainable, testable, observable, and cost-efficient.
- Monitor, troubleshoot, debug, and resolve production issues within established service-level agreements.
- Lead code reviews and help guide the evolution of technical solutions.
- Coordinate stakeholders with varied perspectives, contribute your own suggestions, and collaborate across the organization to understand dependencies and solve shared problems.
- Mentor junior engineers and participate in communities of practice.
- Identify opportunities to improve policies, processes, system efficiency, and operational practices across organizational boundaries.
Experience and Qualifications
Required
- 6+ years of relevant experience with a bachelor's degree, 3+ years with a master's degree, or equivalent related professional experience.
- Experience developing software in at least three programming languages.
- Experience building and maintaining more than one production data pipeline or data product (bug fixing, troubleshooting, monitoring).
- Proficiency in at least 3 data-relevant programming languages (e.g., Java, Python, Scala, Spark), and the ability to identify their strengths and weaknesses for particular use cases.
- Hands-on experience with large volumes of data: ingestion, batch and real-time processing, movement, storage, and access.
- Hands-on experience with at least one cloud technology and its data offerings.
- Understanding of databases, data structures, algorithms, object-oriented design, data modeling, testing, monitoring, alerting, and debugging.
- Ability to design moderately complex systems, apply organizational reference patterns, and make independent technical decisions within project scope.
- Understanding of how team goals fit business needs, and ability to mentor junior engineers.
- Strong communication and collaboration skills.
The total cash range for this position in Madrid is €55,500.00 to €78,000.00. Employees in this role have the potential to increase their pay up to €89,000.00, which is the top of the range, based on ongoing, demonstrated, and sustained performance in the role.
Starting pay for this role will vary based on multiple factors, including location, available budget, and an individual's knowledge, skills, and experience. Pay ranges may be modified in the future.
Benefits and perks
Accommodation requests
About Expedia Group
Important notice
Equal Opportunity
Not included in the source posting: qualifications.
Skills
Who can apply
The employer didn't state any visa, work authorization, citizenship or clearance requirements in this posting. Confirm with the employer before applying.
Read automatically from the employer's posting text. Always confirm with the employer — requirements can change after a job is published.