The Semantic Layer team owns the systems that turn dbt models into trusted, reusable business metrics. At the heart of this is MetricFlow, the open-source semantic engine that powers the dbt Semantic Layer. MetricFlow lets data teams define metrics once in code and consume them consistently across BI tools, notebooks, AI agents, and downstream applications.
This team is the steward of MetricFlow as an open-source project: shipping releases, reviewing community contributions, evolving the query compiler, and ensuring it integrates cleanly with the broader dbt ecosystem. You'll work at the intersection of language design, query compilation, and distributed data execution, solving problems that directly shape how thousands of organisations measure their business.
We're hiring a Senior Software Engineer to join the Semantic Layer team in Bangalore. You'll be a core contributor to MetricFlow, designing features, optimising query generation, hardening the open-source codebase, and partnering with the community of contributors and adopters around it. This is a high-ownership role: you'll write production code, drive technical decisions, and help shape the long-term architecture of one of the most important projects in the modern data stack.
Responsibilities:
- Design, build, and maintain core features of MetricFlow, including metric definitions, query compilation, dimensional modelling, and SQL generation across multiple data warehouses (Snowflake, BigQuery, Databricks, Redshift, and others).
- Own MetricFlow as an open-source project, triage issues, review external pull requests, manage releases, and engage the community on GitHub and in Slack.
- Collaborate with engineers across dbt Cloud, dbt Core, and the Semantic Layer service to ensure MetricFlow integrates seamlessly with the rest of the dbt ecosystem.
- Improve performance, reliability, and observability of metric query execution at scale.
- Partner with product, design, and developer-relations teammates to translate customer and community feedback into shipped improvements.
- Write clear technical documentation, RFCs, and design docs that raise the bar for how the team thinks and ships.
- Mentor other engineers through code review, pairing, and technical guidance.
Requirements:
- Strong professional software engineering experience, with a strong track record of shipping production systems.
- Deep proficiency in Python, including modern typing, testing practices, and packaging.
- Strong SQL fundamentals and a working understanding of how analytical query engines and data warehouses execute queries.
- Experience designing systems that involve parsing, compilation, or transformation, for example: query planners, DSL compilers, type systems, or rule-based engines.
- Solid grasp of software design principles: clean APIs, modularity, testability, and backwards compatibility.
- Excellent written and verbal communication; you can explain complex tradeoffs clearly to engineers, PMs, and external community members.
- Experience collaborating in a distributed, asynchronous team environment.
Nice to Have:
- Prior experience contributing to or maintaining a popular open-source project.
- Familiarity with dbt, MetricFlow, LookML, Cube, or other semantic-layer technologies.
- Background in data warehousing internals, query optimisation, or analytical SQL dialects.
- Experience with CI/CD, GitHub Actions, and release engineering for Python libraries.
- Exposure to building developer-facing APIs, SDKs, or CLIs.

