Staff Software Engineer — DataPlatform
Auto ImportShare
<p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>Staff Software Engineer — Data Platform (Europe)</strong></p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">This is a rare role for an engineer who's genuinely comfortable on both sides of the stack — reading Java Spring Boot services in the morning and writing PySpark pipelines in the afternoon. You'll own the end-to-end data flow that sits behind every pricing decision Duetto makes for thousands of hotels worldwide, bridging our Java core platform and Python data layer while working in an engineering culture where AI is already how the work gets done.</p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>What Makes Us Different?</strong></p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">Duetto is the hospitality industry's leading revenue management platform, founded in 2012 by former Wynn Resorts executives who knew the industry needed better technology. We built the world's first Revenue & Profit Operating System — a suite of tools (GameChanger, ScoreBoard, BlockBuster, Advance and more) that goes beyond room pricing to give hotels, resorts and casinos a complete picture of their revenue and profitability. Trusted by clients ranging from independent boutique hotels to global chains, we've been named the #1 Revenue Management Software by HotelTechAwards four years running and the #1 Best Place to Work in Hotel Tech in 2025. Backed by GrowthCurve Capital since 2024, we're accelerating our investment in AI — and we're genuinely passionate about the industry we serve. We build products we're proud of, for customers we care about.</p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>What You'll Be Doing</strong></p> <ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="whitespace-normal break-words pl-2">You'll own data pipelines from source to gold — taking data from MongoDB, Kinesis events, RabbitMQ, and PMS/CRS integrations through the full bronze → silver → gold lakehouse architecture, including Iceberg-based ingestion patterns for both batch and near-real-time workloads.</li> <li class="whitespace-normal break-words pl-2">You'll build connectors and transformations for new data sources — Salesforce, Amadeus, Expedia, and internal platform events — expanding the reach and reliability of the data layer the whole product depends on.</li> <li class="whitespace-normal break-words pl-2">You'll work across system boundaries: reading Kinesis event schemas and MongoDB data models in the Java platform, then applying that understanding in the Python pipeline codebase — driving schema evolution strategies, data contract enforcement, and backward compatibility across both worlds.</li> <li class="whitespace-normal break-words pl-2">You'll drive data quality and governance — extending Great Expectations and Data Contract CLI across pipeline tiers, owning Athena views and SQL assets, and building monitoring and alerting for pipeline health, data freshness, and quality drift.</li> <li class="whitespace-normal break-words pl-2">You'll partner with DevPlatform on event schema design and with data science to operationalise ML workloads, ensuring clean data handoffs across every system boundary.</li> <li class="whitespace-normal break-words pl-2">You'll work AI-first every day — using Claude Code and MCP tools as a core part of your workflow, contributing to AI-assisted pipeline scaffolding and data discovery tooling alongside a custom multi-agent system built around 17 specialised agents.</li> </ul> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>What We're Looking For</strong></p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><em>You may be a good fit if you have:</em></p> <ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="whitespace-normal break-words pl-2">7+ years building production data or backend systems</li> <li class="whitespace-normal break-words pl-2">Strong proficiency in both Python (PySpark, data engineering) and Java — you can read and navigate Spring/JVM codebases comfortably, not just Python</li> <li class="whitespace-normal break-words pl-2">Experience with lakehouse or data warehouse architectures on cloud — Iceberg, Delta Lake, Redshift, BigQuery, or Snowflake</li> <li class="whitespace-normal break-words pl-2">Production experience with AWS data services: Glue, Athena, S3, Lambda</li> <li class="whitespace-normal break-words pl-2">Experience with workflow orchestration — Airflow, Kestra, Step Functions, or similar</li> <li class="whitespace-normal break-words pl-2">The ability to work across system boundaries: you understand upstream event schemas, data models, and downstream consumer needs</li> </ul> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><em>Strong candidates may also have:</em></p> <ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="whitespace-normal break-words pl-2">Hands-on experience with Apache Iceberg — MERGE operations, schema evolution, partition evolution</li> <li class="whitespace-normal break-words pl-2">Experience with Trino or Presto for federated or interactive SQL analytics at scale</li> <li class="whitespace-normal break-words pl-2">Experience with dbt for data transformation, modelling, and testing</li> <li class="whitespace-normal break-words pl-2">Familiarity with data quality frameworks — Great Expectations, Monte Carlo, or similar</li> <li class="whitespace-normal break-words pl-2">A background in event-driven architectures: Kinesis, Kafka, SQS</li> <li class="whitespace-normal break-words pl-2">Genuine interest in AI-assisted development and LLM-based engineering workflows</li> <li class="whitespace-normal break-words pl-2">Familiarity with the hospitality domain or multi-tenant B2B SaaS data challenges</li> </ul> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>Why Duetto?</strong></p> <ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="whitespace-normal break-words pl-2"><strong>AI-first is the reality, not the roadmap.</strong> Every engineer uses Claude Code daily, and you'll be contributing to a custom multi-agent system with 17 specialised agents, human-in-the-loop approval gates, and AI-assisted pipeline generation. This is what modern data engineering looks like.</li> <li class="whitespace-normal break-words pl-2"><strong>Cross-cutting technical ownership.</strong> This isn't a siloed data role — you'll operate across Java upstream systems and Python pipelines, with real architectural influence over how data flows through the entire platform.</li> <li class="whitespace-normal break-words pl-2"><strong>The scale and the stakes are real.</strong> Millions of pricing decisions processed daily, 80+ integration partners, and a live evolution toward near-real-time streaming. The technical challenges are genuine.</li> <li class="whitespace-normal break-words pl-2"><strong>A team with the right values.</strong> Low ego, high EQ, intellectual curiosity, and active mentorship in both directions across a collaborative US and Europe group.</li> <li class="whitespace-normal break-words pl-2"><strong>Modern stack at real scale.</strong> Python/PySpark, Apache Iceberg, Airflow, AWS Glue, Terraform, Datadog — tools that matter, used on problems that matter.</li> </ul> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>The Details</strong></p> <ul class="[li_&]:mb-0 [li_&]:mt-1 [li_&]:gap-1 [&:not(:last-child)_ul]:pb-1 [&:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"> <li class="whitespace-normal break-words pl-2">Location: Croatia (Remote)</li> <li class="whitespace-normal break-words pl-2">Team: Data Platform</li> <li class="whitespace-normal break-words pl-2">Direct reports: None</li> <li class="whitespace-normal break-words pl-2">Travel: None</li> </ul> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">Duetto is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. All qualified applicants will receive consideration for employment without regard to race, colour, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, or any other characteristic protected by applicable law.</p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"><strong>Sound like you?</strong></p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">You don't need to be an expert in every technology on this list. If you're a strong engineer who spans Java and Python, cares about data quality, and wants to work somewhere AI is genuinely part of how you build — we'd love to hear from you.</p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"> </p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]"> </p> <p class="font-claude-response-body break-words whitespace-normal leading-[1.7]">#LI-REMOTE</p>