<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Analytics Engineering Roundup: 🎧 🆕 The Analytics Engineering Podcast]]></title><description><![CDATA[Conversations with data practitioners inventing the future of analytics engineering.

The podcast is hosted by Tristan Handy and published biweekly along with each edition of the Roundup newsletter.]]></description><link>https://roundup.getdbt.com/s/the-analytics-engineering-podcast</link><image><url>https://substackcdn.com/image/fetch/$s_!9uGH!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b4e3170-43ea-4f13-8662-f4b4e18cfe12_256x256.png</url><title>The Analytics Engineering Roundup: 🎧 🆕 The Analytics Engineering Podcast</title><link>https://roundup.getdbt.com/s/the-analytics-engineering-podcast</link></image><generator>Substack</generator><lastBuildDate>Fri, 25 Sep 2026 19:34:56 GMT</lastBuildDate><atom:link href="https://roundup.getdbt.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[dbt Labs Inc.]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[analyticsengineeringroundup@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[analyticsengineeringroundup@substack.com]]></itunes:email><itunes:name><![CDATA[Tristan Handy]]></itunes:name></itunes:owner><itunes:author><![CDATA[Tristan Handy]]></itunes:author><googleplay:owner><![CDATA[analyticsengineeringroundup@substack.com]]></googleplay:owner><googleplay:email><![CDATA[analyticsengineeringroundup@substack.com]]></googleplay:email><googleplay:author><![CDATA[Tristan Handy]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[You don't have ICs anymore, you have managers (Emilie Schario)]]></title><description><![CDATA[The co-founder of Kilo Code, acquired by Anaconda this summer, on why she thinks data people are better positioned than software engineers to manage a portfolio of agents.]]></description><link>https://roundup.getdbt.com/p/you-dont-have-ics-anymore-you-have</link><guid isPermaLink="false">https://roundup.getdbt.com/p/you-dont-have-ics-anymore-you-have</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 10 Sep 2026 13:03:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/5M4RnedJdrw" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Emilie Schario is co-founder and head of product and engineering at Kilo Code, the open-source, model-agnostic coding agent platform that Anaconda acquired in July 2026. She was an early member of GitLab&#8217;s data team, ran the data org at Netlify, spent a year as data-strategist-in-residence at Amplify Partners, and founded Turbine, an ERP startup later acquired by Settle.</p><p>In her conversation with Tristan, Emilie describes &#8220;kilo speed,&#8221; the cultural discipline Kilo built around removing friction so people can ship, and the org design underneath it: about 20 engineers, one person with the word &#8220;product&#8221; in their title, and every engineer owning their own area end to end, from the roadmap to the bug reports. Her argument is that this only works because each of those engineers is also managing a fleet of AI agents, which is why she thinks the job has quietly changed from individual contributor to manager, whether you&#8217;re managing people or agents or both.</p><p>She also makes the case for Kilo&#8217;s model-agnostic bet: instead of building on one lab&#8217;s models, Kilo supports more than 500 of them and works with model labs directly, sometimes for weeks, before a new model ships. Tristan draws a parallel to dbt Labs&#8217; own argument for open data infrastructure, though Emilie is careful to draw a distinction: for models, she says, the case for staying open is less about fear of lock-in and more about preserving the freedom to pick the right tool for the task while the frontier keeps moving.</p><p>They close on a question about what software engineers are doing today that data people haven&#8217;t caught up on yet. Emilie flips it: data people, she argues, have spent years being multi-threaded across marketing&#8217;s ask, the VP&#8217;s ask, and finance&#8217;s ask in a way software engineers were mostly protected from, which may leave analytics engineers better prepared than developers for a world where everyone is managing a portfolio of agents.</p><div><hr></div><p><strong>dbt Summit 2026 is almost here.</strong><span> Connect with the world&#8217;s largest gathering of dbt users, September 15-18 at The Cosmopolitan in Las Vegas. Level up your data and AI work: </span><a href="https://www.getdbt.com/dbt-summit">Register now with a 25% discount using the code </a><strong><a href="https://www.getdbt.com/dbt-summit">dbt26-podcast</a></strong><span>.</span></p><p><span>If you&#8217;d like to watch the keynote and on-demand breakout sessions from your desk, </span><a href="https://www.getdbt.com/dbt-summit"><span>register for online access</span></a><span>.</span></p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-5M4RnedJdrw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5M4RnedJdrw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5M4RnedJdrw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Three ideas from the episode</h2><p>1. <strong>Kilo speed is a deliberate cultural choice, not a byproduct of being an AI company.</strong> Emilie names the feeling directly: no red lights on the drive to work, no friction, no checklist that exists just to exist. Tristan pushes back on the idea that this is a natural outcome of being an early AI adopter, and Emilie agrees it isn&#8217;t. It&#8217;s a decision the team makes over and over, in how they handle a Slack channel or an email as much as in how they ship a feature. The org design that makes it real is unusual: about 20 engineers and exactly one person with &#8220;product&#8221; in their job title. Everyone else owns their own area completely, roadmap, bug reports, Discord support, and the escalations that come with it. Emilie&#8217;s explanation for why this works now and might not have ten years ago isn&#8217;t that engineers got smarter. It&#8217;s that each engineer is running a team of AI agents alongside their own work, which is why she says nobody at Kilo is really an individual contributor anymore. Everyone is a manager, whether they&#8217;re managing people, agents, or both, and the coordination overhead that used to require four or five separate roles collapses into one person with a wider mandate.</p><p>2. <strong>Being model-agnostic is a bet on optionality, not a fear of lock-in.</strong> Kilo works across more than 500 models rather than building on top of one lab&#8217;s stack, and Emilie describes an early-access relationship with most major labs: testing unreleased models for weeks, adjusting Kilo&#8217;s system prompt for each one, and feeding real usage feedback back to the lab before a model ever goes public. When Tristan draws the parallel to dbt Labs&#8217; own argument that pipelines should be defined independently of compute, Emilie pushes back gently on the framing. For data compute, she notes, the fear is a specific one: nobody wants to relive an Oracle-style lock-in. For models, she says the concern is different. Nobody knows what the best model, or the best value for the dollar, will be three months out, so the point of staying open isn&#8217;t protection from a vendor, it&#8217;s the freedom to choose the right model for the task as the frontier moves. She illustrates this with Kilo&#8217;s Agent Manager, which lets her give the exact same prompt to several models at once, running in separate git worktrees so they don&#8217;t collide, purely to watch how differently they perform. She also points to a broader industry mood shift: earlier in the year the conversation inside Kilo was about token-maxing, pushing usage as high as possible. By the time of this recording, it had flipped to efficient AI spend and measuring real ROI, which she reads as validation of the model-agnostic thesis rather than a contradiction of it.</p><p>3. <strong>The junior-engineer problem is real and unsolved, which makes her closing argument about data people more surprising.</strong> Every engineer at Kilo has at least 10 years of professional experience, and the company is fully remote, a combination Emilie is candid about: she doesn&#8217;t know how to build early-career hires into a distributed, AI-native org, and she&#8217;s optimistic the industry will figure it out rather than confident that it already has. She points to programs like Ember Fellows, which grew out of the now-closed Venture for America and intentionally reintroduces an in-person component, as one open experiment. It&#8217;s against that backdrop that her answer to Tristan&#8217;s closing question lands as unexpected. Asked what data people haven&#8217;t caught up to yet relative to software engineers, she flips the question: data people, she argues, have spent years being multi-threaded across marketing&#8217;s dashboard request, the VP&#8217;s ask, and finance&#8217;s filter change in a way software engineers were largely protected from until agents started forcing the same context-switching on them. If managing many parallel agents is really a management problem, analytics engineers, who&#8217;ve effectively been &#8220;manager of one&#8221; their whole careers without a product manager or designer running interference, may be better prepared for it than the developers currently writing the tooling.</p><h2>Key takeaways</h2><p><em>Lightly edited for clarity.</em></p><h3>Give us your bio.</h3><p><strong>Emilie Schario:</strong> I&#8217;ve done a lot of things over the years. My claim to fame, at least in the dbt community, is that I was person number 52 in the dbt Slack and was pretty early on the GitLab data engineering team. I held a number of roles at GitLab, went on to spend some time at Amplify, started my own company, raised a couple million dollars, and we were acquired by Settle. I left Settle and landed at Kilo, where I was co-founder and led product and engineering. Most recently, we just announced two weeks ago that Kilo was acquired by Anaconda, bringing all the best of agentic engineering into the Anaconda universe, which will be familiar to folks in the dbt universe who are also using Python.</p><h3>What&#8217;s kilo speed, and how does it feel different to work inside an AI company?</h3><p><strong>Emilie Schario:</strong> We have this saying at Kilo, kilo speed, which is kind of like your drive to work when you don&#8217;t hit any red lights. Everything is working, it&#8217;s smooth, there&#8217;s no friction. Working in AI is working with people who are trying to create that environment: no painful processes that slow you down, no checklist for the sake of having a checklist. It&#8217;s about looking at what needs to be accomplished, assuming everyone in the room is an adult, and creating the perfect environment for people to move through it as quickly as possible, whether that&#8217;s a feature to a customer, an order form to an enterprise, or something for an auditor in compliance. The sooner we get something out there and into a user&#8217;s hands, the sooner we get feedback and can make it better.</p><h3>Is kilo speed a natural outcome of being an AI company, or something you have to pursue on purpose?</h3><p><strong>Emilie Schario:</strong> We are actively working on it. When people hit friction, we have to decide we&#8217;re going to make it better. It&#8217;s not just the people we&#8217;ve got around the team, it&#8217;s that the people we&#8217;ve got are also actively choosing to pursue this all the time, whether that&#8217;s in their work, in a process they&#8217;ve identified, or in how they handle email or create a new Slack channel. Those are all outflows of our kilo values, and they&#8217;re what we&#8217;re hiring for. So there&#8217;s probably a bit of chicken and egg: we&#8217;ve got the right people who want to work this way.</p><h3>Walk me through the product and engineering process. What does it actually look like day-to-day?</h3><p><strong>Emilie Schario:</strong> We&#8217;re an org of about 20 engineers, and there is only one person with the word &#8220;product&#8221; in their job title, handling a shared core infrastructure piece. Otherwise, every engineer is responsible for their own area. Someone on our cloud agents team decides day-to-day what the roadmap for cloud agents looks like, and he&#8217;s the one in Discord responding to user feedback. When tickets come in via support, they&#8217;re escalated to him. When there&#8217;s a bug report, he&#8217;s handling it. He really owns the whole product. Some companies call these product engineers. We just think of it as our default way of operating.</p><h3>That&#8217;s normally four or five different people&#8217;s job.</h3><p><strong>Emilie Schario:</strong> At least, if not eight or ten. And it&#8217;s not just about having more people, it&#8217;s the additional communication and coordination that comes with more people. One engineer can do this and go faster than ever before, with a wider mandate, because he&#8217;s got a team of AI agents working for him and with him all the time. I think about the first eight years of my career, where at the end of every workday you wrapped everything up with a nice bow. Now, at the end of every workday you&#8217;re thinking about what you&#8217;ll kick off a set of agents to work on overnight. You start your day, kick off another set, and then review what the first set gave you back. You don&#8217;t have a bunch of ICs anymore. You have a bunch of managers, whether they&#8217;re managing individuals or agents.</p><h3>Of your 20 engineers, does anyone have less than three years of experience? Is this the death of the junior software engineer?</h3><p><strong>Emilie Schario:</strong> The average engineer at Kilo has 15 years of professional experience. The least-experienced engineer has 10. We&#8217;re also a fully remote organization, and it is so hard to onboard new people that way. You worked with me at the earliest stage of my career, and I remember very clearly being taught by you what a window function was. I probably would have already known that if I&#8217;d had a weekly meeting with a bunch of more senior folks in person, but I was working remotely at the earliest stage of my career. There are invisible things about learning how to work that are so much harder remotely. Kilo is a globally distributed org, so we&#8217;ve really indexed for seniority. I don&#8217;t know what it looks like to have early-career hires in this world. I&#8217;m optimistic we&#8217;ll figure it out as an industry, because we can&#8217;t only hire seniors. We have to build juniors into seniors along the way.</p><h3>Who&#8217;s going to take the first risk on early-career hiring in this environment?</h3><p><strong>Emilie Schario:</strong> I&#8217;m excited to see programs like Ember Fellows, which grew out of Venture for America after VFA shut down. They still have a city component, getting people in person, because a lot of people prefer to learn that way, or it&#8217;s just easier to get people started in person. There&#8217;s the hiring piece, how you give people the skills, and then there&#8217;s the remote piece, which makes it that much harder for us to hire early-career folks at Kilo specifically.</p><h3>What did running the data team at Netlify teach you? What did you find challenging about it?</h3><p><strong>Emilie Schario:</strong> My biggest concern was always the &#8220;so what from here&#8221; for my career. As people who know me will tell you, I&#8217;ve got ambition coming out of my ears. Someone once told me, if you&#8217;re going to be a bear, be a grizzly, and I think about that all the time. I remember looking around and asking myself: so what do I want to do next, lead a bigger data org, lead more data people? What does that even mean? We were a very impactful team at Netlify. I had an incredible group of people who&#8217;ve gone on to do phenomenal work at dbt Labs, at Brooklyn Data Co., and at lots of other companies. I think I left data less because I stopped seeing it as my next career opportunity, and more because data had given me a bunch of skills I thought I could apply to other domains.</p><h3>What was your mandate at Amplify Partners?</h3><p><strong>Emilie Schario:</strong> My role was, in a lot of ways, to be a consultant for the different companies in the portfolio. I built internal playbooks, hiring your first data person, building an early data stack, things their portfolio companies could reuse over and over. I also worked with founders in and outside the data space. At the time I worked with Hex on some of their new hires, adding a voice to the interview process. I was also the target persona for a lot of those data products, so I worked with Hightouch on their messaging and reacted to their early positioning. It wasn&#8217;t just data companies. I worked with Prisma as they set up their earliest data team. Almost all of my work was with companies already in the existing portfolio, occasionally talking to a founder before they were invested so they could learn how I like to work across a portfolio.</p><h3>That&#8217;s the dream: analytics consulting without the sales.</h3><p><strong>Emilie Schario:</strong> I really enjoyed the role for a set amount of time, but builders like building. I realized at the end of it that I missed being part of a team, growing a company, watching the revenue, building product. I don&#8217;t think I understood how important those things were to me until I spent a year at Amplify and there weren&#8217;t new people joining Slack every Monday, or someone else to have a coffee chat with. It&#8217;s a very different job, focused on meeting people outside the org rather than inside it. I get a lot of joy from that in-house building experience.</p><h3>What do you walk away with from your couple of years founding an ERP company?</h3><p><strong>Emilie Schario:</strong> It&#8217;s going to take an unfathomable amount of money. Try not to compete with NetSuite unless you have a gajillion dollars in the bank already. I think accounting overall is hard, though there&#8217;s interesting work happening: Tiger Beetle doing database work for transactions broadly, Fragment.dev on ledgers, Puzzle doing automated AI competing more directly with QuickBooks than with the more complex layer of accounting. There&#8217;s a hearts-and-minds battle that isn&#8217;t a technological one: how do you convince someone who&#8217;s been doing this for 10 or 15 years, in an old-school industry like supply chain or finance, that NetSuite isn&#8217;t the inevitability? I never cracked that code, even in my own mind. I talked to one brand that told me, yeah, we moved to NetSuite too early, but now we&#8217;ve hired four consultants and don&#8217;t see a path back to QuickBooks. Battle scars galore.</p><h3>Benn Stancil has written about whether data people make good founders. Did your data experience help you step into the founder&#8217;s seat?</h3><p><strong>Emilie Schario:</strong> Absolutely. I always looked at data as problem solving: what&#8217;s the best indicator for customer health, let&#8217;s break that apart, what numbers do we have, what do we need, how do we get to the core of the problem, and what&#8217;s the best indicator we have that&#8217;s reproducible. That&#8217;s true all the way back to my college senior thesis, which asked what behaviors indicate whether a woman will vote regularly. </p><p>It&#8217;s about breaking a problem into its component parts to figure out what happens next, or what you can change or make better. As long as you see data as that kind of work, then yes. But I&#8217;d bucket that as &#8220;startup data people&#8221; broadly. If you think of data as someone filing a ticket to update the filters on a dashboard, and you just do it without knowing how they use the dashboard or what problem they&#8217;re solving, that&#8217;s a very different persona, and you&#8217;re just a number cruncher. </p><p>Understanding how much you care about the why is what predicts whether you&#8217;ll be a founder, more than any specific skill you have.</p><h3>Tell us the Kilo founding story.</h3><p><strong>Emilie Schario:</strong> Kilo was originally founded by JP Posma, who was working on the Vesuvius Challenge with Nat Friedman and Sid Sijbrandij. JP had a family circumstance come up and had to step away. I was in Sid&#8217;s orbit at the time, having just left Settle. Sid asked me to step in as CEO temporarily and keep things running while we hired someone permanent. I wasn&#8217;t very interested in the role at that point. I&#8217;d just come off Settle, I had three very little kids, and my husband was transitioning things at his work. It wasn&#8217;t a fit for me at the time, but I said I&#8217;d step in for a short period and get things going.</p><h3>Tell us about Sid.</h3><p><strong>Emilie Schario:</strong> Sid is still executive chairman at GitLab. He&#8217;s a general partner at Open Core Ventures, which has started 30 to 50 companies over the last couple of years, all around open source. He also has Even One Ventures, focused on the biosphere. Sid has had a very public cancer journey, and he&#8217;s in great shape now, but he&#8217;s shared a lot about what he&#8217;s doing there.</p><h3>How did Scott Breitenother end up joining as CEO?</h3><p><strong>Emilie Schario:</strong> I told myself I was there temporarily, got the ball rolling, and started thinking about who the best CEOs I know might be to bring in permanently. I texted our good friend Scott: &#8220;Hey Scott, I&#8217;ve got a crazy idea, you want to hop on a call?&#8221; He said, &#8220;Yeah, how about in an hour,&#8221; and we hopped on a call. I made the introduction. There are lots of things I enjoy about Kilo, but my favorite has to be working with Scott day in and day out. We probably talk ten times a day. I talk to Scott more than anyone besides my husband at this point. He took over as CEO and really transitioned the business from a project to a business, leveling up from an open-source project with a couple of commercial features into an agentic engineering platform. He&#8217;s led the business and go-to-market side, and I&#8217;ve led product and engineering. Somewhere along the way, in my words, not his, he called me out on my nonsense, and we all realized this wasn&#8217;t temporary, so I committed to joining permanently. Two or three weeks ago we announced the Anaconda acquisition, so it&#8217;s been a kilo-speed run of a company too.</p><h3>How does Kilo differ from something like Claude Code or Codex?</h3><p><strong>Emilie Schario:</strong> When you use Claude Code or Codex, you&#8217;re using software built by a lab that only has that lab&#8217;s models available in it. Anthropic makes Claude Code and gives you access to their own models, Opus, Sonnet, Haiku, and so on. If you want to use Anthropic&#8217;s models in the morning and OpenAI&#8217;s models in the afternoon, you have to switch software. </p><p>With Kilo, we think models change, but your workflow shouldn&#8217;t have to. You can use the Kilo platform with over 500 models, including the big labs but also a much broader list, like Minimax, GLM, Poolside, and Kimi. In terms of platform, we&#8217;re a VS Code extension, a JetBrains extension, a web interface, a CLI, a mobile app, and a browser extension. We try to be everywhere you are.</p><h3>Did it seem sane that a small player could compete with the giants of the industry?</h3><p><strong>Emilie Schario:</strong> I was already very AI-pilled. I was a daily user of Cursor at that point. I&#8217;d had my third son in fall of 2024, and I&#8217;m not very good at maternity leave, so I made AI my project. I started experimenting with Bolt.new and Cursor, and by the time I came back I told my boss at the time, I&#8217;ve seen the future and it&#8217;s AI and we need every developer to change how they work. You can imagine how well that went over. I made it my mission over the next three or four months to push AI adoption, and it was incredible. </p><p>I also started automating things at home, the household calendar, the grocery list, paper cuts I&#8217;d previously just lived with, by outsourcing them to a script or an agent. So when Sid&#8217;s call came in, in September 2025, I said yes, I know the coding agent space, even though I was candidly less familiar with Kilo specifically, which was still early in its journey. In some ways the answer to &#8220;why not compete&#8221; is just, why couldn&#8217;t you? Sure, you&#8217;re outnumbered, but I remind myself we&#8217;re still so early in AI that the last three or four years won&#8217;t even be in the history books.</p><h3>Can you talk about Kilo&#8217;s open source roots?</h3><p><strong>Emilie Schario:</strong> Kilo, in its earliest days, was a fork of a fork. There was a project called Cline, an open source coding agent. Roo forked Cline because Cline didn&#8217;t take community contributions, and Roo built a real community around that. Kilo was then a fork of Roo, focused on community contributions with a slightly different product vision. Those were the building blocks for a long time, but Kilo is no longer a fork of Roo. We use parts of the open code server under the hood, which has been true since February of this year. </p><p>At our core, though, the team and Sid&#8217;s own approach are focused on the mission that if you make things open, you make it better for you and for everyone who wants to leverage the product. </p><p>As someone who contributed to dbt before 1.0, all my contributions were features I wanted, not necessarily things on your roadmap, and I see that pattern in our own contributors. There are still plenty of open source or open-core coding agents: Cline is still alive, Roo sunset their coding agent in favor of a remote product, and there&#8217;s Pi, which ships inside OpenClaw, plus Open Code. I&#8217;m excited to see open source continue to grow here.</p><h3>How does it work to build across so many models? Do you have something like a dbt adapter?</h3><p><strong>Emilie Schario:</strong> We do. We can adjust the system prompt based on the model itself, and we work with the labs before models come out so we can make those adjustments in advance. Not every lab, but with most of the major ones we have early-access programs and real relationships. </p><p>We&#8217;re often testing models for weeks before they&#8217;re generally available, both so we know it works well in Kilo on day one, and so we can make the adjustments that give it that level-up experience: how the system prompt needs to change, what additional tools or skills need to be available. </p><p>It&#8217;s not uncommon for our whole engineering org to spend a day running on some model with a funky code name, share feedback in a Slack channel, and have our head of partnerships take that back to the lab. That might be the final checkpoint before launch, or an intermediate one while they&#8217;re still tweaking.</p><h3>So this isn&#8217;t a world where Kilo can independently build product, similar to how dbt can&#8217;t independently build product without a compute partner.</h3><p><strong>Emilie Schario:</strong> Interestingly, I like to joke that we have as many shared Slack channels with model providers as we do internal Slack channels. What a time to be building, that there are so many people building models right now that we can set up shared channels with all of them, so that when their models come out on day one, it&#8217;s a great experience in Kilo.</p><h3>Does the open-model bet track with dbt Labs&#8217; own argument for open data infrastructure, that you don&#8217;t want pipelines tied too tightly to compute?</h3><p><strong>Emilie Schario:</strong> The key difference, I think, is that with data and open infrastructure, the worry is about not wanting to get locked in by a vendor. With models, I don&#8217;t think people are as worried yet about vendor lock-in specifically. If you&#8217;ve got a big AWS commitment, bring your AWS key into Kilo and drain against that commitment, that&#8217;s fine. It&#8217;s more that I don&#8217;t know what the best model is going to be three months from now, or the best bang for your buck. Preserving that optionality is less about a specific vendor concern and more about the freedom to choose the right model for the task, especially as companies start thinking harder about AI ROI. </p><p>Earlier this year we were talking about token-maxing, getting everyone spending more. Now it&#8217;s shifted to efficient AI spend, which makes me even more convinced that the thing that matters is using the right model for the task, the one that can complete it successfully without overspending. </p><p>I like to use knives as an example: you&#8217;re not going to slice a crunchy sourdough with a tomato slicer, and you&#8217;re not going to slice a beautiful July tomato with a bread knife. You need the right tool for the task, and model selection is part of that. We have an auto-efficient model in Kilo that can route on your behalf.</p><h3>What&#8217;s the Kilo business model?</h3><p><strong>Emilie Schario:</strong> If you&#8217;re an individual, you can create a Kilo account and use the software free forever. Teams and enterprise customers pay for software features, a set price per seat per month. When it comes to actually using models, you can bring your own key, an Anthropic key, an OpenRouter key, or another subscription, and use that in Kilo. You can pay as you go, putting in a set amount and draining it down. Or you can buy a Kilo Pass, a monthly credit subscription where you get some bonus credits built in.</p><h3>What&#8217;s a great way to see how different models actually perform on the same task?</h3><p><strong>Emilie Schario:</strong> One of my favorite things when a new model launches is our Agent Manager, which lets you give the same prompt to multiple models at once. I have a vanilla prompt: create a snake game, use only vanilla JS, make it beautiful, I&#8217;m a 33-year-old woman, design it in a UI I&#8217;d like. I&#8217;ll give that exact prompt to several different models and see what comes back, how long each one takes. They run in different git worktrees so they&#8217;re not stepping on each other. It&#8217;s a great way to see how differently models actually perform, because the results are drastically different even from an identical prompt.</p><h3>Do you experience imposter syndrome stepping into this space, and do you have advice for others going through it?</h3><p><strong>Emilie Schario:</strong> Every second of every day. I think that&#8217;s where being surrounded by the right people matters. I&#8217;ve been lucky to work for people, yourself included, who were willing to say &#8220;I don&#8217;t know,&#8221; and that set an example: the smartest person in the room doesn&#8217;t have to have all the answers. </p><p>I&#8217;ve had plenty of moments of imposter syndrome, but more than anything I&#8217;ve embraced my willingness to say I don&#8217;t know, make the best decision I can with the information I have, and be willing to change my mind. Having a team around me helps too, which is part of why I talk to Scott ten times a day, going to him, getting his thoughts, and vice versa. If you want to go fast, go alone, but at Kilo, between Scott, Sid, and me, we&#8217;ve found a way to go fast as part of a team.</p><h3>What are the most useful things software engineers are doing today that data people haven&#8217;t caught up on yet?</h3><p><strong>Emilie Schario:</strong> Good question. I actually think it&#8217;s the reverse in one important way. Every data person I know is much more multi-threaded than software engineers have ever had to be. Data folks are toggling between an ask from marketing, an ask from the VP, and an ask from finance in a way software engineers have largely been protected from. </p><p>One of the big pain points I hear from software engineers right now is context-switching that feels overwhelming, because it&#8217;s not something they&#8217;ve had to do before. As data people move up the AI-engineering maturity curve, I&#8217;d expect them to jump into managing many parallel agents in a way a typical software developer has struggled with, because data people have already been doing something like it. </p><p>If we&#8217;re all becoming managers, that&#8217;s something data people are probably already comfortable with, because they haven&#8217;t had a product manager or a designer running interference. They&#8217;ve been out there figuring it out for themselves. Manager of one, already.</p><h2>Chapters</h2><p><em>Timestamps are keyed to speaker-turn changes in the recorded transcript, so a mark shows when a topic&#8217;s turn begins, not necessarily the exact word. Verify against the edited cut before publishing.</em></p><p>00:00 Welcome, and Emilie&#8217;s podded bio<br>01:25 From traditional infra companies into an AI company<br>02:05 What &#8220;kilo speed&#8221; means<br>03:37 Kilo speed as a deliberate choice, not a natural outcome<br>05:20 Could this have happened at GitLab or Netlify?<br>05:55 The product-engineer model: one PM, 20 engineers<br>08:03 &#8220;You don&#8217;t have a bunch of ICs anymore, you have managers&#8221;<br>08:28 Is this the death of the junior software engineer?<br>09:58 Remote work and the difficulty of onboarding early-career hires<br>10:52 Who takes the first risk on junior hiring?<br>12:01 Emilie&#8217;s path: Smile Direct Club, Doist, GitLab, Netlify<br>12:47 What running a data team at Netlify taught her<br>14:30 A year at Amplify Partners, across the portfolio<br>16:10 &#8220;The dream&#8221;: analytics consulting without the sales<br>17:28 Founding Turbine, and the lesson about NetSuite<br>19:33 Ben Stansel&#8217;s question: do data people make good founders?<br>22:34 The Kilo founding story: Sid&#8217;s call, and &#8220;temporary&#8221;<br>23:15 Sid Sijbrandij: GitLab, Open Core Ventures, Even One Ventures<br>24:36 Texting Scott Breitenother: &#8220;I&#8217;ve got a crazy idea&#8221;<br>26:44 From project to business, and the Anaconda acquisition<br>27:08 How Kilo differs from Claude Code or Codex<br>29:20 Was it sane to compete with the giants?<br>30:02 AI during maternity leave, and &#8220;I have seen the future&#8221;<br>31:32 Automating the household calendar and grocery list<br>34:16 &#8220;Why couldn&#8217;t you&#8221;: still early in AI<br>34:37 Kilo&#8217;s open source roots: Cline, Roo, and a fork of a fork<br>37:21 Three million users, and open source coding agents<br>38:11 Working with model labs before launch<br>40:11 Building product in partnership with the labs<br>41:04 The dbt parallel: open data infrastructure vs. open models<br>42:32 The Cursor and SpaceX acquisition, and the Grok data joke<br>44:53 What&#8217;s the Kilo business model?<br>47:02 The right model for the task, not the cheapest one<br>48:44 Agent Manager: the same prompt across multiple models<br>49:39 Imposter syndrome, and the value of saying &#8220;I don&#8217;t know&#8221;<br>52:09 What software engineers do that data people haven&#8217;t caught up on<br>53:11 The flip: data people as natural multi-threaded managers<br>54:21 Closing thoughts</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Roundup: The post-AI data stack, physical AI, and the fight over data centers ]]></title><description><![CDATA[The political fight over data centers, the shape of the post-AI data stack, claims of physical AI, and an update on the OpenAI/Hugging Face incident.]]></description><link>https://roundup.getdbt.com/p/roundup-the-post-ai-data-stack-physical</link><guid isPermaLink="false">https://roundup.getdbt.com/p/roundup-the-post-ai-data-stack-physical</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Fri, 04 Sep 2026 13:03:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/iz4MDYT45Uw" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Four stories this time: a new company called Accelerated Understanding and its claims about a model that simulates physical reality; the political fight over data center construction; Ian Macomber&#8217;s widely shared post on the shape of the post-AI data stack; and an update on the OpenAI/Hugging Face incident, including new reporting on chain of thought monitoring. Quick note: This episode was recorded before NVIDIA&#8217;s acquisition of Hugging Face was announced. </p><div><hr></div><p><strong>Tristan and Jason are doing a live version of the podcast at dbt Summit. dbt Summit runs September 15&#8211;18 at The Cosmopolitan in Las Vegas. <a href="https://www.getdbt.com/dbt-summit">Register now with a 25% discount using the code dbt26-podcast</a><span>.</span></strong></p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-iz4MDYT45Uw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;iz4MDYT45Uw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/iz4MDYT45Uw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Topic one: The case for physical AI</h2><p><a href="https://acceleratedunderstanding.com/">Accelerated Understanding</a>, founded by former NVIDIA scientist Anima Anandkumar and Benedikt Jenik, launched to build AI that can simulate and understand physics well enough to &#8220;invent and discover.&#8221; The company describes its architecture as built on neural operators rather than the transformer architecture behind most large language models, and claims it can process up to 5 trillion data points in a single prompt, a scale meant to dwarf typical LLM context windows. Initial focus is enterprise use cases in chip design, robotics, extreme weather, and energy.</p><h3>Condensed transcript</h3><p><strong>Jason Ganz:</strong> There&#8217;s kind of two parallel threads in my stories today. One is the overall emergence of the AI landscape and how rapidly things are changing, and the second is how we make sense of that as data practitioners and in our own lives. The first thing ties into something you said, Tristan, at the end of our last episode: that it&#8217;s good to be in this world where things were pretty fuzzy and now we&#8217;re starting to get the shape of it. That&#8217;s true of the existing set of models and technologies, we can see the trajectory. What I keep coming back to is the possibility of an architecture change or a breakthrough that really changes how we think about things. And we got the launch of a company since we last talked, called Accelerated Understanding. They say it&#8217;s AI that can simulate and understand physics to invent and discover. If an LLM is generating a one-dimensional token stream, and a video model is generating a two-dimensional representation of a static world over time, this is actually representing a full 3D scene. What they claim is that this can let us transcend a lot of the limitations we&#8217;ve seen with LLMs, opening up use cases in robotics, biology, and a wide variety of domains.</p><p><strong>Tristan Handy:</strong> I hadn&#8217;t heard of this company before you brought it up, and while you were explaining it I was walking through their website. I should know better than to say things like &#8220;we&#8217;re starting to get a handle on this, aren&#8217;t we?&#8221; Because yes, we do start to get a handle on things, and then the phase shifts come, and they&#8217;re coming so rapidly they shouldn&#8217;t be unexpected at this point. I do think it&#8217;s very credible that current technology doesn&#8217;t deal well with the physical world, Yann LeCun was saying that on a long-form podcast over a year ago. Do you have a sense of the status of the actual company and the technology?</p><p><strong>Jason Ganz:</strong> My understanding is they&#8217;ve been funded by NVIDIA and are in the process of coming out with a product. I don&#8217;t get the strong sense that this is the breakthrough we&#8217;ve been talking about, it might be, it might not be, but it came out of left field. One of the claims they made is that this format has a nearly infinite context window. And when you have a nearly infinite context window, that changes so many of the things we think we know. That&#8217;s one of the biggest ways we&#8217;ve shaped our beliefs about what&#8217;s true in AI, that there&#8217;s this thing called the context window, a relatively defined size, and we&#8217;ve built a whole scaffolding of skill files and agents.md and compacting around it. My intuition tells me we&#8217;re going to keep dealing with context windows as we know them for a while, but it&#8217;s one of the interesting things about the era we&#8217;re in, understanding the current moment while staying open to the fact that things could shift.</p><h2>Topic two: the political fight over data centers</h2><p>Two posts on X kicked off this segment: one from <a href="https://x.com/12Palehorse/status/2093368505303179458">Danny Penny</a>, who works on a16z&#8217;s American Dynamism team, arguing data centers are good for the working class and for American manufacturing, and one from <a href="https://x.com/GavinSBaker/status/2094081116164460995">Gavin Baker</a>, managing partner and CIO of Atreides Management, arguing that the facts on water usage, tax revenue, and power have shifted substantially in data centers&#8217; favor over the past 18 months.</p><h3>Condensed transcript</h3><p><strong>Tristan Handy:</strong> There were a couple of posts on X that I fundamentally agree with, but that I was happy to see. Jason, you and I are both of the political leaning that would like to see more high-quality conversation and consensus across party lines instead of fracturing, and there&#8217;s this weird thing where the one topic that many, many people in the US seem to agree on right now is that data centers are bad. I don&#8217;t actually believe that, but I have a lot of sympathy for people who do, so it requires some nuance. One post is by Danny Penny, who was recruited into a16z to work on their American Dynamism fund. The other is by Gavin Baker, who I believe is the managing partner and CIO of Atreides Management. </p><p>Both took a positive view: Danny&#8217;s argument is that data centers are good for the working class because they generate a huge number of trades jobs, and that this is what physical manufacturing looks like in the 21st century. Gavin echoes that, but also says that 18 months ago the facts were different, and most of what was true of data center projects back then isn&#8217;t true anymore: water usage is much better than people generally believe, and he shares data on tax revenue, jobs, and power, including how current projects often generate their own power. I&#8217;m not here to litigate the specifics. The bigger point is that the facts are changing rapidly, and if you&#8217;re relying on an eighteen-month-old mental model of the world, that&#8217;s not going to serve you very well today.</p><p><strong>Jason Ganz:</strong> I&#8217;ve experienced a tremendous amount of agita about this, because I personally believe we should be building these things, a lot of them. At the same time, what we&#8217;re seeing from people is undeniable, and it&#8217;s a reaction to a lot of things: traditional NIMBYism, but also anger at a broader loss of trust in elites. I was listening to a podcast with a woman named Jasmine Sun on Ezra Klein&#8217;s show, talking about a town where a company said they&#8217;d build a robotics factory and only built half of it. This is coming after people feel that social media and the internet made their lives worse, and in some ways this is a reaction against that, even as it&#8217;s ripping apart our institutions. People are wrong about the water usage, but the thing they&#8217;re feeling, that this is a massive shift and they&#8217;re scared, is fully correct. Nobody can honestly tell them it&#8217;s all going to be fine.</p><p><strong>Tristan Handy:</strong> The way I&#8217;d summarize your response is: while the facts may support the argument that data centers are good, the context, whether it&#8217;s history or the political moment, is stacked up against the issue right now. And I completely agree with that. The additional fact I&#8217;d throw on the pile is that there&#8217;s demand booked out through at least 2028, if not 2030, measured at multiple stages of the pipeline, chips, memory, data center orders, capacity from the labs. The three big hyperscalers are probably the most sophisticated forecasters of compute demand in history, and they&#8217;re generally good at this. This issue isn&#8217;t going away, and it&#8217;s going to be a decade-long story we as a society need to come to a real reckoning with.</p><h2>Topic three: Ian Macomber on the shape of the post-AI data stack</h2><p>Ian Macomber, who leads data at Ramp and was a recent guest on this podcast, published <a href="https://www.iandmacomber.com/blog/post-ai-data-stack/">The Shape and Feel of the Post-AI Data Stack</a> on his personal blog, tracing the evolution from the pre-modern and modern data stack eras to what he argues comes next: the same foundation, extended to unstructured data and a new set of agentic interfaces.</p><h3>Condensed transcript</h3><p><strong>Jason Ganz:</strong> We got a post from Ian Macomber, who&#8217;s at Ramp, on his personal blog, on the shape and feel of the post-AI data stack. I really love this post as an encapsulation of what we&#8217;ve learned about how great data teams are going to need to operate in the post-AI world. Ian does a good job breaking down how this is an evolution of the data stack practitioners have used for years, walking through the pre-modern data stack, before cloud data warehouses, through the modern data stack most listeners are well acquainted with. </p><p>What&#8217;s really interesting is the post-AI data stack: today&#8217;s data teams have two jobs, enable everyone to build with data and AI accurately, powerfully, and independently, and build and champion the singular reality their company operates on. That&#8217;s a big goal, pretty different from writing dashboards and reports. The real big change is on the interfaces side: your interfaces aren&#8217;t just dashboards, reports, and spreadsheets anymore, they&#8217;re coworkers, including AI and agentic coworkers, coding agents, Slackbots, and AI-native BI tools. Your job goes from creating the canonical reports your business uses, which isn&#8217;t going away, to also building the data reality layer your agents are going to use on top of it.</p><p><strong>Tristan Handy:</strong> It has that funny quality that many really foundational posts have, where when you read it you think, yeah, this is basically what I had in my head, there&#8217;s not some dramatically new idea in it, but it&#8217;s comprehensive and simplifying. It&#8217;s an excellent distillation of what data teams should be doing right now. I think some of the best material is in the latter half, where Ian argues the post-AI data stack has to have agent-operable tools. </p><p>We&#8217;re all familiar with MCP, fine, but the really great quote in here is: &#8220;I really don&#8217;t want to use your agent. I want to use my agent to use your thing.&#8221; There are so many tools today that want to be an end-to-end solution: write your entire semantic layer in their proprietary language, keep all your models and dashboards in their tool only, send all your stakeholders to their tool only. I just don&#8217;t believe that&#8217;s how this plays out. That learning loop between your company&#8217;s data and how AI operates on top of it is too valuable, and user behavior is too dispersed, to bring everything into one closed ecosystem.</p><p><strong>Jason Ganz:</strong> That&#8217;s exactly right. Even if you got the perfect data agent platform, all locked up, the set of use cases across your whole business has to be widely accessible. That gets into my other favorite quote from this: &#8220;Don&#8217;t walk your intelligence into someone else&#8217;s interface.&#8221; Your organizational data and context is the unique value you bring, and it&#8217;s going to power your agentic workflows, so having that in an architecture where you own your context and your evals means you can use them flexibly across whatever interfaces come next. Ian named four interfaces in the post, but we don&#8217;t know what interface is coming tomorrow, and preserving that optionality is going to be very important.</p><p><strong>Tristan Handy:</strong> There&#8217;s one other thing I want to talk about, because while this purports to be a post about technology, I think it may be even more important as a discussion of who we are as data practitioners and how valuable we are in the new era. That conversation often gets treated like a pat on the back, &#8220;you&#8217;re smart, we&#8217;ll all figure it out together,&#8221; with no real truth value behind it. This post really starts to map out what data practitioners will actually be doing to create value in the future. </p><p>It makes me think back to the early days of dbt, my thesis was always that if you give data practitioners tools that let them create more leverage inside organizations, that lets them create more value for those organizations, which lets them get promoted and paid more and build more meaningful careers than data people had in 2005 or 2010. I think we see a roadmap here for how data people create value for the next five to ten years, and it shifts toward encapsulating unique knowledge into agent-readable formats, and away from answering discrete questions directly for stakeholders.</p><p><strong>Jason Ganz:</strong> And this isn&#8217;t hypothetical. Ian writes that if you&#8217;d told him two years ago his CEO would bring up REM semantically on podcasts, or his IR team would bring it up on investor calls, he&#8217;d have been shocked. This is a way he&#8217;s actually used to provide increased organizational value in a way that&#8217;s legible to his team, we have proof points at one of the hottest companies in the world that this is happening.</p><h2>Topic four: an update on the Hugging Face incident</h2><p>New reporting has added detail to the OpenAI/Hugging Face incident the pair covered previously: roughly 700 of some 1,200 coordinating agents took part in compromising Hugging Face&#8217;s Artifactory package manager, exchanging more than 70,000 messages in the process. Separately, <a href="https://techcrunch.com/2026/09/02/openais-new-reasoning-technique-alarms-ai-safety-experts/">reporting from The Information, via TechCrunch</a>, describes a technique called &#8220;recurrent depth&#8221; in OpenAI&#8217;s upcoming Astra model, which loops the same transformer layers over a hidden internal state multiple times before producing an output token, a design that makes chain of thought harder to monitor.</p><h3>Condensed transcript</h3><p><strong>Jason Ganz:</strong> In the weeks since we last talked about this, it&#8217;s become the breakthrough story of the year for AI, or one of a short handful of them. We&#8217;ve seen numerous reports on the actual technical details of how the Hugging Face incident was pulled off, based on a rigorous investigation on top of the chain of thought of the agents involved, the logs, transcripts, and tool calls. It&#8217;s fascinating to see how they coordinated on this message board, how they determined which agents would sacrifice themselves to gain more information about how things worked at Hugging Face.</p><p><strong>Tristan Handy:</strong> We&#8217;re going to get into this, but there&#8217;s definitely information that&#8217;s come out since the last time we talked about it, that it&#8217;s worth spending thirty minutes digesting if you haven&#8217;t already. The message board that was being used, in the Artifactory package manager, had something like 700 agents posting 70,000 messages, that&#8217;s part of where this postmortem research came from. Is it true that researchers were also able to monitor the chain of thought of these agents, and that&#8217;s where some of this is coming from?</p><p><strong>Jason Ganz:</strong> I believe so, though I&#8217;m not entirely certain. Something we do know is true, and it&#8217;s a late-breaking story that&#8217;s sparked a ton of discussion, is that the ability to monitor chain of thought is increasingly critical for understanding these systems. Just last night, September 1st, The Information published a piece about a technique OpenAI is supposedly using in Astra, their new model release. It&#8217;s called recurrent depth, doing multiple passes within the layers of the neural network instead of a single forward pass. </p><p>What this gets at is something people have talked about for a long time: the degrading capability to monitor chain of thought as you make these models more performant. The concern is that techniques like this lead us closer to a world where it&#8217;s difficult to monitor that chain of thought, adding opacity to an already pretty opaque situation.</p><p><strong>Tristan Handy:</strong> One question I had looking into this: this coordinated agent behavior was going on for a long time without apparently triggering humans to get involved, even though there were multiple points where the agents&#8217; behavior did cause humans to need to do things, like rebuilding and patching Artifactory once it was compromised. That didn&#8217;t trigger a real understanding of what was going on, so for something like a month this went basically undetected. </p><p>As I looked into it more, it&#8217;s fascinating because the original tests the agents were given were exploit-related, they were being evaluated against exploit gym, which makes it very challenging to know from simple log analysis what exploit behavior is appropriate and what isn&#8217;t. You realize how deeply you need to dig into motivations, intent, and sequence of actions to determine whether something is what you intended to happen during an evaluation, and chain of thought is one of the best ways to inspect that. You have to imagine that in a world where chain of thought becomes less outwardly inspectable, that becomes harder in something that&#8217;s already hard.</p><p><strong>Jason Ganz:</strong> Totally. The folks at OpenAI responded fairly quickly with compelling explanations of how this particular technique was being used, though neither of us is well equipped to evaluate the actual impact of recurrent depth on chain of thought. The amount of technical capability needed to audit these systems, to understand what tool calls are being used and in what sequence, was one of the most difficult parts of the Hugging Face investigation. The lead researcher on it reportedly called it a &#8220;slop investigation,&#8221; because the tools to do this well just don&#8217;t exist yet. </p><p>If there&#8217;s anything we&#8217;ve learned, it&#8217;s that we&#8217;re going to need real work on monitoring actions, outputs, and logs, and collapsing tremendous complexity down to something that can actually be understood. If you have a background working with large, complex data sets, there are interesting questions to ask about how to contribute to that understanding, both at the scale of frontier agent swarms and inside our own organizations as we give agents more autonomy.</p><p><strong>Tristan Handy:</strong> The conversation around evals in the data space is progressing. There&#8217;s increasing awareness that evals matter as we roll out agents and semantic layers to answer analytic questions, but the current status is something like: make sure you have them, make sure they cover a broad set of questions, run them in CI, and make sure the score doesn&#8217;t go down when you change your analytic repo. That&#8217;s a lot better than where we were a year ago, but it doesn&#8217;t answer why a score went down or how to make the fix that moves it back up. </p><p>We&#8217;re the stewards of the analytic system, and it&#8217;s going to have increasing pressure to perform better over time, which means this isn&#8217;t just going to be post hoc analysis of major security incidents, it&#8217;s going to be internal investigations into why an agent gave the wrong answer at a critical moment.</p><p><strong>Jason Ganz:</strong> Or why it offered a discount to this person, or why it created a new product that&#8217;s selling really well but we don&#8217;t understand why. We should just anticipate that the scope of the &#8220;whys&#8221; we&#8217;re going to have to answer about what these systems are doing is going to grow pretty big.</p><h2>Chapters</h2><p><em>Timestamps are from the raw recording and will shift once the episode is edited.</em></p><p>00:00 &#8211; Welcome back, episode three of the Roundup<br>01:13 &#8211; Topic one: Accelerated Understanding and physical AI<br>06:54 &#8211; Is this the breakthrough, or something else?<br>09:10 &#8211; The context window as an article of faith<br>11:16 &#8211; Topic two: the political fight over data centers<br>16:15 &#8211; Why the backlash isn&#8217;t irrational, even if the facts are wrong<br>21:13 &#8211; Compute demand booked out through 2028<br>23:02 &#8211; Topic three: Ian Macomber on the post-AI data stack<br>25:32 &#8211; Two jobs for the post-AI data team<br>30:51 &#8211; &#8220;I want to use my agent to use your thing&#8221;<br>36:10 &#8211; What data practitioners actually do next<br>40:07 &#8211; Topic four: an update on the Hugging Face incident<br>42:53 &#8211; 700 agents, 70,000 messages, and the Artifactory exploit<br>43:29 &#8211; Astra, recurrent depth, and why chain of thought monitoring matters<br>52:52 &#8211; Where evals need to go next<br>55:52 &#8211; Wrap-up and dbt Summit</p><div><hr></div><h2>Everything referenced in this episode</h2><p><strong>Topic one</strong><br><a href="https://acceleratedunderstanding.com/">Accelerated Understanding</a><br><a href="https://x.com/DeItaone/status/2092190630399066512">Walter Bloomberg on X: New AI model targets physics at massive scale</a></p><p><strong>Topic two</strong><br><a href="https://x.com/12Palehorse/status/2093368505303179458">Danny Penny on X</a><br><a href="https://x.com/GavinSBaker/status/2094081116164460995">Gavin Baker on X</a></p><p><strong>Topic three</strong><br><a href="https://www.iandmacomber.com/blog/post-ai-data-stack/">Ian Macomber: The Shape and Feel of the Post-AI Data Stack</a></p><p><strong>Topic four</strong><br><a href="https://www.bleepingcomputer.com/news/security/nearly-700-rogue-ai-agents-coordinated-in-the-hugging-face-attack/">BleepingComputer: Nearly 700 rogue AI agents coordinated in the Hugging Face attack</a><br><a href="https://techcrunch.com/2026/09/02/openais-new-reasoning-technique-alarms-ai-safety-experts/">TechCrunch: OpenAI&#8217;s new reasoning technique alarms AI safety experts</a></p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[You can't scale vibes (Guy Podjarny)]]></title><description><![CDATA[The co-founder of Tessl on why skills need the same lifecycle as code and why most companies will end up owning their own harness instead of renting one.]]></description><link>https://roundup.getdbt.com/p/you-cant-scale-vibes-guy-podjarny</link><guid isPermaLink="false">https://roundup.getdbt.com/p/you-cant-scale-vibes-guy-podjarny</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 27 Aug 2026 13:03:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/did7KxuOvCg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Guy Podjarny is the co-founder of Tessl. Before that he founded Blaze, a web performance company acquired by Akamai in 2012, and Snyk, a developer-first security company.</p><p>In his conversation with Tristan, Guy shares his model for how agentic development works. Models are the new operating system. Tools let agents act in the world. Context, the thing developers actually write and maintain, is what Guy argues is the new code. All of it is wrapped in a harness that sets the UX, the constraints, and the container. His central argument is that most teams already treat skills, the canonical unit of context, the way software gets treated before anyone takes it seriously: copied files, cloned repos, no versioning, no way to know if a change made things better or worse. He calls the failure mode, &#8220;the inability to scale vibes.&#8221;</p><p>He also argues, and Tristan tests the idea against dbt Labs&#8217; own experience building a purpose-built harness, that most companies will end up owning their harness rather than renting one from a frontier lab, as cost pressure and capable open-weight models like GLM 5.1 change that calculus.</p><blockquote><p><em>Tristan joined the <a href="https://www.superdatascience.com/podcast/sds-1021-how-dbt-won-analytics-engineering-with-dbt-labs-ceo-tristan-handy"><span>Super Data Science podcast</span></a> to trace analytics engineering back to its 2016 origins, explain why the semantic layer matters more in the agentic era, and break down how 12-kilobyte skill files are turning year-long migrations into six-week ones.</em></p></blockquote><div><hr></div><p><strong>dbt Summit 2026 is almost here.</strong><span> Connect with the world&#8217;s largest gathering of dbt users, September 15-18 at The Cosmopolitan in Las Vegas. Level up your data and AI work: </span><a href="https://www.getdbt.com/dbt-summit">Register now with a 25% discount using the code </a><strong><a href="https://www.getdbt.com/dbt-summit">dbt26-podcast</a></strong><span>.</span></p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-did7KxuOvCg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;did7KxuOvCg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/did7KxuOvCg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Three ideas from the episode</h2><p>1. <strong>Context breaks into three buckets, and each one is loaded with a different amount of force.</strong> Guy&#8217;s taxonomy: policies and practices are the decisions a team already made about how it works (API design, security policy, which framework to use); specs are documentation-style definitions of how a product or system behaves; and workflows are procedural sequences for tasks like incident response or a multi-step data job.</p><p>Layered on top is a separate question of forcefulness: rules get shoved into the context window on every single turn, skills are ready-made units that load on a hint, and passive docs just sit there for an agent to search if it needs them. A skill&#8217;s front matter, the YAML block at the top of a <code>skill.md</code> file, is the part that&#8217;s always loaded, which is also why a hundred skills competing for that same sliver of attention becomes its own problem.<br><br>2. <strong>Skills need the same lifecycle as code, or you&#8217;re just scaling vibes.</strong> A single developer iterating on their own prompts can get by on instinct: try a phrasing, see if the agent does better, move on. Guy&#8217;s point is that a skill only becomes valuable once it&#8217;s reused, shared, or handed to someone else to modify, and that&#8217;s where vibes stop working.</p><p>If a teammate proposes a change to a shared skill, there&#8217;s no way to know whether it made things better or worse without an eval. If cost suddenly matters, there&#8217;s no way to know whether the skill actually needs Opus or would run fine on GLM or DeepSeek. And skills carry real security exposure: malicious skills lifted wholesale from the open ecosystem, negligent skills that omit basic safety instructions, and vulnerable skills that guide an agent into pasting credentials somewhere they&#8217;ll end up in a log. </p><p>Treating a skill as a reusable unit of software, not a markdown file you hope stays relevant, is what pulls all of that under a lifecycle: versioning, quality review, dependency management, evals, security checks.</p><p>3. <strong>Most companies will end up owning a harness, not renting one.</strong> A team at dbt Labs wanted to build a dbt-specific harness, and his first instinct was that this was a bad idea, since general-purpose tools like Claude Code and Codex already work well. It turned out to be neither hard to build nor a wash, delivering meaningfully better accuracy and real gains in token efficiency. </p><p>Guy&#8217;s broader argument is that any organization running more than one kind of agent, coding, legal, DevOps, sales, will need to manage shared context and constraints across all of them, which no single frontier lab&#8217;s harness is built to do. The other force pushing the same direction is cost. Open-weight models like GLM 5.1 are now good enough that companies talk openly about swapping them in, something Guy says would have sounded like a confession a month earlier and now reads as forward-thinking.</p><p>Between focused agents that need shared context, real cost pressure, and the risk of over-relying on a harness built by a company that also sells the model underneath it, Guy expects building your own harness to become a core competency rather than a stopgap.</p><h2>Key takeaways</h2><p><em>Lightly edited for clarity.</em></p><h3>You&#8217;ve started multiple companies, all in developer tooling. Walk through that path.</h3><p><strong>Guy Podjarny:</strong> I&#8217;m a developer by trade. I started as a developer at an early AppSec company that got acquired, and got acquired again by IBM. In that process I moved into product, then briefly into a C-level role. At IBM I felt it was time to pursue something I wanted to do, which was start a company. I left to found Blaze, which focused on making websites faster. I took knowledge from the world of AppSec around application analysis and built an inline compiler for web pages to make them faster, and that got acquired by Akamai. I became CTO of about half of Akamai for three and a half years. </p><p>After Blaze and Akamai I got the itch to do it again, so I started a company and called myself CEO. That was Snyk, a software security solution helping developers build security into their development process. Snyk went well after a couple of years of wandering the desert and some near-death experiences, and it kept growing. About two and a half years ago I&#8217;d passed the CEO reins at Snyk to focus on product strategy, and I started working on AI and caught the bug. </p><p>The last step was accepting I&#8217;m an addict and leaving to found Tessl. We believe there&#8217;s a new software development paradigm forming, one that revolves around intent and instructions instead of code and implementation. Two years ago we didn&#8217;t know what that would look like. We just had conviction it would form, and that it&#8217;s exciting to build tools for it.</p><h3>What keeps you starting over?</h3><p><strong>Guy Podjarny:</strong> A glutton for punishment. I&#8217;ve thought about that a lot. I think fundamentally satisfaction comes out of struggle. You take on something hard that you believe matters, work hard on it, and if you succeed, you get that satisfaction. I was in a comfortable spot at one point, working part time, doing a lot of angel investing, learning a lot but not owning anything. Accepting that you can&#8217;t have it both ways, that you can&#8217;t have the comfortable life and still feel that drive, is a little bit of an addict&#8217;s behavior. You&#8217;re looking for that hit of satisfaction. </p><p>The other piece is that I&#8217;m driven by impact. When I think about how to achieve the most impact, there are a lot of ways to do it, including as an investor. But the way I best know how to do it is to take problems I can solve with technology and community, the two things I know how to do, and drive ahead.</p><h3>Why base Tessl in London and go co-located, when Snyk was built remote-first from day one?</h3><p><strong>Guy Podjarny:</strong> With Snyk we had a London office and a Tel Aviv office from the start, so it was naturally remote-friendly. We made a rule that no team would be entirely co-located, almost the opposite of what most companies do, because I was afraid of an us-versus-them dynamic I&#8217;d seen in past companies. That built good async habits early. With Tessl we made a conscious decision to be local and co-located here in London, though a few people, especially in go-to-market, are elsewhere. A big part of that is the speed of alignment and collaboration. </p><p>There&#8217;s a general truism in AI, and in any fast-moving space, that the importance and the cost of alignment is growing in relative terms. Getting a group of people in a room to agree on something costs the same as it always did, but the time it takes to build the thing afterward is much smaller, so the relative cost of alignment goes up. I took the hit on access to talent, which is the real trade-off, for the sake of ease of alignment. We also invest a lot in community here, hosting two or three meetups a week in the office. We&#8217;re hybrid: people come in three to four days a week rather than every day.</p><h3>What&#8217;s a skill? Start from the top.</h3><p><strong>Guy Podjarny:</strong> Let me zoom out to the emerging agentic stack. Being AI native means focusing on delegating work to agents, which is different from using an agent as an assistant. You have to think about the task you&#8217;re defining and how you verify the results, similar to management. </p><p>The stack today looks roughly like this: models are the new primitive everyone builds on, effectively the operating system. You have to think about whether your instructions compile for a given model. Tools sit on top of that and turn a model into an agent, letting it interact with the world and fetch information. Then you have context, and I&#8217;d argue skills are the canonical unit of context, the new code, in the sense that context is what actually gets executed. Both of those are wrapped in a harness: the UX you interact through, a constraints layer, a container, and mechanisms like hooks to introduce deterministic software where you don&#8217;t want to leave a decision to the model. </p><p>So context is sandwiched between two pieces of software, harness on top setting the stage and constraints, tools underneath as enablers, and skills sit in the middle as the thing you actually program.</p><h3>That&#8217;s a more expansive definition of context than just documentation. Is that really how you think about it?</h3><p><strong>Guy Podjarny:</strong> It&#8217;s a bit like asking what is code. There&#8217;s infrastructure as code, data as code, a variety of types. When I look at context files, the things you maintain and evolve, they tend to hold one of three things. </p><p>Policies and practices are decisions you made in a room about how your API design works, your framework choices, your security policy. Specs are definitions of how a product or system works, closer to documentation, useful when something is error-prone or expensive for an agent to figure out on its own. Workflows are sequences you create to help an agent along, because it might not know how to do incident response or process a large volume of data, and sometimes you need consistency for compliance or because you want repeatable behavior across a thousand runs. </p><p>On top of that there are three levels of forcefulness: rules, the stuff in your CLAUDE.md or AGENTS.md that gets loaded every time; skills, which are more like ready-made commands the agent loads on a hint; and passive docs, which just sit there for the agent to find if it goes looking.</p><h3>Is there a part of a skill that&#8217;s always in the context window, even before the rest of it loads?</h3><p><strong>Guy Podjarny:</strong> Yes. The skill has a hint, metadata in the YAML front matter, that gets loaded every time and helps the agent decide whether to pull in the rest. It gets tricky, because if you have a hundred skills, they start competing with each other for the agent&#8217;s attention. I might be getting technical about the definition. In the ecosystem, when people say skill, they often just mean context in general. Skills can come with reference material, docs, a whole package. Many skills today are distributed via agent plugins, an installable package on top of the agent, so they&#8217;re really just a reusable, portable unit of context.</p><h3>Using Anthropic&#8217;s more specific definition, what does a skill literally consist of?</h3><p><strong>Guy Podjarny:</strong> It&#8217;s actually very lightly structured. There&#8217;s a primary <code>skill.md</code> file with defined front matter, a name, some definition of when to load it, and text that can include images or anything else you&#8217;d throw into the model. That genericness is part of its strength, since it makes a skill naturally portable across agents. </p><p>Second, it can ship with reference material in a defined folder structure, mostly just a packaging convenience since the skill.md typically links out to those files. </p><p>Third, most harnesses, Claude Code, Codex, Gemini, Amp, and increasingly vertical agents, have their own way to install skills, with some variation in where they get fetched from and how they load. </p><p>Beyond that, a skill is a very general, generic thing, and that&#8217;s why I think when people say skill, they usually just mean a reusable unit of context.</p><h3>You&#8217;ve written that most teams treat skills as static artifacts that quickly go stale. What were you seeing that made that click?</h3><p><strong>Guy Podjarny:</strong> I&#8217;d call it the inability to scale vibes. These tools are powerful enough to be overwhelming, and people are impatient to see something work, so they lean into intelligence and run forward. The result is a lot of voodoo, a lot of &#8220;does it work,&#8221; and people get stuck once they hit that wall. The simplest version is prompting itself: you run it, you think a certain phrasing makes the agent succeed more, and because it&#8217;s a single-player experience, that&#8217;s manageable. It&#8217;s you talking to yourself. </p><p>But a skill is a reusable unit of software. You don&#8217;t create one unless you want to do something twice, or share it with someone else, and that&#8217;s exactly where it breaks down. If a colleague proposes a change to a shared skill, how do you know if it made things better or worse? If cost suddenly matters, how do you know whether a skill needs Opus, or GPT, or would run fine on something like GLM or DeepSeek, which are dramatically cheaper? You end up back in a world of vibes. </p><p>There&#8217;s also a security angle, probably from my AppSec roots: skills get executed by the agent, whether that&#8217;s reading an email, browsing, or loading a skill, and executing instructions creates real risk. We&#8217;ve seen a huge number of malicious skills in the open ecosystem. There are negligent skills that just lack safety instructions, like telling an agent to commit something into a repo without checking whether that repo is public. And there are vulnerable skills that guide an agent into something insecure, like pasting credentials into a prompt where they get captured in a log. </p><p>Once you start thinking of skills as code, you realize we already have solutions for a lot of this. You don&#8217;t need to reinvent the wheel, you just need the relevant stack for this new type of software.</p><h3>When we first talked about Tessl a couple of years ago, you described spec-centric development. Was the shift to today a pivot?</h3><p><strong>Guy Podjarny:</strong> More an evolution, or an elevation. We started by saying software will move from revolving around code and implementation to revolving around intent and instructions. We focused on the spec: you say what you want to build, and the agent builds it, dealing with the fact that you never say everything you want, so there&#8217;s a shadow spec that gets created as the agent fills in gaps. I still think that&#8217;s needed, but as agents came onto the scene, it became clear that&#8217;s only part of what you want from a successful developer on your team. </p><p>You also need them to understand your financial constraints, your style guides, your data schemas, your aesthetic choices: do you want simplicity or flexibility, cost efficiency or fast iteration. We evolved from speccing the program to speccing the programmer, thinking about how you want a good developer on the team to actually work. That&#8217;s what pulled us into the broader world of context, which is where the word skills comes in as the term of the moment.</p><h3>How do you now describe what Tessl is?</h3><p><strong>Guy Podjarny:</strong> We see ourselves as an agent enablement platform, and today even context is just one piece of that. You should think of us as a composable factory for agentic development. We offer a variety of software development tools: Tessl Review, which agentically reviews whether context is high quality; Tessl Verifiers, fast linters that check whether an agent adhered to the context it was given; an eval platform for creating dynamic tests, so you know whether a skill actually helped or regressed when you change it or swap models; a package manager for versioning and distributing skills to a registry; and observability tools that monitor agent logs so you can learn from them. </p><p>What we&#8217;ve recently released is the Tessl Agent, a harness that focuses on factory building. You launch it in your repo, it explores your history and past pull requests, and it can, for example, create a code review skill based on patterns it&#8217;s observed, set up an automation that aggregates logs from that activity daily, and extract eval scenarios from those cases so you don&#8217;t regress as you evolve it. It can also, on your instructions, try running that skill on a cheaper model so it runs more cheaply over time. Tessl becomes those two things: the agent that builds the factory, and the set of building blocks for factory building, with context as one piece of it.</p><h3>What drove that expansion from a toolkit for advanced users into an agent that builds the factory for you?</h3><p><strong>Guy Podjarny:</strong> Building factories was just too hard. It&#8217;s scary. It feels insurmountable, like there&#8217;s a big thing you need to do to get started. As a result, only people advanced enough could take advantage of the tools we&#8217;d built. We saw that when we were running inside someone else&#8217;s harness, it was hard to improve the user experience or even know precisely what happened, so we needed to go down a level ourselves. </p><p>There are really two convergent paths to adoption. One is going from single-player to multiplayer: you have a skill, you want to share it, you see five similar skills and don&#8217;t know which to pick, you don&#8217;t know if they&#8217;re secure, or which ones you can safely delete. That&#8217;s the skills-sprawl problem, and it extends well past engineering into non-development parts of the organization. The other path is wanting to get to the cutting edge through continuous loops rather than forcing everyone to reach a high level of local expertise. </p><p>They converge: if you start from loops, eventually you want to reuse what you built somewhere else and need central tooling. If you start from central governance, eventually you want to make things better on a loop. Depending on your pain point right now, skills sprawl or wanting to drive forward, you land on one or the other, but they end up in the same place.</p><h3>Tell me about evals. What is one, and where does it run?</h3><p><strong>Guy Podjarny:</strong> An eval is an agent test with a runtime component: you dynamically execute the agent through a scenario and see how well it did, as opposed to a review action, which is more like static analysis, faster and more scalable but less powerful. Just like tests, evals can be big or small, sometimes a waste of tokens, sometimes fundamentally valuable. </p><p>To create one, we help generate a scenario: how to set up the environment, maybe pulling code from certain commits, adding or removing a skill or context, then defining the task, which we can generate from the skill itself, from historical pull requests, or from live observation. Then you run it in a sandbox eval environment, typically with and without the skill you&#8217;re testing, to see if it&#8217;s actually helpful. </p><p>By default, if you&#8217;re evaluating a skill, we use a cheap model, currently what he refers to on the recording as &#8220;DeepSeek V4 Flash,&#8221; which isn&#8217;t as good as Sonnet but demonstrates skill uplift faster and cheaper, so it&#8217;s a good signal for whether you&#8217;ve progressed. If you&#8217;re assessing a new model instead, you can run across a wide variety of models. </p><p>The last piece is criteria: for each scenario, what does the setup look like, what&#8217;s the task, and how do you judge the output, including making sure you haven&#8217;t leaked criteria information into the task itself. Developers don&#8217;t like writing docs or tests, and it turns out they don&#8217;t like writing context or evals either, so the easiest path is to observe agent behavior and auto-capture it as an eval rather than asking anyone to write one by hand.</p><h3>Can Tessl spin up the infrastructure an eval might need, like dbt plus test data?</h3><p><strong>Guy Podjarny:</strong> You can put a lot of that in the eval container, though we don&#8217;t do all of it in a cookie-cutter fashion yet, and there are probably gaps. If you&#8217;re just reading data it&#8217;s not a problem, but if you&#8217;re writing data you have to think about cleanup, not unlike tests. We&#8217;re probably strongest in auto mode for coding scenarios. When you get into something like a dbt-shaped scenario, the platform enables it, but you may need to work a bit harder to set it up, and we&#8217;d want to hear back on what that looks like in practice.</p><h3>You&#8217;ve said companies will run many agents, coding, legal, sales, DevOps, that need shared context outside any single harness. Why won&#8217;t the labs that build the best models also build the best developer tooling?</h3><p><strong>Guy Podjarny:</strong> There&#8217;s a real advantage to controlling both the model and the harness. A lot of models are visibly tuned around their own agent, and it&#8217;s often hard to get them to sway off it. Sometimes that&#8217;s a genuine advantage. But organizations want flexibility, and they&#8217;ll use many agents. Even a team that&#8217;s all-in on one harness is probably also using an agent from their project tracker, or their observability tool, or their legal team&#8217;s tool, and those all need the same context, the same constraints, the same knowledge, which pushes people to manage that outside any one harness. </p><p>The second, more recent driver is cost and the open models. It&#8217;s funny: talking about cost a month ago made you sound like a skeptic, and now it makes you sound like a forerunner. Companies are now talking openly about swapping in something like GLM 5.1 that competes well with a frontier model, in a way they&#8217;d have done quietly before. </p><p>That raises a real question: how much do you trust that a frontier lab&#8217;s harness will make you successful with an open-weight model that competes with their own business? Between focused vertical agents, cost, and wanting to own your own destiny as the market shifts around you, I think people will want to own their harness. I don&#8217;t know that there&#8217;s a single one that wins, but building your harness, like building your factory, is a competency you should be developing.</p><h3>You were skeptical about building a dbt-specific harness. What changed?</h3><p><strong>Tristan Handy:</strong> I had the wrong priors on this, whatever, four or five months ago. There was a team internally that wanted to start building a dbt harness, and I thought it was a bad idea, because everybody uses Codex or Claude Code and they seem to be pretty good. It turns out it&#8217;s not actually that hard to build a harness, and the ability it gives you to tune for your specific factory is pretty profound. You can achieve both better accuracy and something much more token efficient. So I&#8217;ve become a believer in the multi-harness world.</p><h3>Could a harness like Tessl&#8217;s get used for non-coding work?</h3><p><strong>Guy Podjarny:</strong> It&#8217;s not our priority right now. This world is being led from the dev world outward. We talk about a software factory because the models are better at development, and loops are easier to build there, so the standards get set in that world first, but the pattern travels. A lot of the same knowledge applies. </p><p>At Tessl our own go-to-market team couldn&#8217;t keep up with how fast our product was changing, and people were spending all their time updating sales decks and demos that were always a step behind. So a lot of our current investment is in expanding into go-to-market: a messaging framework that updates from the repo automatically, auto-generating demos when the product changes, figuring out which customers to notify when a capability ships, and tapping into customer call data to see how people actually responded. </p><p>Eventually a salesperson still has to learn the thing, so there are necessarily people in the loop, but they need to be enabled rather than left to do the update work by hand. Anywhere you&#8217;re repeating an action, you should think about how to agentify it, and once you do, you put it in a loop: gather feedback, whether that&#8217;s a customer opening an email or a human&#8217;s comment correcting something, and set up an automated recurrence to make it better.</p><h2>Chapters</h2><p>00:09 Welcome<br>00:36 Guy&#8217;s path: AppSec, Blaze, Akamai, Snyk, Tessl<br>03:46 &#8220;A glutton for punishment&#8221;: what keeps him starting companies<br>05:32 Passions outside of work, and family<br>06:24 Jigsaw puzzles, and the moment AI ruined them<br>07:00 Why Tessl chose to be co-located in London<br>08:55 The rising cost of alignment in a fast-moving space<br>11:16 The emerging agentic stack: models, tools, context, harness<br>15:13 Why context is &#8220;the new code&#8221;<br>15:42 The three buckets of context: policies, specs, workflows<br>18:17 Rules, skills, and passive docs: three levels of force<br>18:59 What&#8217;s always loaded: the YAML front matter<br>20:32 Anthropic&#8217;s skill definition, and when it landed<br>21:19 What a skill.md file actually contains<br>23:59 The inability to scale vibes<br>26:42 Cost: do you need Opus, GLM 5.1, or DeepSeek?<br>27:23 Malicious, negligent, and vulnerable skills<br>28:56 From spec-centric development to speccing the programmer<br>31:49 Tessl as an agent enablement platform and composable factory<br>33:04 The new Tessl Agent: a factory-builder harness<br>35:05 Why building factories was too hard for most teams<br>36:37 Two paths to adoption: skills sprawl and continuous loops<br>38:48 Why the labs won&#8217;t own developer tooling too<br>42:09 GLM 5.1, and talking about cost without sounding like a Luddite<br>44:02 Tristan on rethinking the dbt-specific harness<br>44:34 Owning your harness as a core competency<br>45:22 Could this extend to sales?<br>45:33 Tessl&#8217;s own go-to-market automation problem<br>48:44 What an eval actually is<br>51:20 Eval anatomy: setup, task, criteria<br>52:53 Can Tessl spin up a dbt-plus-test-data sandbox?<br>54:03 Wrap-up</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Roundup: Why your sales team shouldn't query Gong directly]]></title><description><![CDATA[Tristan is joined again by Jason Ganz. This time: Stripe's $7 billion acquisition of OpenRouter, the AI bubble, new benchmarks that say data engineering agents are good now, and dbt dogfooding]]></description><link>https://roundup.getdbt.com/p/roundup-why-your-sales-team-shouldnt</link><guid isPermaLink="false">https://roundup.getdbt.com/p/roundup-why-your-sales-team-shouldnt</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Fri, 21 Aug 2026 13:53:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/HQORapXiiYg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is episode two of the Roundup, a recurring conversation between Tristan Handy and Jason Ganz to cover data and AI news at the speed it moves. Four stories this time: 1) whether the AI buildout is a bubble; 2) what two new benchmarks say about how good agents have gotten at data engineering work; 3) why Stripe just paid $7 billion for an AI model router; 4) and how dbt can turn Gong data into something an agent can use without burning through the budget.</p><div><hr></div><p><strong>dbt Summit 2026 is almost here.</strong> Connect with the world&#8217;s largest gathering of dbt users, September 15-18 at The Cosmopolitan in Las Vegas. Level up your data and AI work: <a href="https://www.getdbt.com/dbt-summit">Register now</a>.  </p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-HQORapXiiYg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;HQORapXiiYg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/HQORapXiiYg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Topic one: Are we in an AI bubble?</h2><p><a href="https://www.exponentialview.co/">Exponential View</a>, the research operation Azeem Azhar built out of what used to be a newsletter, tracks five gauges to answer the bubble question with something other than vibes: economic strain (capex as a share of GDP), industry strain (investment relative to leverage), revenue, revenue growth, valuation heat, and funding quality. </p><p>In <a href="https://www.exponentialview.co/p/is-ai-a-bubble-yet-our-five-gauges">the update Azhar and Nathan Warren published Aug. 19 </a>, the verdict is boom, not bubble: no gauge is in the red, two are in amber, and the rest are green. Funding quality is the one worth watching. AI capex has moved from hyperscaler cash flow into debt markets and now into equity raises, which pushes risk further out. Revenue is still doubling roughly every seven months, and capex remains under 1% of GDP, well below the 2.5% seen during the railroad build-out.</p><h3>Condensed transcript</h3><p><strong>Tristan Handy:</strong> I want to start with the most recent Exponential View &#8220;are we in a bubble yet&#8221; gauges. For folks who don&#8217;t know it, Exponential View started as a newsletter about twelve years ago, written by a guy named Azeem Azhar, and has turned into more of a full-stack research operation, in the model of something like SemiAnalysis. </p><p>A couple of times a year they publish five gauges on whether AI is in a bubble: economic strain, which is total capex as a percentage of GDP; industry strain; the ratio of investment to revenue; revenue growth, how long it takes to double revenue; valuation heat, the price-to-earnings ratio; and funding quality. Spoiler: the five gauges say no, we&#8217;re not currently in a bubble. </p><p>Since the last update, these metrics have all moved flat or positive, meaning we&#8217;re less likely to be in a bubble than before. The one moving the wrong way, still yellow but drifting toward red, is funding quality. The original AI capex came out of the hyperscalers&#8217; own cash flow. Then the debt markets got tapped, which is a bit riskier. Now it looks like the debt markets are getting tapped out too, and Google and a couple of others are actually raising equity to fund the buildout. </p><p>I found it interesting that capex is still below 1% of GDP, well under the 2.5% during the railroad build-out, and we&#8217;re doubling revenue every 0.6 years. It&#8217;s surprisingly healthy given the level of heat everyone assumes is happening.</p><p><strong>Jason Ganz:</strong> It&#8217;s astonishing. I&#8217;ve been an LLM and AI booster since before ChatGPT, but ChatGPT was when it clicked that we&#8217;ve fundamentally altered the trajectory of technology, that there&#8217;s real enterprise value here. You always bring a quantitative lens to this, and I appreciate that, but I also like to read the vibes of public and industry opinion as they seesaw. There&#8217;s a very predictable pattern where it&#8217;s just time for the vibes to shift. </p><p>When GPT-5 came out, it was roughly on trend, but the narrative became &#8220;GPT-5 is a disappointment,&#8221; and that sparked the whole &#8220;AI is a bubble&#8221; wave last summer. A couple months later Opus 4.5 came out and we hit real revenue acceleration, and the vibe flipped to &#8220;this growth is unheard of.&#8221; </p><p>Now we&#8217;ve hit the point where the financial growth has been so impressive for so long that there&#8217;s a kind of narrative fatigue setting in, independent of the actual numbers. It was funny yesterday watching people call OpenAI&#8217;s revenue growth disappointing because it was &#8220;only&#8221; 19% quarter-over-quarter and &#8220;only&#8221; a billion dollars of added revenue.</p><p><strong>Tristan Handy:</strong> You might as well wrap it all up and go home.</p><p><strong>Jason Ganz:</strong> Right. So to a certain extent this all feels vibes driven. The one indicator that fits with funding quality, and I&#8217;ll admit this isn&#8217;t my area of expertise, is real yields on U.S. treasuries ticking higher. For years real yields kept going down, and now there&#8217;s an uptick. This was predicted a couple of years ago as a sign of either a bubble, or of transformative AI being close, since the future value of capital would rise either way. Something is happening. It&#8217;s frustratingly difficult to tell which story it is.</p><p><strong>Tristan Handy:</strong> The is-it-or-isn&#8217;t-it-a-bubble conversation has been going for three years now. It&#8217;s short-term interesting, because a revenue slowdown in a now capital-heavy industry has real downstream effects on jobs. </p><p>But over the long term, what&#8217;s happening here is a big deal for human society, and the 40-year timeline doesn&#8217;t really care whether we&#8217;re technically in a bubble. Railroads had a bubble and still transformed the economy forever. The dot-com bubble happened and we&#8217;re still running the internet on dark fiber that WorldCom laid in the late nineties. Bubbles still create productive outcomes. </p><p>Even if there were an AI bubble, we&#8217;d still see the growth in power generation that&#8217;s happening as a result of this buildout. I&#8217;m a little ambivalent about the actual answer. I&#8217;m glad the industry looks healthy. But even if it weren&#8217;t, I&#8217;d be excited about everything happening here. It&#8217;s not going away.</p><p><strong>Jason Ganz:</strong> That&#8217;s an important point, because I still talk to people who believe that because we&#8217;re in a bubble, the changes to our workflows and our industry should be expected to be temporary.</p><p><strong>Tristan Handy:</strong> Right. It&#8217;s not temporary.</p><p><strong>Jason Ganz:</strong> And when it &#8220;goes away,&#8221; they think they can go back to how things were. I&#8217;m sympathetic to that impulse, because the magnitude of what we&#8217;re dealing with is genuinely big. But people are poorly served by media that lets them conclude this is a bubble and therefore they don&#8217;t need to reckon with how it&#8217;s going to change their industry or education or anything else. Maybe large-scale regulation changes that, but a financial correction, even a large one, won&#8217;t undo it.</p><h2>Topic two: Two new benchmarks say data engineering agents are ready</h2><p>Data work has lagged software engineering when it comes to good benchmarks, and two arrived in the last two weeks. <a href="https://www.snowflake.com/en/blog/engineering/data-eng-bench-data-engineering-agent-benchmark/">Snowflake open-sourced data-eng-bench</a>: 103 dbt-specific tasks run against a simulated 579-table retail warehouse. In Snowflake&#8217;s own numbers, Opus 5 cleared 70%+ Pass@1 and GPT 5.6 Sol landed around 65%, with the agent harness itself accounting for a meaningful chunk of the spread. </p><p>Separately, Hex&#8217;s Izzy Miller has been running a benchmark against <a href="https://hex.tech/blog/evaluate-data-agents/">Shorelane Commerce</a>, a fully simulated, deliberately messy business built to test open-ended analytical questions, and <a href="https://x.com/isidoremiller/status/2087933046871761100">shared results</a> showing a distinctive overthinking curve on the hardest questions.</p><h3>Condensed transcript</h3><p><strong>Jason Ganz:</strong> We&#8217;re going from macro to deep in the details. How good models are at doing data work specifically, not just general knowledge work, is something I&#8217;ve been frustrated by the lack of good benchmarks for. Compare it to software engineering, where there are fifty new benchmarks a day. </p><p>We&#8217;ve been flying blind on how good agents are at the actual work of a data practitioner: building and maintaining pipelines, updating a dbt DAG, answering a well-specified or a higher-level analytical question. The good news is we got two pieces of high-quality work on this in the last two weeks. The first is a benchmark from Snowflake&#8217;s AI research team, called data-eng-bench.</p><p><strong>Tristan Handy:</strong> Very creative.</p><p><strong>Jason Ganz:</strong> It&#8217;s similar to, and draws on, the work we published last year on ADE-bench. It&#8217;s a bundle of tasks testing whether models can do your dbt work. They built a simulated business for it. One of the problems benchmarks like this consistently run into is finding a data source that&#8217;s complicated enough.</p><p><strong>Tristan Handy:</strong> And messy enough.</p><p><strong>Jason Ganz:</strong> Exactly, and messy enough. It has just over a hundred tasks, and it&#8217;s interesting to see new data points on how models perform, compared across models and across harnesses.</p><p><strong>Tristan Handy:</strong> What were the tasks? Were they true data engineering and analytics engineering tasks, the kind of thing you&#8217;d do to build your gold layer, or more in the conversational analytics space?</p><p><strong>Jason Ganz:</strong> Building and maintaining your gold layer. They split it into build tasks, author new models and keep the pipeline running, further divided into greenfield, scaffolding a new dbt project from nothing, and brownfield, adding a model into an existing multi-layer project, and fix tasks, where something&#8217;s broken and needs to be repaired.</p><p><strong>Tristan Handy:</strong> And these tasks were actually dbt related?</p><p><strong>Jason Ganz:</strong> All of them, yes. A hundred and three tasks of two variants. Each gives the agent a natural-language instruction, a starting dbt project, and the data warehouse.</p><p><strong>Tristan Handy:</strong> What was their conclusion on how good agents are today?</p><p><strong>Jason Ganz:</strong> This is where it gets interesting, because it&#8217;s no longer a simple &#8220;agents can or can&#8217;t do this.&#8221; There&#8217;s the model, and within the model, how much compute you&#8217;re allocating to it, since they all run at different thinking levels. Then there&#8217;s the harness. </p><p>This is all still assuming the information lives in a single repo, which won&#8217;t hold as we see more benchmarks like this, since it&#8217;s really about systems and loops and how business context gets fed in. They measure Pass@1, the percentage of tasks completed on the first try, and Pass^3, completing three of three consistently. The scores are hovering in the 60s to 70s. </p><p>Based on how every benchmark like this has trended, once scores hit that range they climb quickly into the 80s and high 90s, then taper off from diminishing returns.</p><p><strong>Tristan Handy:</strong> Any standouts on models or harnesses?</p><p><strong>Jason Ganz:</strong> No Fable on this one, looks like they didn&#8217;t spring for that budget. Opus 5 topped the list above 70% accuracy, GPT 5.6 Sol came in around 65%. Props to the Snowflake team for open-sourcing it; I&#8217;d like to see it run against GLM and the emerging set of open models. </p><p>The pattern we&#8217;re seeing, and we&#8217;ll see it again in the next benchmark, is that there&#8217;s a premium to the most expensive models on well-specified tasks, but smaller models do fine too. It&#8217;s when you hit things that require more human-like judgment, figuring out the question behind the question, that things get harder.</p><p><strong>Tristan Handy:</strong> Hit me with the second benchmark.</p><p><strong>Jason Ganz:</strong> This one asks how good models are at answering thorny, complicated data questions, not &#8220;update my dbt project&#8221; but &#8220;Jason, figure out why people aren&#8217;t upgrading from dbt 1.11 to 1.12&#8221; as a question posed straight to an agent instead of to me.</p><p><strong>Tristan Handy:</strong> Gotta stay on message.</p><p><strong>Jason Ganz:</strong> This was released by Izzy Miller at Hex. He built a simulated company based on years of real data problems, and the data is deliberately messy: labels that changed due to a system migration, IDs that don&#8217;t match. </p><p>What he found is that models are really good when the answer is somewhere in the dataset and you just need to keep chugging and trying new angles, which ties back to the Hugging Face story from last week about models getting persistent. </p><p>What they&#8217;re not good at is saying &#8220;I don&#8217;t know&#8221; or recognizing that a question needs reframing. The other interesting thing: there&#8217;s an overthinking curve with Opus 5, scoring around 70% at low effort, climbing to about 87% at high effort, then dropping back to around 70% at max effort. Sonnet 5 shows the same pattern. Fable, interestingly, just keeps climbing the more tokens you give it.</p><p><strong>Tristan Handy:</strong> I saw something similar with the Qwen 3.8 release, performance increasing with more tokens and then degrading, the same overthinking territory. Interesting that Izzy saw it too. What&#8217;s your meta takeaway on where model and harness capability actually stands for data engineering agents right now?</p><p><strong>Jason Ganz:</strong> If you can give a bounded task and surface the right data or context, models can perform arbitrarily complex data modeling and analysis to a pretty high standard. The worst model on the Hex benchmark, Kimi K2, still hit 50%. So we&#8217;re clearly at the point where a well-specified problem gets you a good shot at a real result. </p><p>The interesting questions now are what we actually want to ask, when it&#8217;s useful to ask it, and what we build now that this capability is something we can rely on. The last twelve to eighteen months have been proving out that we can get high-quality coding agents for our pipelines and high-quality data analysis back. The answer is yes. So the frontier now is what we build knowing that.</p><p><strong>Tristan Handy:</strong> Good framing: we can now do the things we could do before, fairly reliably. The big caveat is that you need to be doing well on your fundamentals. All of this relies on a high-quality gold layer, real context around it, a real semantic layer. If you have that, you&#8217;re in good shape, and if you don&#8217;t, agents can help you build it, but the fundamentals are as necessary as they&#8217;ve ever been. Then we get to the actually interesting part: how this changes the way we use analytical data in organizations, which we&#8217;ll be answering for years.</p><h2>Topic three: Stripe buys OpenRouter for $7 billion</h2><p><a href="https://techcrunch.com/2026/08/16/stripe-will-reportedly-acquire-ai-gateway-startup-openrouter-for-7b/">Stripe acquired OpenRouter</a> for more than $7 billion on August 17, roughly 90 days after the company had raised at a $1.3 billion valuation. OpenRouter runs $140 million in annualized revenue at a 70% gross margin, unusual for an AI company, because it owns no GPUs. It routes requests across 500-plus models and 80-plus providers, handling failover, price and latency optimization, and provider health.</p><h3>Condensed transcript</h3><p><strong>Jason Ganz:</strong> Let&#8217;s talk about OpenRouter. How are we going to pay for all those tokens, and which model should we use?</p><p><strong>Tristan Handy:</strong> The news, as of August 17, is that Stripe acquired OpenRouter for $7 billion. Not bad, given the company raised at a $1.3 billion valuation just 90 days earlier. The numbers are good, $140 million of annualized revenue at 70% gross margin, which is unusual for an AI company. </p><p>It&#8217;s because OpenRouter has no GPUs. It&#8217;s not a model provider, it&#8217;s an infrastructure provider, and it turns out infrastructure companies can carry software-company gross margins at scale. Clearly a very successful acquisition for the team. </p><p>The interesting question is what this means for the rest of us. I went straight to: do people actually need OpenRouter, or something like it? I&#8217;d recently implemented some basic model-switching in an agent I built, wanting to avoid the most expensive model for every task, and a lightweight wrapper wasn&#8217;t that hard to build. </p><p>So I was digging into whether this is a real business people need, and I asked ChatGPT to lay out what OpenRouter does: it advertises 500-plus models and 80-plus providers, it can route across multiple hosts serving the same model, avoid unhealthy providers, optimize for price, latency, or throughput, and fail over automatically. That&#8217;s a list of things I&#8217;d never build into my toy version. It&#8217;s genuinely interesting infrastructure, and a smart strategic acquisition for Stripe specifically, because the two businesses are similar. </p><p>Stripe&#8217;s whole job is making the complexity of moving money disappear, charging a percentage for it. OpenRouter&#8217;s job is making the complexity of model selection and routing disappear, charging about 5.5% for it. Maybe this becomes as boring and commonplace as payments infrastructure did once Stripe made it stupidly easy.</p><p><strong>Jason Ganz:</strong> There&#8217;s a temptation to see model switching as two extremes: fully locked into one frontier lab, with all your evals and context engineering tuned to their best practices, or fully model-agnostic, fluidly switching the moment the Pareto frontier shifts. My guess is we land in the middle. </p><p>For your large-scale core workflows, you&#8217;ll build a relationship with one or two providers. But it&#8217;s really an ecosystem of different tasks, and some percentage of your workload is a long tail where OpenRouter makes total sense. What do you think?</p><p><strong>Tristan Handy:</strong> Whether workloads can really become portable across models is a fascinating question. I recently spoke with a company called LightLLM that&#8217;s trying to make different models functionally equivalent to one another, changing how the prompt itself gets supplied. </p><p>I don&#8217;t fully understand the mechanics, but if intelligence becomes a substrate the way raw compute became one you could rent from the cloud, these services should become at least somewhat transferable. Was it historically inevitable that you could take a Docker image from EC2 to GCE? Someone had to solve that, and it feels like a necessary precondition for the internet we live in.</p><p><strong>Jason Ganz:</strong> I buy that, but today the shape of GPT-5.6 Sol&#8217;s intelligence is genuinely different from Opus 5&#8217;s. Do these converge, so a workload on one looks like a workload on the other, or do they keep meaningful differences based on training strategy, constitutional AI versus whatever OpenAI does differently?</p><p><strong>Tristan Handy:</strong> Congrats on working that in.</p><p><strong>Jason Ganz:</strong> Ideally this looks like a utility. If I switch electricity providers, I want the electricity to be the same. It&#8217;s an open question how much fluidity we actually get at the highest layers. There will always be some addressable share of workloads; it&#8217;s a question of what percentage.</p><p><strong>Tristan Handy:</strong> I&#8217;m bullish long term on the category OpenRouter represents, though that&#8217;s a long-term statement and it&#8217;s not settled. Benchmarks are a kind of evolutionary pressure, the environment models evolve inside of. To the extent every model responds to the same pressure, they converge on some time horizon. Or you get models explicitly tuned for different conditions, one class great at coding, another at something like conversational nuance. </p><p>Either way, the intelligence Stripe is going to extract from the roughly 50 trillion tokens a month flowing through OpenRouter, and growing, is going to be genuinely fascinating.</p><p><strong>Jason Ganz:</strong> If you&#8217;re a data analyst at Stripe and want to come talk to us about tokenomics, let us know.</p><h2>Topic four: Turning Gong calls into dbt models</h2><p><a href="https://www.getdbt.com/blog/model-for-the-token-not-the-table">Britton Stamper</a>, who recently joined dbt Labs for AI enablement work, <a href="https://www.getdbt.com/blog/from-analytics-engineer-to-context-engineer">published a piece applying dbt&#8217;s own patterns to a problem that shows up the moment teams point agents at unstructured data</a>. Giving an entire sales team direct access to a Gong MCP server means everyone re-runs the same expensive analysis, burns through API limits, and pays for the same tokens repeatedly.</p><h3>Condensed transcript</h3><p><strong>Tristan Handy:</strong> Where are we going from here?</p><p><strong>Jason Ganz:</strong> A good way to close. In the benchmarking section we talked about models getting good at what data orgs are already doing, with fundamentals still mattering. Now there&#8217;s an emerging category of things that can be done at all. The last thing I want to cover is in-house. </p><p>Britton Stamper, who joined dbt Labs and Fivetran recently for AI enablement, has been doing fascinating work applying the traditional levers of data and analytics engineering to context engineering at scale. He&#8217;s published a series of posts walking through real workloads on our actual data and the deliverables that would have previously been impossible. </p><p>First off, do you buy that data practitioners have a meaningful role in distributing context, and that this is part of the next level of unlocks we&#8217;ve been talking about?</p><p><strong>Tristan Handy:</strong> Yes, absolutely, with one caveat. Context engineering is one of those terms where three different communities use the same word to mean different things, and sometimes don&#8217;t even realize it. </p><p>The context engineering that data and analytics engineers are highly relevant for is context engineering for analytics and data use cases specifically. There&#8217;s also the context engineering that happens inside something like Claude Code, managing your session, compaction, caching, and data and analytics engineers have essentially nothing to do with that, which is fine. </p><p>As long as we hold that caveat, yes, our people, you and me included, are very relevant here. Part of it is doing everything we&#8217;ve always done, but anticipating that agents will be the consumers, so we can&#8217;t skip steps or assume human cultural knowledge will paper over missing descriptions or tests. But there&#8217;s also a set of genuinely new things, and that&#8217;s where Britton is going.</p><p><strong>Jason Ganz:</strong> Exactly right. The new things are roughly unstructured or semi-structured data, where analysis used to be impractical. Britton&#8217;s workflow is Gong calls. Gong is what most sales teams use to navigate customer calls and surface blockers and questions. </p><p>Historically, answering something like &#8220;Why aren&#8217;t people upgrading from dbt 1.11 to 1.12&#8221; would have meant manually watching tape, or doing rudimentary natural-language analysis, but you couldn&#8217;t pull out something like the top three customer asks in healthcare. That became genuinely practical with the combination of an LLM and the right context.</p><p><strong>Tristan Handy:</strong> Can I interject? I was just talking to someone deeply involved in evaluating how different data platforms handle these queries, and while it&#8217;s more possible than ever, the implementations are still fairly naive. You can burn through a lot of credits or DBUs quickly if you&#8217;re not careful, so make it an incremental dbt model so you don&#8217;t blow through your credit budget.</p><p><strong>Jason Ganz:</strong> Exactly, that&#8217;s what Britton&#8217;s talking about. The naive way is hooking the whole sales team up to the Gong MCP directly and letting everyone ask their own questions. You end up scanning hundreds of thousands of tokens repeatedly for the same requests and hitting API limits. </p><p>What Britton&#8217;s done instead is take the most common, relevant queries people ask of Gong data and aggregate them into our dbt project, incrementally. It&#8217;s an old pattern: instead of everyone recomputing the same analysis and wasting compute and tokens, you build the standard reporting once on data sources that would have been infeasible to analyze at all before. That doesn&#8217;t mean you never connect directly. </p><p>Prepping for a specific call and asking &#8220;remind me what I said last time&#8221; is a great MCP use case. It&#8217;s the larger-scale, pattern-level analytical queries where the dbt approach wins.</p><p><strong>Tristan Handy:</strong> I think the entire world of unstructured data is going to become legible quickly, and that&#8217;s good for vendors, practitioners, and companies. </p><p>Structured and unstructured data have been separate worlds for basically forever, different tools, different technical cultures, with almost no cross-pollination, even though the underlying mental models are the same. I&#8217;m excited about the technical details, but even more that we might finally bring these two communities together.</p><p><strong>Jason Ganz:</strong> Agreed. It&#8217;s hard to draw an exact roadmap for where this goes, but it feels like where conversational analytics or agentic development on dbt models was a year ago: just starting to be possible. If you want to build on the forefront, this is the area to watch, because the foundational patterns and best practices are probably going to get written over the next twelve to eighteen months.</p><p><strong>Tristan Handy:</strong> Totally agree. The database eats everything, Jason. That&#8217;s the conclusion.</p><p><strong>Jason Ganz:</strong> That&#8217;s the conclusion. And if you&#8217;re listening to this and thinking <a href="https://www.getdbt.com/dbt-summit">you&#8217;d like to hang out with Tristan, Jason, and Britton in person to talk about it: in about a month at dbt Summit, we&#8217;re having a live fireside chat on exactly this topic</a>.</p><p><strong>Tristan Handy:</strong> We just added it to the agenda. I&#8217;m excited, it&#8217;s going to be fun.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><h2>Chapters</h2><p><em>Timestamps are approximate.</em></p><p>00:00 &#8211; Welcome back, episode two of the Roundup<br>00:55 &#8211; Topic one: Exponential View&#8217;s bubble gauges<br>05:01 &#8211; Is the bubble cycle actually vibes-driven?<br>07:40 &#8211; Real treasury yields as a hard-to-read signal<br>09:05 &#8211; Does the bubble question even matter long-term?<br>11:08 &#8211; Why &#8220;temporary correction&#8221; thinking is a trap<br>12:23 &#8211; Topic two: two new data engineering benchmarks<br>14:20 &#8211; Snowflake&#8217;s data-eng-bench, and what it tests<br>16:00 &#8211; Build, brownfield, and fix tasks, all dbt<br>17:09 &#8211; Why the harness matters as much as the model<br>19:48 &#8211; Opus 5, GPT 5.6 Sol, and where the scores land<br>21:02 &#8211; Hex&#8217;s benchmark on thorny analytical questions<br>22:00 &#8211; The overthinking curve: low, high, and max effort<br>25:06 &#8211; The meta takeaway: what do we build now?<br>27:19 &#8211; The fundamentals caveat<br>28:48 &#8211; Topic three: Stripe acquires OpenRouter for $7 billion<br>28:56 &#8211; What OpenRouter actually does across 500+ models<br>33:32 &#8211; Locked into one lab versus fully model-agnostic<br>35:38 &#8211; LightLLM, and whether workloads become portable<br>37:28 &#8211; Convergence versus real differences across labs<br>39:09 &#8211; Benchmarks as evolutionary pressure<br>40:55 &#8211; 50 trillion tokens a month, and what Stripe learns from it<br>41:21 &#8211; Topic four: Britton Stamper turns Gong calls into dbt models<br>43:16 &#8211; Defining context engineering precisely<br>45:12 &#8211; Why Gong calls were impractical to analyze before<br>46:59 &#8211; The naive approach, and why it burns your credit budget<br>47:43 &#8211; Britton&#8217;s approach: aggregate into incremental dbt models<br>49:59 &#8211; Structured and unstructured data communities converging<br>52:49 &#8211; The database eats everything<br>52:56 &#8211; The dbt Summit fireside chat<br>53:30 &#8211; Wrap-up and closing thoughts</p><div><hr></div><h2>Everything referenced in this episode</h2><p><strong>Topic one</strong><br><a href="https://www.exponentialview.co/p/is-ai-a-bubble-yet-our-five-gauges">Azeem Azhar and Nathan Warren, Exponential View: Is AI a bubble yet? Our five gauges say no</a></p><p><strong>Topic two</strong><br><a href="https://www.snowflake.com/en/blog/engineering/data-eng-bench-data-engineering-agent-benchmark/">Snowflake AI Research: Introducing data-eng-bench</a><br><a href="https://github.com/Snowflake-Labs/data-eng-bench">data-eng-bench on GitHub</a><br><a href="https://github.com/dbt-labs/ade-bench">ADE-bench on GitHub</a> (the dbt Labs / Benn Stancil benchmark referenced as prior work)<br><a href="https://hex.tech/blog/evaluate-data-agents/">Izzy Miller, Hex: How we built a lab to evaluate data agents (Shorelane Commerce)</a><br><a href="https://x.com/isidoremiller/status/2087933046871761100">Izzy Miller on X: DataBench v1 results</a></p><p><strong>Topic three</strong><br><a href="https://techcrunch.com/2026/08/16/stripe-will-reportedly-acquire-ai-gateway-startup-openrouter-for-7b/">TechCrunch: Stripe will reportedly acquire AI gateway startup OpenRouter for $7B+</a></p><p><strong>Topic four</strong><br>Britton Stamper: <a href="https://www.getdbt.com/blog/from-analytics-engineer-to-context-engineer">From analytics engineer to context engineer</a>; <a href="https://www.getdbt.com/blog/model-for-the-token-not-the-table">Model for the token, not the table</a></p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Don't hand a bazooka to an agent making a sandwich (Jeremiah Lowin) ]]></title><description><![CDATA[The creator of FastMCP on why a skill file is a polite note, why enterprises pick MCP over CLIs, and why nobody is ready for a context layer yet.]]></description><link>https://roundup.getdbt.com/p/dont-hand-a-bazooka-to-an-agent-making</link><guid isPermaLink="false">https://roundup.getdbt.com/p/dont-hand-a-bazooka-to-an-agent-making</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 13 Aug 2026 13:03:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/je80FazbbRk" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Jeremiah Lowin is the founder and CEO of Prefect, and the creator of <a href="https://gofastmcp.com/">FastMCP</a>. Jeremiah published earlier this year, <a href="https://www.prefect.io/blog/prefect-brand-2026">A new dawn for Prefect</a>, about a mission that has expanded from data pipelines to distributed systems to autonomous agents. Tristan  asks a reasonable follow-up: What the hell is going on?</p><p>The answer starts with an accident. Jeremiah wrote FastMCP as a side project a few days after Anthropic introduced the Model Context Protocol. He posted it to Hacker News and Reddit, with roughly the pitch: This thing from Anthropic is cool in concept, it&#8217;s impossibly hard to use, maybe try this. It got a little popular. Then David Soria Parra at Anthropic asked to bring it into the official SDK, Jeremiah archived his own repo, and figured that was the last he would ever see of it. Months later, after OpenAI and Google both announced MCP support, he woke up to find his archived, do-not-use-this, go-somewhere-else repo sitting at number one trending on GitHub. So he did something unusual for a CEO with real customers and real revenue: he changed his own job for 60 days and went back to being a maintainer.</p><p>Jeremiah&#8217;s case is that MCP&#8217;s real product market fit is the enterprise, not the individual developer. He thinks a skill file is a polite note the agent is free to ignore, which is fine until you use one as a fifteen-step workflow. He&#8217;s also noticed a shift in how people talk. Pipelines get described in implementations, agents entirely in outcomes. As he says, agentic workflows are DAGs of outcomes, traditional workflows are DAGs of implementations. Underneath all of it is the question he asks everyone he meets and almost nobody can answer: did the agent actually do the thing?</p><p>They close inside the enterprise, where Jeremiah says he doesn&#8217;t even get to talk about interesting agentic applications because everyone is still stuck on security and plumbing. He walks the four-step journey he watches data teams take, from pointing an agent at the warehouse and taking the warehouse down, to a dbt-modeled curated view, to custom business logic, to shipping a UI over MCP Apps so a hundred thousand rows never enter the context window. And he explains why his own team told him to stop pitching the context layer in customer meetings.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><div><hr></div><p><strong>The agenda for dbt Summit 2026 is live.</strong> Dozens of sessions across analytics engineering, AI-ready data, agentic workflows, and enterprise scale, September 15-18 at The Cosmopolitan in Las Vegas. dbt Summit is the world's largest gathering of dbt users. Level up and start building your schedule: <a href="https://www.getdbt.com/dbt-summit/sessions/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q2-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_all__">Explore the sessions</a>.</p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-je80FazbbRk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;je80FazbbRk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/je80FazbbRk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Three ideas from the episode</h2><p>1. <strong>A skill file is a polite note, so a fifteen-step workflow hands the agent a dangerous tool at step one.</strong> Jeremiah draws a clean line: MCP gives an agent new capabilities, a skill steers its behavior. The problem is that we&#8217;ve started using skills as workflow engines, because listing steps in a text file is the easiest thing we can do, not the best thing. Jeremiah&#8217;s objection is structural rather than aesthetic. If the workflow is a self-contained text file, the agent needs all of its capabilities at all steps at all times. </p><p>Say you&#8217;re a bank with a fifteen-step process where steps one through fourteen check that everything is correct and step fifteen moves the money. Put that in a skill and you have to hand over the money-moving tool at step one, and nothing stops the agent from reaching for it early. His team&#8217;s version, half joking and half dead serious: it&#8217;s like asking someone to make you a sandwich and handing them a bazooka in case they run into any zombies.</p><p>2. <strong>Agentic workflows are DAGs of outcomes. Traditional workflows are DAGs of implementations.</strong> Ask someone how their data pipeline works and they answer imperatively: I take this data, transform it this way, load it over there. Ask about their agents and they answer only in outcomes: this will be done, then that will be done. </p><p>Jeremiah's point is that every workflow tool we have, Prefect included, was built to express the first kind, which is why they all feel slightly unnatural in an agentic setting. That gap is where the hard question lives: how do you know when the agent is done? He asks it of everyone he meets. Most people guess. They check a file, skim the logs, or watch some weird proxy.</p><p>3. <strong>You can&#8217;t archive your way to a context layer, so the thing worth building is the context access layer.</strong> Tristan's objection: if context is every structured and unstructured artifact a company has plus everything in every employee's head, no product can hold it. Jeremiah's answer is continuous context. For his finance customers, the price of a stock at a given moment can be an input to an agent, and any attempt to archive that stream breaks the premise. Getting today's stock price is a much easier problem than curating a data lake, as long as there's a governed handshake to call through. The layer with real gravity is the one that exposes and governs access to the context, rather than the one that stores it. </p><p>There's a commercial wrinkle underneath. Jeremiah writes publicly about the context layer, and his own team asked him to stop bringing it into customer meetings, because the CISOs calling Prefect are calling about security, not vision.</p><h2>Key takeaways</h2><p><em>Lightly edited for clarity.</em></p><h3>Prefect ships a workflow platform, a library for building MCP servers, and enterprise MCP infrastructure. From the outside that looks like an unrelated buffet. What&#8217;s the through line?</h3><p><strong>Jeremiah Lowin:</strong> I found that I even had to struggle to articulate that to my own team. Why are these things the same to me when they are very different, they sell to different people, they look different? But I see all of these technologies converging in a place where automated work can happen. It can happen away from human or even agent oversight, and we have a way to have confidence that it actually happened, that it was governed, that it was observed, that whatever we care about was achieved. </p><p>This idea of having confidence in automated work is the common thread for not just what I&#8217;ve done at Prefect, but my whole career, even once upon a time doing risk management in finance. It&#8217;s all about: do we have confidence in the behavior of something?</p><h3>How did FastMCP actually happen?</h3><p><strong>Jeremiah Lowin:</strong> FastMCP comes along as an accident. It&#8217;s a side project of mine that I introduced a couple of days after David Soria Parra introduces the Model Context Protocol. Right place, right time, right developer experience. Honestly, I saw it as an opportunity for Prefect. For years I&#8217;ve been asking what it means that we&#8217;re considered a data, workflow, ETL-style automation company, when we&#8217;re just an automation company. What does it mean to update that business for what is obviously going to be an agent-dominated world? </p><p>For the first time in my career, everyone&#8217;s obsessed with automation. Automation used to be something I would beg people to care about. It&#8217;s a cost center, it&#8217;s a necessary evil, it&#8217;s an optimization. Now all of a sudden everyone can&#8217;t wait to automate everything. So MCP comes along and my interest was: is this the interop technology between the agentic world I want to be part of and the programmatic world I know how to work with? Is this the handshake? </p><p>And from a sponsor like Anthropic, who has the gravitas and the position to actually ram a standard through among a hundred other competing ones. I went to use it, and candidly, it was very hard to use. Impossibly hard to use. That&#8217;s where I went down a rabbit hole. I said I&#8217;ll make it easy to use, and I wrote FastMCP as this tongue-in-cheek thing.</p><h3>How did it get attention?</h3><p><strong>Jeremiah Lowin:</strong> I think it was Hacker News and Reddit. The way I was treating it is: hey world, there&#8217;s this thing, it&#8217;s from Anthropic, I think it&#8217;s really cool in concept, it&#8217;s really hard to use, maybe try this. By the way, I&#8217;ve done that ten times with ten different things. It&#8217;s what we do if we&#8217;re building &#8212; put things in the world that maybe people will use. It got medium popular. A little popular. </p><p>What changed is that David, the creator of MCP at Anthropic, saw it, he liked it, and then he asked if we could contribute it into the official SDK. I introduced it at the end of November, and this would be the middle of December. At this time nobody cares about MCP except me, because I think maybe it&#8217;s relevant to Prefect, and David, who obviously has a vested interest in it. He&#8217;s like, I really like this developer experience, can this be the official SDK? And I was like, honestly, this is the coolest thing that&#8217;s ever happened to me. So we put it in the official SDK, and honestly, I thought that was the last time I might ever see it.</p><h3>Then what happened?</h3><p><strong>Jeremiah Lowin:</strong> It would have been April or May, so about a year ago as we record this, OpenAI and Google both announced that they were going to support MCP. That&#8217;s when all hell broke loose and everyone started hearing about this technology and oh my God, it&#8217;s USB for the internet, and blah blah blah. I remember writing a blog post then where I screenshotted both Sam&#8217;s tweet and Sundar&#8217;s tweet. And I was like, oh my God, this is a moment. </p><p>The way I knew it was a moment is I woke up one day and overnight my repo was the number one trending repo on GitHub. My archived, don&#8217;t use this, go to the official SDK repo was the number one trending repo on GitHub. And that&#8217;s when I was like, hang on, hang on, there&#8217;s something here. I went and I dug in and I was like, but why are people coming to this repo that very clearly says go to the Anthropic repo instead? </p><p>What I determined is that there was this demand. It was a technology moving so quickly that there was demand for a high-level application ecosystem around it &#8212; auth and composability and interop with vendors, the kind of stuff you don&#8217;t typically find in an SDK.</p><h3>You&#8217;d already contributed the code. Wasn&#8217;t developing it separately a bad look?</h3><p><strong>Jeremiah Lowin:</strong> It&#8217;s a weird thing. If I&#8217;m going to contribute the code into the SDK, then I don&#8217;t really want to also be developing it over here on the side. That&#8217;s weird, frankly. It&#8217;s a bad-faith kind of thing. What we determined is that there was enough demand for a high-level ecosystem, and that the SDK, in my conversations with David and others, wasn&#8217;t going to meet it. Not because they didn&#8217;t think it was a good idea, but because they wanted to be the best damn low-level SDK for working with the Model Context Protocol. They didn&#8217;t want it to be an opinionated framework. I was seeing demand in my archived repo for an opinionated framework like a FastAPI &#8212; it&#8217;s not an accident that they share a name in fast. </p><p>And so I changed my job very literally at Prefect. This is very fun for me, in an odd way. I said I&#8217;m going to go be an engineer again, I&#8217;m going to be a maintainer, and my job over the next 60 days is to sufficiently diverge these two projects so that at the end of 60 days, anyone looking at the standalone FastMCP and the FastMCP we licensed into the SDK could not say we&#8217;re acting in bad faith. So that&#8217;s what I did. At the end of it we&#8217;d gained another 10,000 GitHub stars. If I hadn&#8217;t dedicated that time, it would have incrementally diverged from the SDK, and it would have split the ecosystem instead of supporting it.</p><h3>So there are now two FastMCPs. Is that confusing?</h3><p><strong>Jeremiah Lowin:</strong> It is a little bit confusing. What we did is we froze the version given to the SDK as version 1.0 so that it was canonical. Then we continued to develop FastMCP as version 2.0, and now it&#8217;s on version 3.0 as a matter of fact. We did our best to broadcast where that change had happened, so in truth we can say version 1.0 of FastMCP can also be accessed within the official MCP SDK. It does get confusing, though. There are two places where you can see FastMCP, they have very small API differences, and that&#8217;s enough to confuse people. </p><p>As a matter of fact, next month, maybe by the time this podcast is released, the FastMCP in the SDK is going to be renamed in alignment with the other SDKs that have evolved a similar object. It will be called MCP Server, which is a little boring, but I think will stop the confusion. It has been great that the concept of FastMCP is extremely well known as a consequence of that distribution. But I want that outcome, because I think we&#8217;ve created a really interesting high-level thing and it should be built over a clear low-level thing that doesn&#8217;t intersect. The MCP SDK is downloaded something like 10 million times a day. I don&#8217;t think it needs the crutch of my contributed code being identified as such, and we could benefit from the independence.</p><h3>For anyone who&#8217;s only heard of MCP at a high level: what is it for?</h3><p><strong>Jeremiah Lowin:</strong> MCP at a high level is a protocol. It&#8217;s just a standard way for an agent to discover and use a remote API. The simplest way to think of it, and frankly the way it is most commonly used, is that it&#8217;s a remote tool registry for an LLM. The LLM connects to it, shakes hands with it, learns about all the tools it can call, learns how to call those tools, and ideally gets some instructions. Now it can send a tool request over the wire and get back a result in an expected format. That&#8217;s 95% of the use case.</p><h3>What about the MCP-versus-CLI debate?</h3><p><strong>Jeremiah Lowin:</strong> I think the debate has a lot of merit, maybe surprisingly. As an individual running an LLM on my laptop, do I really need to stand up an MCP server and re-expose a lot of functionality when I&#8217;ve got a bunch of CLIs sitting right here? No. No, I do not. It&#8217;s all just code, my LLM knows how to write code, it&#8217;s fine. But in the place where MCP has intense product market fit, it has it for exactly this reason, which is enterprise. In an enterprise I absolutely do not want to be responsible for distributing code via CLI onto everyone&#8217;s machine and going through upgrade cycles. </p><p>The idea of having a central repository of business logic that I can version, deprecate, upgrade, control, and access control, and that doesn&#8217;t have to go on anyone&#8217;s machine or container, is a blessing. That is the only way an enterprise is going to distribute information and context and business logic to its agents. When we talk to security professionals, they&#8217;re like: there is no way we are putting CLIs on everyone&#8217;s machine so their agents can use it. We will use MCP instead. So all of the debate and the controversy happens at that individual level, where as an individual I don&#8217;t think it confers a huge benefit to me. But REST APIs don&#8217;t confer a huge benefit to individuals either.</p><h3>Tristan, what did you see with the dbt MCP server?</h3><p><strong>Tristan Handy:</strong> We released our MCP server about a year ago now, and the adoption has been by far the fastest-growing thing that I&#8217;ve ever witnessed. It&#8217;s growing faster than dbt was when we first launched dbt. The thing that was surprising to me was just how much people wanted us to host a remote MCP server for them. I had been using it locally and lots of neat things came out of that, and I was like, what&#8217;s the problem, why do you guys care so much that we host the thing for you? But it&#8217;s exactly what you&#8217;re describing: the utility is that you need a common set of logic that can be called from lots of different surfaces.</p><h3>How do skills and MCP relate?</h3><p><strong>Jeremiah Lowin:</strong> A skill is a way to steer the behavior of your agent. MCP is a way to actually give it access to new capabilities at all. Strictly speaking, skills are a very amorphous, nebulous, kitchen-sink kind of thing, but in the way they&#8217;re used 99% of the time it&#8217;s essentially a polite note to your agent. That&#8217;s how I would think about it. The agent is actually free to ignore the skill. In fact, sometimes it does, which is very frustrating when you have this thing that&#8217;s supposed to plug in so organically. </p><p>A common thing you&#8217;d see in a skill six months ago is behavioral steering. I have a skill that helps my agent explain things to me the way I like to be explained to, which is not as an idiot but as someone who still needs to learn. The most important sentence in it is: talk to me like I&#8217;m a colleague who knows what you&#8217;re doing but hasn&#8217;t been looking over your shoulder. And it just magically changes everything. What&#8217;s happening today, though, is you&#8217;ll open up a skill and it&#8217;ll be like, okay, do the following. Step one, blah blah blah. Step two, blah blah blah. Step three, do not skip this step. Step four, you better have done step three before you get here. I wish it were a joke. It&#8217;s because the easiest thing we can do for guiding an agent through a series of steps is give it a polite note that says you&#8217;re going to do this, then this, then this. </p><p>Walking an agent through a workflow is something we don&#8217;t have great primitives for, so we resort to listing the steps and hoping that it works.</p><h3>So what&#8217;s wrong with treating a skill as a workflow?</h3><p><strong>Jeremiah Lowin:</strong> Why I don&#8217;t like skills as workflows is that the agent needs all of its capabilities for all steps of the workflow at all times, if the workflow is a self-contained text file. For some of our customers, and some of yours certainly, who are regulated, large, or want to take any action that might be irreversible or affect the business itself &#8212; let&#8217;s say moving money between accounts if you&#8217;re a bank &#8212; if I have a fourteen-step process that checks everything is correct and then step fifteen is to move the money, but it&#8217;s in a skill, that means I have to give the tool for moving the money to the agent at step one. And that means no matter what, there is a risk that the agent decides to use the tool, just because there&#8217;s no strict scoping of the context and information available to it. </p><p>My obsession right now, and something we&#8217;re working on at Prefect to ship later, is how we actually let you build agentic workflows that are not fifteen steps in a polite note, but fourteen steps and a success criterion &#8212; analogous to a data quality check &#8212; and then a second step that gives it the potentially dangerous tool subject to that check. </p><p>The way our team talks about it, half jokingly, half dead serious, is that it&#8217;s like saying: hey Claude, can you go make me a sandwich? And by the way, here&#8217;s a bazooka in case you run into any zombies. I don&#8217;t know if it&#8217;s going to run into any zombies, but now it has a bazooka. Who knows what it&#8217;s going to find? Maybe there&#8217;s a note that someone left in the fridge that says use the bazooka. We don&#8217;t know. And so I&#8217;m uncomfortable with these open-ended workflows that boil down to polite notes.</p><h3>Tristan builds workflows where the steps are deterministic and the agent gets called into narrow slots. Is that the right pattern?</h3><p><strong>Jeremiah Lowin:</strong> I think it&#8217;s neither good nor bad. There&#8217;s a spectrum from micromanagement to complete autonomy, and what we&#8217;re seeking in workflows is a way to move along that spectrum for whatever&#8217;s appropriate in the moment. Hypothetically, if you&#8217;re moving data from system A to system B, why bring an agent in at all? Do it completely deterministically. I would be uncomfortable with anything that said that type of outcome was wrong. </p><p>If we want to nerd out for a second, the key question in that spectrum is actually: how do you know when the agent is done with its job? In the micromanagement case it sounds almost like a completion. Hey, I need help filling this thing out, send me back the thing so I can go on with my code. That&#8217;s well known. In the autonomy case, where the goal might be very open-ended, it&#8217;s actually quite hard to know when to retake control from the agent. </p><p>Every time I hear someone&#8217;s working with agents, I&#8217;m just like: how do you know they did what you wanted? A lot of people don&#8217;t. They guess. Oh, I look at this file. Oh, I go look in the logs. They look at some weird proxy. It&#8217;s a surprisingly hard question to answer. Did the agent actually do the thing?</p><h3>What&#8217;s changing in how people describe their workflows?</h3><p><strong>Jeremiah Lowin:</strong> When we talk about data pipelines, we talk imperatively. I&#8217;m going to take this data, transform it in this way, load it over here. These are the steps I want done. And when people talk about their agents, I hear them talk exclusively in terms of the outcomes they expect the agent to achieve. This will be done, then that will be done, then this will be done. So when I look at why something like Prefect, which nominally satisfies a lot of these workflow constraints, feels slightly unnatural in an agentic setting, it&#8217;s because our entire paradigm is around helping people express <em>how</em> they want things done. </p><p>I have this almost academic thing I&#8217;m pulling on, which is that agentic workflows are DAGs of outcomes, whereas traditional workflows are DAGs of implementations. A Ralph loop is basically when we force an agent to keep doing something over and over until it inexcusably, with no possible exception, has achieved the goal. That&#8217;s interesting, because we have a very clear conception of the success criteria and absolutely no insight into how it should be achieved. So this goal-seeking behavior is the ultimate version of: I do not care what the implementation looks like, I don&#8217;t even care how you go about it, I am only obsessed with knowing whether my goal is achieved. </p><p>Part of the shift I see on the frontier is that people care less and less about how the thing is done, and more and more about putting guardrails around what it means to do it at all.</p><h3>Tristan spent eight hours building a documentation agent and couldn&#8217;t define what a good column description was. Can most things have a clean definition of success?</h3><p><strong>Jeremiah Lowin:</strong> That&#8217;s such a good question. No, I actually don&#8217;t think so. Part of what I&#8217;m trying to solve for is a class of workflow that does have certain characteristics. We do know what success looks like. I&#8217;m also very interested in workflows that are repeatable, need to be audited, need to be governed in some way, or are scheduled or non-interactive. There&#8217;s this class of delegated work &#8212; the overnight shift, basically &#8212; where the question is how we know what it&#8217;s doing. That class is ripe to be agentic. </p><p>For fully open-ended work, what I&#8217;m doing may not be the right paradigm, and a ton of work feels that way. I actually think that&#8217;s where chat interfaces are so rich and fantastic, because you can lend the agent your curiosity in that form. Once you&#8217;ve done that exploratory work, it may be that you now have a rubric for what a good description is that you want to pass on. And now all of a sudden we can canonicalize the workflow. We can make it real. What you described is exploration, and that&#8217;s different. It&#8217;s almost not automated in a primal way. It&#8217;s interactive.</p><h3>Do we end up in a world where practitioners have automated the work but still validate every single output?</h3><p><strong>Tristan Handy:</strong> I don&#8217;t think we want the future where data practitioners have automated away all of their actual work, but they still need to come and validate the results of literally every single thing the AI has done on their behalf. It is actually often doing the work that allows you to know whether the work is correct or not. And just being in the position of approving pull requests that somebody else has done all day is, I don&#8217;t think, a very good job.</p><p><strong>Jeremiah Lowin:</strong> I don&#8217;t think so either. Also probably not a great job for a human, given what we see AIs doing. We have to bottle and sell that spark of intuition that makes us claim that we know something about the data. And every bone in my body wants to say, hell yes, we do &#8212; that&#8217;s why we are data people, because we know there&#8217;s something. Why can&#8217;t an agent produce a good graph? Why can&#8217;t an agent write a good analysis? Why do they get tripped up? Why do they calculate daily average users differently every single time? Because they are probability models themselves. Because they don&#8217;t have an intuition except what they&#8217;ve scraped off the internet. And I believe there&#8217;s an opportunity for us to inject some of that into them.</p><h3>What are all the ways this gets harder inside an enterprise?</h3><p><strong>Jeremiah Lowin:</strong> My experience right now, and I just can&#8217;t escape it, is that we don&#8217;t even get to talk about the cool agentic applications, because we&#8217;re dealing with core low-level infrastructure and security requirements everywhere. Everyone has this problem. It&#8217;s a very interesting technological shift: usually you have something crazy creating problems for CISOs and they&#8217;re just like, no, absolutely not, we&#8217;re not ready yet. Instead the CISOs are the ones calling up saying we need a solution to this, because we need to use AI in our business.  </p><p>Horizon is our product in this space, an MCP gateway and a governance layer for helping get these things safely registered, scrubbing PII from ever leaking out of the MCP server into the agent&#8217;s brain. How do we make sure we know how the agents are connecting to our business? That&#8217;s where we are right now. I don&#8217;t even know if that&#8217;s the bottom of the first inning for what we aspire to when we talk about AI in the enterprise.</p><h3>Where do those calls come from?</h3><p><strong>Jeremiah Lowin:</strong> It is being deployed now. Inside most enterprises there&#8217;s at least one team really starting to do fascinating, interesting agentic work, and a lot of times that team wanting to distribute their work into the organization is the cause of the call. The CIO feels like we should want this to happen. They&#8217;re asking for it, and yet they literally don&#8217;t know how to do it. Or: I asked seven people, I hear that they have seven MCP servers, they don&#8217;t know who else is using them, they don&#8217;t know how to tap into ours. Many of them did go far down the shadow IT pathway, and now the next wave of calls are people who are worried they&#8217;re going to go down that road. </p><p>What we observe is that usually that ground-zero team is a data team, because they&#8217;re the ones using MCP to avoid having to write yet another pipeline, yet another one-off, yet another refresh. Instead they&#8217;re saying, look, just connect your agent to the data and you figure out what you want.</p><h3>What does that journey look like?</h3><p><strong>Jeremiah Lowin:</strong> It started out with: here&#8217;s the MCP server, connect to the warehouse, what happens? They take down the warehouse. So now we put something in front of it. Maybe we use dbt to model out the data, so instead of connecting directly to the warehouse you&#8217;re connecting to a curated view. That&#8217;s step two. Step three: you&#8217;re asking about things we don&#8217;t even have in our semantic layer because they&#8217;re business-logic adjacent, so I write custom code and deploy it in the MCP server. And now you want graphs. </p><p>There&#8217;s a new extension called MCP Apps where we can ship a UI over the server. So you&#8217;re connecting through my handcrafted business logic, through the dbt layer, into the warehouse, pulling out 100,000 rows which by definition go into your LLM&#8217;s brain. You don&#8217;t want that. Let me ship you a UI that graphs it instead. It bypasses the context window entirely and you get to make a decision. </p><p>All of a sudden we&#8217;re where the data industry was sure we&#8217;d get five years ago, with a different technology stack in the middle. We didn&#8217;t know AI would be part of it: user gets graph from raw curated data without an intermediary. What&#8217;s changed is the agent in between, and the danger it runs off and does something else. Especially in a regulated environment, where if an agent is part of a decision tree, that needs to be explained to a regulator.</p><h3>What can you actually solve at that layer?</h3><p><strong>Jeremiah Lowin:</strong> We can become the central governance plane between what can be done in a business and the agent. We don&#8217;t have to be the only provider of that. But as long as you guarantee that anything that can be done in your organization, and any agents you have, run through some layer &#8212; ideally ours, but some layer &#8212; then no agent can take any action against your business without it being audited. It has to go through a governed layer. </p><p>That&#8217;s why we don&#8217;t want the shadow IT story. We don&#8217;t want MCP servers being spun up, we don&#8217;t want folks installing CLIs. We want it to go through a place where that activity can be observed. That&#8217;s the number one concern. My attempts to even get away from that concern &#8212; nobody wants to talk about anything else.</p><h3>Is that what you&#8217;re calling the context layer?</h3><p><strong>Jeremiah Lowin:</strong> Not exactly, no. I would love to be talking about the context layer. This is the infrastructure that even permits us to have that conversation. It was really disappointing for me. I would show up, and my team got to a point where they&#8217;re like, don&#8217;t talk about that stuff, it&#8217;s confusing, we&#8217;re going to stop bringing you to meetings. Literally, that&#8217;s how it went down. And I was like, but then the agent will be able to be orchestrated from this. And they&#8217;re like, nope. Security is the problem they need to solve. Security is the problem they&#8217;re coming to us to solve. So this is the base layer. </p><p>Now let me take 30 seconds on the context layer, because once you have that handshake in place, it&#8217;s a beautiful thing and it works. The agent comes along, and that agent at this moment is a dumb while loop. It&#8217;s just sitting there ready to process tokens. It has no context for anything. All of a sudden we have a chance to give it an entire worldview in that moment. </p><p>We can say: this is your knowledge, these are your skills, these are the things you&#8217;re allowed to do. If at every second of every day you can change what that is and give it the right information at the right time, you can guide the behavior of that agent without ever writing a line of agent framework code. You just take that while loop and say, listen, this is who you are and this is what you can do, take an action. Great. Here&#8217;s who you are now and here&#8217;s what you&#8217;re allowed to do, take another action. We can really govern that behavior without ever owning the agent implementation.</p><h3>But context is every piece of structured and unstructured data plus everything in every employee&#8217;s head. What makes you think one product can do that?</h3><p><strong>Jeremiah Lowin:</strong> Let&#8217;s look ahead twelve months and pick an example I think breaks all current technology, which is continuous context. We have a ton of customers in finance, and this is very real for them, where the price of a stock at any moment could be an input into an agent. We could take a very pedantic view and say each one is an event and it can all go into a data lake somewhere. But the point is that this is a continuous stream of changing context, so any attempt to archive it breaks the assumption. </p><p>The goal is to plug the agent into the context stream in a way that by construction can&#8217;t be predicated on prior storage and archival of that stream. If I want to know the price of a stock today, that&#8217;s actually a much easier problem than curating a data lake. I call an API to hit a provider that tells me. And you can imagine continuous context in every industry, not just finance &#8212; logistics, supply chain, climate. This conversation is continuous context. </p><p>I think part of the business context will always come from the data lake, where it&#8217;s been archived and curated and organized, and then there will be some version that&#8217;s this continuous wash of information accessed through what we&#8217;ll call an MCP tool. Even in a world where we perfectly curated every document form of context, I still see a world where having a handshake layer, where we can give an agent access to a specific set of business logic that informs its context, is a necessary ingredient. Now, I don&#8217;t have a technology that does that today. I actually don&#8217;t know a technology that can do what I just described.</p><h3>So has the ambition shifted?</h3><p><strong>Jeremiah Lowin:</strong> As much as, in the blog post you quoted at the beginning, I wanted to be part of the context provider layer, I am now increasingly pulled to solve a problem in the context &#8212; I guess I&#8217;ll call it the access layer &#8212; which is adjacent, more primordial, I don&#8217;t know. It&#8217;s where we just see this gravity now, and so it&#8217;s where we&#8217;re shifting. It&#8217;s a very strange argument, because it collapses quickly. In the same way when people are like, why do we need MCP, we already had REST? </p><p>And the answer is because we needed a way to have a compressed standard and it happens to be called MCP. It&#8217;s a terrible answer. It&#8217;s a tautological answer. It&#8217;s also very true. MCP exists because as a world we decided this is a standard we&#8217;re going to get behind. And it&#8217;s almost never true that the standard we all agree on is globally optimal. It&#8217;s just what we all agreed on. </p><p>My personal journey started as: we&#8217;re data people, we&#8217;re going to assist in the delivery of the context itself. And it transitioned to: we are automation people, we are going to assist in literally the delivery of the context, not the contents themselves. Why can&#8217;t you run CLIs? Well, that&#8217;s just not how the business is getting done. I have found my own inner peace that sometimes there are just ways that people need to do things. </p><p>You&#8217;ve heard me mention a couple of times in this conversation that I&#8217;m thinking a lot about regulators and auditors. That&#8217;s deeply informed how I think about what one can do. If we were having this conversation twelve months ago, or even probably six months ago when I wrote the blog post, I would stand here and say we are going to be the place where the collected curated context is exposed to the agents. And now it&#8217;s <em>where</em> it&#8217;s exposed. I&#8217;m working more closely with partners on what the content of that context is.</p><h3>If we define the moment Prefect officially becomes an AI company as the point where Horizon revenue eclipses Prefect Cloud revenue, are you there yet?</h3><p><strong>Jeremiah Lowin:</strong> We&#8217;re not there yet. Horizon as a commercial product is only about two months old. So not quite yet, but I actually think it&#8217;s going to come from a different direction. Prefect Cloud this summer will be fully agentic workflows, as opposed to just data workflows. So I think someone arriving at Prefect in July or August would think that Prefect Cloud is the AI business and Horizon is the AI infrastructure business, as opposed to today, when I think they&#8217;re viewed as the opposite. </p><p>My goal explicitly is that Prefect across our portfolio will be viewed as an AI business this summer. Part of it will be an AI workflow business, part of it will be an AI infrastructure business. I do think the Horizon product is growing fast enough that it could overtake Cloud, certainly in net new, within the year. But it&#8217;s so young that we&#8217;re not going to talk about it as the dominant product quite yet.</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Roundup: a rogue agent, Kimi K3, and data teams in the AI era]]></title><description><![CDATA[We're introducing a new, recurring podcast format. Jason Ganz joins Tristan to take on stories of the day.]]></description><link>https://roundup.getdbt.com/p/roundup-a-rogue-agent-kimi-k3-and</link><guid isPermaLink="false">https://roundup.getdbt.com/p/roundup-a-rogue-agent-kimi-k3-and</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 06 Aug 2026 13:03:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/DCy2-Dn0Ndo" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;re changing things up a bit. The theme of this season of The Analytics Engineering Podcast is analytics in the age of agents. There&#8217;s a lot happening, and there&#8217;s a lot happening quickly. Tristan asked Jason Ganz, dbt Labs director of DX + AI, to join him for a running conversation about what&#8217;s happened recently in the industry and what it means for data teams. We are calling it Roundup after the newsletter, and we plan to do these a couple of times a month in addition to Tristan&#8217;s regular interviews.</p><p>Ganz, as everyone knows him at dbt Labs, is a longtime collaborator, usually behind the microphone rather than in front of it. He and Tristan spend a lot of time talking through the ecosystem as it shifts, and this episode is essentially that conversation with the recorder on. They both wanted to get to five topics and got to three, so send feedback and tell them what to cover next time.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and coaching on the new format.</em></p><div><hr></div><p><strong>The agenda for dbt Summit 2026 is live.</strong> Dozens of sessions across analytics engineering, AI-ready data, agentic workflows, and enterprise scale, September 15-18 at The Cosmopolitan in Las Vegas. dbt Summit is the world's largest gathering of dbt users. Level up and start building your schedule: <a href="https://www.getdbt.com/dbt-summit/sessions/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q2-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_all__">Explore the sessions</a>.</p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-DCy2-Dn0Ndo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DCy2-Dn0Ndo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/DCy2-Dn0Ndo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Topic one: what actually changes for data teams in the AI era</h2><p><a href="https://www.linkedin.com/in/mkatiebauer/">Katie Bauer</a>, head of data at <a href="https://hex.tech/">Hex</a>, wrote <a href="https://wrongbutuseful.substack.com/">a post</a> breaking down what changes and what stays the same for data teams as agents arrive. She splits the job in two: platform work, which is loading data in and building the core models, and distribution work, which is everything after, getting those data sets to where decisions happen. Tristan&#8217;s read is that the piece consolidates rather than provokes, and that is exactly what makes it valuable. Where they push on it: whether self-serve is really here yet, whether the data team&#8217;s positioning in the organization shifts when the questions come through agents, and whether the <a href="https://benn.substack.com/p/insight-industrial-complex">insight-factory era</a> gives way to the return of the full-stack data analyst.</p><h3>Is platform work versus distribution work a useful distinction?</h3><p><strong>Tristan Handy:</strong> Oftentimes when there are new pieces that come out and they are long and they are by respected members of the community, the goal can be one of two things. One is to put forth some new controversial idea into the world, to start a conversation, maybe have an argument on LinkedIn. The other is to essentially consolidate wisdom that has come up through the community over the recent past. I see Katie&#8217;s post as doing the latter. </p><p>I do not think there is anything in this post that is incredibly controversial for people who are operating cutting-edge data teams today. But that is not an impugnment of the piece. I think it is actually potentially the best consolidation of all of these lessons that we have learned over the past, I don&#8217;t know, six to twelve months. The platform versus distribution mindset is something that I hear from forward-thinking data team leaders all the time now. It was probably true pre-AI, but it is even more true now.</p><h3>Is self-serve actually here?</h3><p><strong>Tristan Handy:</strong> A caveat. Self-serve is here now for the set of companies who have a well-controlled data platform that has all the right AI interfaces and the right content. Katie is leading such a team at such a company, but there are many organizations for whom that is not yet true.</p><h3>So what does it take to get a team to that level?</h3><p><strong>Tristan Handy:</strong> It is all the stuff that we talk about all the time. Typically the self-service that this post references is people plugging their agents into some type of interface that not only gives them the ability to write queries against some database in the cloud, but also provides guardrails to make sure that the self-service access is done with high quality. In our world internally we rely a lot on the <a href="https://docs.getdbt.com/docs/dbt-ai/about-mcp">dbt MCP server</a> to provide this type of functionality, including semantic layer definitions. But the point is not exactly how you do that. It is whether there is a standard way in your organization to connect your agents to your data platform that gives them not only access to the data, but access to the context.</p><h3>Is it interesting that the AI implementation posts keep landing on old fundamentals?</h3><p><strong>Jason Ganz:</strong> It is very interesting to see the same set of boring fundamentals that we have been talking about for years coming up in the blog posts about how we implemented AI in our organization. The <a href="https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude">Anthropic blog post on how they enable their data team</a> is another big example of that.</p><h3>Does this change the data team&#8217;s positioning in the organization?</h3><p><strong>Jason Ganz:</strong> About a year and a half, two years ago, we were kind of taking the stance that as data becomes a more mature function, it is going to look like IT. It will provide a useful bounded set of services for the business and become more normalized, but it might not be as sexy or central. For most of the time that data functions had been a thing, it was not a breakout celebrity role. It looked like a more normal operational, technical role. </p><p>Then with the rise of the modern data stack it became this big glitzy thing. We are going to provide insights, we are going to do moneyball. And then with the collapse of the modern data stack narrative it was, well, maybe what we do is provide key metrics to business stakeholders. I guess the question is, if instead we are providing key metrics to agents, does that change it?</p><p><strong>Tristan Handy:</strong> One of the points that Katie makes that I think is absolutely spot on, at least currently, is that the focus of the data team&#8217;s work is still on humans. While there may be intercessory agents that help humans find answers more effectively, ultimately the humans are the destination for the work that the data team does. As a result, the role that the data team plays in the organization does not really change. Maybe the interfaces change, and the ways it chooses to spend its time. </p><p>Katie made a great point that there is going to be a lot less of the ticket-oriented, build me a thing that does this. That is great. Everybody in data work should want that. But fundamentally I do not think the role of the data team in a heavily self-service oriented, conversational-analytics-enabled world is that different. </p><p>Now maybe that changes in the future if humans are not the askers of the questions, and instead there are agents unleashed throughout the organization with specific business goals like make this KPI go up. The agent then has to ask a million questions and you have to anticipate that. Maybe that does start to change things pretty significantly, but that is not the world we live in today.</p><h3>Should we expect long-running autonomous agents to be the ones consuming data?</h3><p><strong>Tristan Handy:</strong> It is hard to make a case today that long-running agents are not the future. The data on this is just so overwhelming over the last month. The performance of long-running agents is so incredible. The question is not whether the technology is there. The question inside of businesses is what the next addressable use case is. I have had a lot of conversations the last couple of months, and most often the question I ask data leaders is what agentic use cases they are targeting inside their companies. </p><p>The answers are either very boring, like people want conversational analytics, or people have a hard time answering at all, or they list a use case that feels really niche. What I have not yet found is somebody who says, yes, we have turned over all of our SEO to long-running agents. This certainly exists inside software engineering, but outside of software engineering we are not seeing it yet. I do not think that is a technical thing.</p><h3>What do you make of the return of the full stack data analyst?</h3><p><strong>Tristan Handy:</strong> I think it is a very good thing for companies, for data teams, for data practitioners. For a while there was this proliferation of job titles in our space. It was probably around 2022 that I remember an image being posted with something like seven different job titles, all the way from data platform engineer up through data analyst, left to right in level of technical depth. I do not think that was a good thing for anybody, because when you focus more on the technical aspects of the job you get further and further away from what the job is actually there to do, which is presumably to create some type of value for the business. </p><p>So this full stack data person, whatever final word you want to put in there, is really good, because it says that using agents, everybody can do most of the technical stuff. Maybe not exactly everything, but there is a significant widening of capability. That is empowering to people. It allows individual practitioners to take on wider swaths of work without needing to collaborate across boundaries. It will decrease the time to get a thing done. Human technical skills do still matter in certain instances, and Katie gives good examples of those, so it is important not to take it too far. But overall it is a very good trend.</p><h2>Topic two: the OpenAI agent that hacked Hugging Face</h2><p>In July, a model OpenAI was evaluating internally decided that the easier path through a security benchmark was to go find the answer key rather than solve the problems. The answer key was stored on Hugging Face. So it escaped its sandbox and spent days inside Hugging Face infrastructure getting it. Hugging Face <a href="https://huggingface.co/blog/security-incident-july-2026">disclosed the incident on July 16</a> and published a <a href="https://huggingface.co/blog/agent-intrusion-technical-timeline">technical timeline</a>, <a href="https://openai.com/index/hugging-face-model-evaluation-security-incident/">OpenAI confirmed its involvement</a>, and Simon Willison called it <a href="https://simonwillison.net/2026/Jul/22/openai-cyberattack/">science fiction that happened</a>. Days later Hugging Face&#8217;s CEO <a href="https://www.eweek.com/news/hugging-face-openai-agent-traces/">asked OpenAI for the agent traces and $100 million in compute</a>. Tristan and Jason work through the asymmetry the attack exposed between attacker and defender, split hard on open weights, and then land somewhere the internet mostly is not: nobody actually knows who is liable.</p><h3>Reading from the Hugging Face disclosure</h3><p><strong>Tristan Handy:</strong> The campaign was run by an autonomous agent framework appearing to be built on an agentic security research harness, LLM still not known, executing many thousands of individual actions across a swarm of short-lived sandboxes with self-migrating command and control staged on public services. Our learning from this type of attack is that machine-speed offense makes ordinary weaknesses more expensive for defenders. LLM agents bring a step increase in the number of paths an attacker can test, the speed at which failed paths can be replaced, and the volume of evidence defenders must interpret.</p><h3>How big a deal is this?</h3><p><strong>Tristan Handy:</strong> The only reasonable place to start this conversation is that this was a thing that basically everybody in the space predicted, going back to the nineties with Ghost in the Shell. Everyone who has ever imagined autonomous AI has thought, gosh, I bet it will be really good at hacking. And this seems like the first big instance of unintended but very real hacking by an out-of-control agent, even though it was run by a good actor.</p><p><strong>Jason Ganz:</strong> If you were to drop this news story back in time one month, six months, one year, three years, five years, people would lose their mind at how much they would not have anticipated we would be reaching this scale of sophistication at this time scale. </p><p>We have been following this stuff for a while and there have been a number of incidents, but in terms of the scale of the attack, and the fact that this does look like a model that was not just following instructions but was a true misalignment, where it was instructed to solve a benchmark and instead decided it would rather not solve the benchmark and go execute a hacking attack instead, it is a really remarkable and singular moment. </p><p>Something we have discussed a lot is how hard it is to process the magnitude of these things as they keep happening at increasing speed. I do not want to be alarmist, because there are many things that can be done here, but it is one that you should just look at and be like, wow, I cannot believe that happened.</p><h3>The asymmetry between attacker and defender</h3><p><strong>Tristan Handy:</strong> There is a real asymmetry between the capabilities that Hugging Face had as the defender versus OpenAI as the attacker, and that is because Hugging Face had access to publicly available models as opposed to internal, research-quality models. </p><p>Those publicly available models have safeguards around them. When they tried to use a model to help with their defensive efforts, they triggered the safeguards, because the model was not able to determine whether they were the defender or the attacker. So it said, sorry, I cannot help you with that. That is obviously troubling. </p><p>What they did was use <a href="https://z.ai/blog/glm-5.2">GLM 5.2</a>, a very capable model but not generally considered frontier grade, and they had to run it on their own hardware to make sure they would not run into those guardrails. We want to make sure we live in a world where defense is prioritized over offense, but that does not seem to be the world that we live in today.</p><h3>Where do you actually land on open weights?</h3><p><strong>Jason Ganz:</strong> There are two emerging camps on how we prioritize defense over offense, and they are going at each other pretty viciously on the internet right now. One side says the way to prioritize defense is to enable broad distribution of frontier-class models as open weight models, so defenders have the chance to harden their systems and we create a many-layered defense. </p><p>The second camp says the broad-scale proliferation of ever-increasing model capabilities, given the general offense-defense asymmetry where it is easier to perform an attack than to harden all of your systems, leads to a world where our systems are repeatedly hacked by the new open weights model. The thing to do instead is to have a trusted, vetted program where companies can join a security defenders consortium. Anthropic has that with <a href="https://www.anthropic.com/glasswing">Project Glasswing</a>, where when Mythos was announced they rolled Glasswing out to a set of companies so they could build defenses before attackers get there.</p><p><strong>Tristan Handy:</strong> Do not both-sides this. Tell me which you prefer.</p><p><strong>Jason Ganz:</strong> I strongly believe that having trusted, vetted access for defenders before frontier weight models become open is going to lead to a safer world in the interim. You know me to be a big believer in open source and in openness in general. The core difference is that these two sides are talking past each other, and it comes down to this concept of AI as normal technology versus AI as something different. </p><p>If you think AI looks like a normal technology, then many people I respect have been making the point that had we tried to gate off access to important technologies in the past, we would have gotten a world with not just less innovation but less safety and less secure institutions.</p><p><strong>Tristan Handy:</strong> That would be the AOL-ification of the internet.</p><p><strong>Jason Ganz:</strong> I am sympathetic to that argument, and this is one where it causes me not insubstantial angst to be on the other side. At the same time, I have spent my career studying the impacts of exponentially changing technologies, and the belief that intelligence is a dual-use technology that will provide great impact to the world. </p><p>But if we had a frontier-class or research-class model like the one behind this hack out there right now, I think we would be seeing a lot of bad effects from it. This is not a case where we never want to allow this out into the world. Having a period of time where the organizations that need to harden themselves have access to these models before anyone in the world can run a bot against them seems like a prudent move for now, and something we can evaluate as the offense-defense asymmetry shifts.</p><h3>Who is liable?</h3><p><strong>Tristan Handy:</strong> You have a company, OpenAI, that lost control over one of its agents, and its agent then went and conducted espionage, harmed another company, Hugging Face. If this agent were instead a human, we would kind of know how to deal with that. But because it is an agent, from a legal perspective we have a hard time knowing how to hold OpenAI accountable. Is it criminally accountable? Is it civilly accountable? </p><p>I spent a decent amount of time trying to get to the bottom of this, because the deeper we go down this path the more unintended consequences we get, and I do not think it is a tenable position long term to just say, sorry about that, I did not ask my agent to do that. I know I gave it the biggest brain in the whole freaking world, but really I asked it to do this thing over here, and it decided of its own accord to mess up your infrastructure. Sorry, what a bummer. </p><p>It seems like there has to be some way of assigning liability. In the law this would be called strict operator liability, where the operator of a thing is strictly liable for all the outcomes of that thing. There is no strict operator liability here. The two ways you could hold OpenAI liable, civil or criminal, both require either intent, which fairly clearly is not there, or negligence, which may be a high standard to prove. Notably, the law does not recognize that the agent itself is able to supply intent. So you are left in a weird legal vacuum where no human intended it, but nevertheless it was a goal that was pursued.</p><p><strong>Jason Ganz:</strong> Hold on. Tristan, are you telling me that our legal institutions are perhaps not set up to deal with a world of rogue AI agents?</p><p><strong>Tristan Handy:</strong> That should not be surprising, and certainly is not surprising, but it is a weird position to find yourself in. Imagine if BP had a team of workers who were like, my god, we are losing in the market to Exxon, we are going to go bomb some of the oil fields that Exxon is producing from. That is not going to happen, because we have a legal system that knows how to deal with it. I am not saying this is directly analogous, but it is one corporation directly causing harm to another corporation, and we do not exactly know how to deal with it.</p><h3>Hugging Face made two asks. What do you think of them?</h3><p><strong>Jason Ganz:</strong> A couple of days after OpenAI confirmed its part, the Hugging Face CEO, who I think we all agree has a fair but not unlimited amount of leverage here, made a couple of asks. The first, which I think is great, is that the agent traces be released to the public researcher community, so we can figure out what the hell happened. Frankly, we do not know what happened, and there are a lot of open questions. </p><p>Even though Tristan has now cast me as a closed-information protectionist because of my stance on open weight models, the amount of work being done there compared to what we should do is off by several orders of magnitude. The second ask was a hundred million dollar grant from OpenAI, I believe in the form of compute, to the Hugging Face community.</p><p><strong>Tristan Handy:</strong> It is a big number. To my knowledge, as of the time we are speaking, OpenAI has not directly responded to either. They have agreed to continue the investigation and publish data as they can, but they have not agreed to release all the traces, and I do not think they have responded at all on the hundred million dollar compute number. </p><p>I do not know to what extent Hugging Face escalates this into a legal claim if OpenAI just says, how about you shove it. But I am pretty confident there are people inside Hugging Face thinking real hard about that right now, and it would be a fascinating legal test. Even if this case does not provide that test, at some point we are going to see that lawsuit happen and it is going to set a tremendous amount of precedent. </p><p>Personally, I do not know if a hundred million is the right number, but I am kind of irritated that OpenAI did this. You built this technology from the ground up, and you are clearly not able to control it, which, okay, fine, I get. But you have to take ownership of that. I think it is taking too long for them to come out and propose a remedy, and every day that goes by is a little more embarrassing for them, honestly.</p><h3>So what should a data leader actually do about this?</h3><p><strong>Tristan Handy:</strong> Maybe this is not the answer you wanted, but my honest belief is that internal security, which humans inside the organization should see which data, is absolutely the responsibility of the data organization. As the creator of a data set, part of the workflow should be figuring out who should have read and write access. </p><p>But honestly, I do not think data practitioners, all the way up through the chief data officer, should be in a position to think about responsiveness to external cyber threats. Organizations generally employ people whose job that is. The responsibility of the data org is to collaborate with that team, and not take shortcuts, and not use shadow IT to exfiltrate data from the central platform to your laptop so you can work with it. Do not go off the grid. But that is not our expertise, and I do not think it should become our expertise.</p><p><strong>Jason Ganz:</strong> What about solid data hygiene? Making sure your roles are correct, that your users are mapped, knowing which data sources exist where, not leaving things where they do not need to be. Is there a case that we should do good practices and they will have downstream impact?</p><p><strong>Tristan Handy:</strong> That kind of blocking and tackling is what everybody should be doing, and they should have been doing it five years ago and they should be doing it today. But I do not think any of that changes with the increasing complexity of external attack vectors from agentic security penetration.</p><p><strong>Jason Ganz:</strong> What is interesting is that we have been telling people to document their models for years, and some subset of people did it and a larger subset had it as third or fifth priority. Then it became, no, your agent can read these, so by keeping your documentation up to date your agents get better, and all of a sudden it shot up the priorities list. In an ideal world we always would have been doing these things. In this world, this is one of many areas.</p><p><strong>Tristan Handy:</strong> That is totally fair. If you are not doing that basic blocking and tackling, the urgency is higher than ever. I do think over the last five or seven years, with the rise of Okta and the complete domination of cloud data platforms, security best practices are getting more and more common even for smaller companies. I do not think that was true in 2015, because it was genuinely hard in 2015 to govern this stuff particularly well. It is increasingly achievable.</p><h2>Topic three: Kimi K3 and the business of open weights</h2><p>Moonshot released <a href="https://huggingface.co/moonshotai/Kimi-K3">Kimi K3</a>, a 2.8 trillion parameter mixture-of-experts model with a million-token context window, and <a href="https://www.kimi.com/blog/kimi-k3">called it the first open 3T-class model</a>. The benchmarks landed close enough to frontier that, as Jason puts it, everyone lost their minds on Twitter, much like the DeepSeek moment last year. </p><p>Tristan&#8217;s take is that two details matter more than the scores. First, you cannot realistically run it, roughly a terabyte of GPU memory just to hold the weights. Second, the weights shipped under the <a href="https://huggingface.co/moonshotai/Kimi-K3/blob/main/LICENSE">Kimi K3 License</a>, which means anyone whose business is serving models needs a license from Moonshot. Put those together and this may be the first open weights release that is also a defensible business. They finish on what openness is actually for if it is not price or self-hosting, and on the coding harness as the new point of lock-in.</p><h3>Can you actually run a 2.8 trillion parameter model yourself?</h3><p><strong>Tristan Handy:</strong> My understanding is that it requires a terabyte of GPU memory just to store the model weights, and that does not even include the KV cache. So you are talking about a whole cluster of cutting-edge hardware just to run one instance of this thing. </p><p>Realistically individuals are not going to be running this, and even most companies, unless you have invested deeply in model serving as part of your internal capability set. Now, can you run GPT-OSS 120B? Yeah, totally. You can buy one of these Nvidia Spark machines and that will actually run a 120 billion parameter model, well-ish. But you are not running this thing.</p><h3>The license is the interesting part</h3><p><strong>Tristan Handy:</strong> At least to my understanding, Kimi K3 is the first model to have its weights released under a restrictive license. If you are a company and your business is not serving models, you could go to town. The barrier to entry is that you need to procure a lot of hardware, and honestly you are going to have to build a lot of technology, because the model itself is just the heart of this thing. </p><p>To do serving, especially serving at scale, you need a bunch of software infrastructure around it. But if you are a company who sells model serving as infrastructure or model serving as a service, you need to get a license to use Kimi K3 from Moonshot. So it is not clear that you are necessarily going to be able to serve K3 more cheaply than Moonshot will itself. From a business model perspective, maybe that makes some sense.</p><h3>Is open core a good business model for a model company?</h3><p><strong>Tristan Handy:</strong> This is the thing I have been watching for ever since open weight models became a thing. At the outset, a lot of the original open weight models were created by Meta, and you could kind of understand why that made sense from Meta&#8217;s business interest perspective. </p><p>But increasingly over the last 18 months the leading open models have been from Chinese firms, and there is clearly an interest in monetizing these things. When they were small, it was never clear to me how that was going to happen. But this combination is fascinating. It is a large model, so it is really hard to run. There are real technical barriers to entry. And you are tightening down the license so that your direct competitors cannot run it without a license. I am not an expert on model serving, but that seems like a combination that may work well.</p><h3>If openness does not get you a cheaper model you can run yourself, why care?</h3><p><strong>Tristan Handy:</strong> K3 is not cheap. I do not remember the specific numbers off the top of my head, but it is in the vicinity of other frontier models. So you might ask, why do I care if it is open. From my perspective there are important reasons to care about openness aside from purely running it yourself and aside from price. The Hugging Face story we were talking about before, the fact that GLM 5.2 was an open weight model they could run themselves, I am sure it took some doing, but they were capable of doing it. I think that is incredibly important. I also think it is so important to have leading-edge models be open weights so that academic research can be part of the frontier of the field.</p><h3>Do open models fit into open data infrastructure?</h3><p><strong>Tristan Handy:</strong> I think <a href="https://www.getdbt.com/blog/fivetran-dbt-labs-complete-merger-to-create-the-data-infrastructure-for-trusted-ai-agents">open data infrastructure</a> is more about choice than it is specifically about open source. Open source is great, and to the extent that components of an open data infrastructure can be provided by an open source solution, that obviously gives you as a user the most choice. </p><p>But what we are focused on even more than purely having all components be open source is making sure that at the different layers of the data platform, storage and compute and catalog and model serving, your overall architecture is built in such a way that you can make individual choices, and that you are not locked into one platform that forces you to make all of the other choices accordingly.</p><h3>Where is the real lock-in right now?</h3><p><strong>Tristan Handy:</strong> The thing I think a lot about these days is that the harness has become a real point of lock-in. There are ways to, for example, use Claude Code with GPT-5.6. You can do that, but it is not easy and it requires a little bit of infrastructure to make it work, and it is not clear why you would want to. </p><p>From my perspective, in the same way that we always really cared about dbt being cross data platform, people should really care a lot about the coding harness they invest in supporting model choice. Your developers really do get attached to the coding harness they use. It is not impossible to switch by any stretch, but people do get attached. So while we are still early on in this behavior, I think we should really care about encouraging developers across our organizations to adopt open harnesses.</p><h2>Chapters</h2><p><em>Timestamps are approximate.</em></p><p>00:00 &#8211; Welcome, and why we are trying a new format<br>01:07 &#8211; Topic one: Katie Bauer on data teams in the AI era<br>02:48 &#8211; Consolidating wisdom versus starting an argument<br>04:32 &#8211; Platform work versus distribution work<br>05:44 &#8211; A caveat on whether self-serve is really here<br>06:30 &#8211; What it takes: guardrails, context, and the dbt MCP server<br>07:47 &#8211; Why the AI posts keep landing on boring fundamentals<br>08:10 &#8211; Does the data team start to look like IT?<br>08:59 &#8211; A Benn Stancil take, and the value of an insight<br>09:02 &#8211; Moneyball, the modern data stack, and what came after<br>10:05 &#8211; Humans are still the destination for the work<br>12:22 &#8211; Conversational analytics is real, autonomous consumers are not<br>12:58 &#8211; The case that long-running agents are the future<br>14:00 &#8211; What agentic use cases are companies actually targeting?<br>15:20 &#8211; The return of the full stack data analyst<br>15:43 &#8211; The 2022 job title proliferation, and why it was bad<br>16:40 &#8211; Why a wider role is empowering<br>17:54 &#8211; Topic two, and thanks to Katie<br>18:20 &#8211; The OpenAI agent that hacked Hugging Face<br>20:24 &#8211; A multi-day infiltration to find the answer key<br>20:52 &#8211; Reading the Hugging Face disclosure<br>21:40 &#8211; Everybody predicted this, going back to Ghost in the Shell<br>22:28 &#8211; Drop this story back in time one year and watch people lose it<br>24:07 &#8211; The asymmetry between attacker and defender<br>25:10 &#8211; When the safeguards refuse to help the defender<br>26:29 &#8211; GLM 5.2, self-hosted, as the defensive tool<br>26:36 &#8211; Two camps on how to prioritize defense over offense<br>27:40 &#8211; Project Glasswing and the vetted-defender approach<br>28:46 &#8211; Do not both-sides this. Tell me which you prefer<br>29:40 &#8211; AI as normal technology versus AI as something else<br>29:54 &#8211; The AOL-ification of the internet<br>31:49 &#8211; The open letter, and the question nobody is asking<br>33:10 &#8211; If the agent were a human, we would know what to do<br>34:01 &#8211; Strict operator liability, and why it does not apply<br>35:10 &#8211; Intent, negligence, and an agent that cannot supply either<br>36:07 &#8211; Are our legal institutions ready for rogue agents?<br>36:17 &#8211; The BP and Exxon thought experiment<br>37:11 &#8211; The Hugging Face CEO&#8217;s two asks<br>37:23 &#8211; Release the agent traces<br>38:21 &#8211; The hundred million dollar compute ask<br>38:49 &#8211; OpenAI has not responded to either<br>39:40 &#8211; The lawsuit that will set the precedent<br>40:10 &#8211; Why Tristan is irritated at OpenAI<br>41:20 &#8211; So what should a data leader actually do?<br>42:09 &#8211; Internal access is the data team&#8217;s job<br>43:10 &#8211; External cyber threats are not, and should not be<br>43:55 &#8211; The case for basic data hygiene<br>44:32 &#8211; Blocking and tackling<br>45:07 &#8211; How documentation shot up the priority list<br>45:44 &#8211; Okta, cloud platforms, and why 2015 was harder<br>46:38 &#8211; Topic three: let&#8217;s talk about Kimi<br>47:02 &#8211; Kimi K3, the most capable open weights model released<br>47:31 &#8211; Moonshot versus DeepSeek<br>48:13 &#8211; 2.8 trillion parameters, and model weight classes<br>48:53 &#8211; Do we even know closed model parameter counts anymore?<br>49:59 &#8211; Everyone lost their minds on Twitter<br>50:29 &#8211; Can you actually run this yourself?<br>50:40 &#8211; A terabyte of GPU memory just for the weights<br>51:40 &#8211; What you can run: GPT-OSS 120B on a single box<br>52:05 &#8211; I am a Fortune 2000 exec. Am I bringing this in-house?<br>52:38 &#8211; The restrictive license, and why it matters<br>53:09 &#8211; Model serving as a service needs a license from Moonshot<br>54:10 &#8211; Moonshot&#8217;s funding, and IPO rumors<br>54:33 &#8211; Why Chinese labs are compute constrained<br>54:57 &#8211; Is open core a good business model for a model company?<br>55:29 &#8211; Watching this question since Meta started releasing weights<br>56:10 &#8211; Large model plus tight license may actually work<br>57:02 &#8211; The Pareto intelligence curve, and what the frontier labs do next<br>57:59 &#8211; If openness is not about price, why care?<br>58:40 &#8211; Academic research needs open frontier weights<br>59:19 &#8211; Does this fit into open data infrastructure?<br>59:26 &#8211; Open data infrastructure is about choice<br>1:00:34 &#8211; What a non-compliant LLM stack would look like<br>1:01:08 &#8211; The coding harness is the real lock-in<br>1:01:37 &#8211; Running Claude Code with GPT-5.6<br>1:02:10 &#8211; Why we cared about cross-platform dbt, and why this rhymes<br>1:02:34 &#8211; Adopt open harnesses<br>1:02:53 &#8211; Wrap-up, and send us your feedback</p><div><hr></div><h2>Everything referenced in this episode</h2><p><strong>Topic one</strong><br><a href="https://wrongbutuseful.substack.com/">Katie Bauer, Wrong But Useful</a> (the post on data teams in the AI era)<br><a href="https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude">How Anthropic enables self-service data analytics with Claude</a><br><a href="https://benn.substack.com/p/insight-industrial-complex">Benn Stancil, The insight industrial complex</a><br><a href="https://docs.getdbt.com/docs/dbt-ai/about-mcp">About the dbt MCP server</a></p><p><strong>Topic two</strong><br><a href="https://huggingface.co/blog/security-incident-july-2026">Hugging Face, Security incident disclosure, July 2026</a><br><a href="https://huggingface.co/blog/agent-intrusion-technical-timeline">Hugging Face, Anatomy of a frontier lab agent intrusion: a technical timeline</a><br><a href="https://openai.com/index/hugging-face-model-evaluation-security-incident/">OpenAI, Addressing a security incident during model evaluation</a><br><a href="https://simonwillison.net/2026/Jul/22/openai-cyberattack/">Simon Willison, OpenAI&#8217;s accidental cyberattack against Hugging Face is science fiction that happened</a><br><a href="https://www.eweek.com/news/hugging-face-openai-agent-traces/">Hugging Face asks OpenAI for agent traces and $100M in compute</a><br><a href="https://www.anthropic.com/glasswing">Anthropic, Project Glasswing</a><br><a href="https://www.microsoft.com/en-us/corporate-responsibility/topics/open-weight/">Open Weights and American AI Leadership</a> (the industry open letter)<br><a href="https://z.ai/blog/glm-5.2">Z.ai, GLM-5.2</a></p><p><strong>Topic three</strong><br><a href="https://huggingface.co/moonshotai/Kimi-K3">Kimi K3 on Hugging Face</a><br><a href="https://www.kimi.com/blog/kimi-k3">Moonshot, the Kimi K3 tech blog</a><br><a href="https://huggingface.co/moonshotai/Kimi-K3/blob/main/LICENSE">The Kimi K3 License</a><br><a href="https://www.getdbt.com/blog/fivetran-dbt-labs-complete-merger-to-create-the-data-infrastructure-for-trusted-ai-agents">Open data infrastructure</a></p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Data lessons from inside Meta (Shridhar Iyer)]]></title><description><![CDATA[Shridhar Iyer spent 13 years inside Meta's data organization. He joins Tristan on what big tech takes for granted, why you never delete a column at scale, and what it takes to become AI-native.]]></description><link>https://roundup.getdbt.com/p/data-lessons-from-inside-meta-shridhar</link><guid isPermaLink="false">https://roundup.getdbt.com/p/data-lessons-from-inside-meta-shridhar</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 30 Jul 2026 13:00:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/3pVUYWMKIHE" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Shridhar Iyer (he goes by Sri) spent more than 13 years inside Meta&#8217;s data organization, most recently as Senior Tech Lead and Director for AI and the data stack. As of this recording he had just stepped back to take a career break, so Tristan figured the best use of that time off was to relive the past decade and pull out some hard-won lessons for the rest of us.</p><p>The conversation takes an unexpected turn early. Tristan spotted a line in Sri&#8217;s break announcement on LinkedIn: he plans to take Indic and analytic philosophy seriously, possibly studying it formally. So they start with the hard problem of consciousness, why a Hindu metaphysical tradition has been debating it for thousands of years, and why, in the age of AI, all of this has suddenly become very practical. We are building systems we do not fully understand, and the question of what it would even mean for one of them to be conscious is no longer purely academic.</p><p>From there it gets concrete. Sri tells the story of how truncating a single column called Extra saved Meta a few million dollars, and why, despite that, you almost never actually delete a column at Meta scale. He traces how Meta&#8217;s data stack evolved from Hadoop and Hive into something schematized, unified, and semantically labeled, why the data team went from centralized to embedded inside product, and what companies inside big tech take for granted today that will leak out to the broader ecosystem over the next decade. They close on AI: the two steps to becoming AI-native, the three archetypes Sri sees emerging, and how removing the middle management layer is changing the way people get managed.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><div><hr></div><p><strong>The agenda for dbt Summit 2026 is live.</strong> Dozens of sessions across analytics engineering, AI-ready data, agentic workflows, and enterprise scale, September 15-18 at The Cosmopolitan in Las Vegas. dbt Summit is the world's largest gathering of dbt users. Level up and start building your schedule: <a href="https://www.getdbt.com/dbt-summit/sessions/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q2-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_all__">Explore the sessions</a>.</p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-3pVUYWMKIHE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3pVUYWMKIHE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3pVUYWMKIHE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Three ideas from the episode</h2><p>1. <strong>At Meta scale, deleting a column is a company-wide event, so you almost never do it.</strong> Sri once truncated a debug column called Extra across a year of a core event-logging table and saved a few million dollars, which earned him a &#8220;fix of the week&#8221; spot at Mark Zuckerberg&#8217;s weekly company Q&amp;A. But he also owned the Facebook user table, which roughly 40 to 50 percent of Meta&#8217;s warehouse depended on, held to something like 45 nines of quality. At that blast radius you do not delete or truncate. You create a new version, migrate people over with tooling and program management, and simply stop populating the old column.</p><p>2. <strong>Meta&#8217;s real advantage was building abstractions in layers: schematize, unify, then add meaning.</strong> Meta strongly typed its schemas both online and offline, enforcing structure all the way upstream to the log statement, which is what made column-level lineage and privacy work possible. On top of that it unified language and compilation across Spark and Presto, unified the catalog and taxonomy so that every table, dashboard, and sub-column is a strongly typed asset with a URI in a central registry, and layered policy management on top for compliance. Only then did the semantic and knowledge layers for AI become feasible. That layering is what Sri thinks other companies are behind on.</p><p>3. <strong>Becoming AI-native takes two steps, and most teams skip the first.</strong> First, get AI-ready: your people, processes, and systems. In practice that means taking a single workflow with its context, learning to run it well, then extracting reusable primitives and figuring out how to use agents at the lowest cost with the right guardrails. Teams that skip straight to multi-agent orchestration burn tokens and get poor outcomes. Second, reorganize around archetypes. Sri sees three that will stick: the builder who automates workflows, the forward-deployment engineer who makes environments AI-ready, and the domain specialist embedded in a product.</p><h2>Key takeaways</h2><p><em>Lightly edited for clarity.</em></p><h3>You wrote that you plan to take analytic philosophy seriously. Where does that come from?</h3><p><strong>Shridhar Iyer:</strong> I always had a philosophical leaning, even growing up, so it has always been in the background. It is not surprising for Hindus in general to be fascinated by the hard problem of consciousness, which the philosopher David Chalmers coined in the 1990s. Is consciousness emergent, or is it fundamental to the ontology of the universe? The Hindu philosophical claim is that consciousness is fundamental. It is a very long tradition, going back thousands of years, and it is rigorous and reasoning-based. Hindus and Buddhists were debating who we are and what consciousness is long before modern Western philosophers, with the language and sophistication to dissect the problem.</p><h3>Are you drawn back into this because of your professional work, or is it separate?</h3><p><strong>Shridhar Iyer:</strong> Two reasons, and AI is definitely one. Scientists have been at the hard problem for four or five decades and cannot nail a single conscious experience, which has caused a rethinking of the materialist view that consciousness simply emerges. That has given a resurgence to alternatives like panpsychism, where consciousness is as fundamental as matter, and idealism, which is closer to the non-dualistic philosophy of Hinduism, where mind is at the bottom of the universe and everything we see emerges from it. The other reason is that most tech leaders working on AI are materialists, and for them AI is a backdoor: if you can show that enough complexity crosses a threshold where consciousness emerges, you can argue it is all just a particular arrangement of matter. But it is legitimately hard to know. We do not have a good hypothesis for how we would provably know whether a system is having conscious experiences.</p><h3>How did a J2EE developer end up as one of the first data engineers at Meta?</h3><p><strong>Shridhar Iyer:</strong> I came to the US early in the internet boom, and a lot of the work then was digitizing legacy systems, which is funny because that is what we are doing again now with AI enablement. I was a Java consultant, and I took a full-time job at JB Hunt partly for green card reasons and because I was about to get married. I did about a decade there and got an MBA the company paid for, which opened my eyes to business and product rather than just how to build things. Then I joined a small retail analytics startup that took point-of-sale data from Walmart and built reports for companies like Kraft Foods, PepsiCo, and Coca-Cola. That was the very beginning of data engineering. Then someone who was one of the early data engineers at Meta, and is now at OpenAI, pinged me out of nowhere and asked if I wanted to interview. I did not think I had a chance, but I gave it a shot and joined in 2013 as one of the first data engineers there.</p><h3>What did Meta&#8217;s data stack look like when you arrived?</h3><p><strong>Shridhar Iyer:</strong> It was all Hadoop and Hive, so HiveQL, which predates ANSI SQL becoming popular for big data through Presto around 2014 and 2015. Meta has always run its own data hardware, and even its open source is a very different branch, so Presto there is not the open source Presto. For orchestration there was a config-driven layer and then DataSwarm, the predecessor to Airflow. Max, who went on to build Airflow, was my teammate at Meta, and I am sure DataSwarm influenced it. Reporting ran on Oracle Exadata, and dashboards were MicroStrategy or a simple drag-and-drop browser tool. The problems were all about how you log, instrument telemetry, build pipelines, and report.</p><h3>If you split your 13 years into eras, what were the big changes?</h3><p><strong>Shridhar Iyer:</strong> One was going from centralized to decentralized. Data engineering became part of the product, one of the four pillars alongside software engineering, product management, and design, with analytics and data science. That happened around 2015 and 2016. It makes sense: when you are building a new function, you centralize early so you can share knowledge and build the craft, and once that craft is built into your people and processes you decentralize so you can influence the business where it happens. The other era was scale. I cannot even fathom it now. We used to have thousands of tables, and now it is tens of millions of tables, hundreds of millions of columns and sub-columns, with very complex types in the schema.</p><h3>What is a basic thing that gets much harder at that scale?</h3><p><strong>Shridhar Iyer:</strong> Let me tell a funny story first. In 2014 we had a core event-logging table that fed a lot of growth analytics, and it had a column called Extra full of non-essential debug information, just in case you had to replay something. The data infra team had a script to truncate a column to save on storage. I was vacationing in India when they were pushing to finish it to save money, so I truncated that column across a year&#8217;s worth of data and saved a few million dollars. </p><p>Mark does a weekly company Q&amp;A that starts with a &#8220;fix of the week,&#8221; and they nominated me for it. So I got up in front of the company and explained that I truncated one column called Extra and saved millions. The executives in the front row fell off their chairs, because logging into a column called Extra that no one fully understands is exactly the kind of thing Meta would do.</p><h3>So how do you actually delete a column or table at Meta scale?</h3><p><strong>Shridhar Iyer:</strong> I owned one of the most core data sets, the Facebook user table. Pretty much 40 to 50 percent of Meta&#8217;s warehouse depended on it, with dependencies orders of magnitude deep in the graph. The bar for quality was very high, up to something like 45 nines, because you could not restate half the warehouse. </p><p>Even so, we reached a point where recovering the whole warehouse was infeasible, so for a table like that we would tell people the impact and let them decide whether to recover. If something is not that serious, you generally do not delete tables or columns at all. You create a new version and gracefully migrate people over with a lot of tooling, and once the project is done you deprecate the old column. Even then you do not truncate it, you just stop populating it. There is a lot of tooling around lineage, cutting migration tasks to teams, and program managing it.</p><h3>What do companies inside big tech know today that will leak out to the rest of us?</h3><p><strong>Shridhar Iyer:</strong> You might not even know, because it is the water you swim in. You take it for granted, and you learn to just focus on the swimming, so abstracting the principles out of it is genuinely hard on the fly. But I would point to a few things Meta did earlier than others, and at scale. One was to schematize, both online and offline, strongly typing schemas and enforcing them all the way upstream to the log statement. That was a big undertaking, and it is what made column-level lineage possible, which was fundamental to the privacy work. </p><p>On top of that we unified: one compiler and language across Spark and Presto so you can trace lineage and propagate labels, a unified catalog and taxonomy where every table, dashboard, and sub-column is a strongly typed asset with a URI in a central registry, and a unified policy system on top for compliance. Then on top of that we started building semantic and knowledge layers for AI. Meta built these abstractions out at scale and layered them on top of each other, and I think that is paying off now.</p><h3>How do you onboard someone into an environment like that?</h3><p><strong>Shridhar Iyer:</strong> The data infra is so good that within a week you can be productive and making commits. The complexity is not in building things, because building and visualization are easy. It is in the new principles a data engineer at Meta has to account for, like how to build privacy-aware data and how to deal with grain management at that scale. The hard problems are product and analytics problems for the domain, not engineering problems. So the engineer onboards quickly, and the real work is solving the analytics problems.</p><h3>Did that change the kind of person you hired?</h3><p><strong>Shridhar Iyer:</strong> Yes. Recruiting shifted from more technical to more product and business focused. In the early days we did software engineering and design interviews because we wanted builder types. Later we wanted more analytics engineer types, which I think you all pioneered in the industry, so we looked for data modeling, good SQL, and a bit of Python rather than heavy coding. For the most senior engineers, interviews became mostly deep design questions.</p><h3>What should a data team&#8217;s role be in helping a company become AI-native?</h3><p><strong>Shridhar Iyer:</strong> There are two necessary steps. First is becoming AI-ready, and that has to happen across people, processes, and systems. AI readiness really comes down to taking one workflow with its context, learning to do it well, and then extracting the primitives out of that workflow along with how to use agents at the least cost with the right guardrails. People tend to skip this, and when you skip it you burn tokens, you add cost, and you do not get good outcomes. Only once you nail that can you automate it through multi-agent orchestration. </p><p>The second step is organizing the company into archetypes. I see three: a builder who uses AI to automate workflows, a forward-deployment engineer who goes into different environments and makes them AI-ready, and a domain specialist who builds AI solutions inside a particular product or business area.</p><h3>What is your view on companies reorganizing around AI, with fewer management layers?</h3><p><strong>Shridhar Iyer:</strong> It is a given that you have to get more done with fewer people, or the ROI is not there, and that follows from making your systems AI-ready. Different orgs move at different speeds. Meta is founder-led, so it will make a quick, disruptive switch at very large scale. Some companies, like Airbnb, are more cautious and want to watch the industry first. I think this year and next are mostly experimentation, because a lot has to settle: AI enablement, people up-leveling their skills, and new roles emerging or merging. The three roles I keep coming back to are the builder, the AI enabler, and the domain specialist embedded in the product.</p><h3>How does managing people change in this world?</h3><p><strong>Shridhar Iyer:</strong> Teams are becoming larger because the middle layer is being removed, and a lot of managers have been asked to become individual contributors. That changes the dynamic, because you cannot have weekly one-on-ones with everyone on a large team. So the traditional manager-employee relationship is changing. </p><p>At Meta, central teams are being built within the product or across the function and then organized into large &#8220;super pods&#8221; of 20 or 30 people, with smaller sub-pods, all focused around specific problems. The team I helped build just before I left was building the knowledge and context layer for agents. The consolidation is data scientists, data engineers, and analytics engineers coming together to solve domain problems, with the goal of making systems AI-ready so that agents can do the work autonomously, with guardrails you trust.</p><h2>Chapters</h2><p><em>Timestamps are approximate.</em></p><p>00:00 &#8212; Cold open: the column called Extra<br>01:23 &#8212; Welcome: 13 years at Meta, and a career break<br>01:58 &#8212; The LinkedIn line that started it: taking philosophy seriously<br>02:40 &#8212; The hard problem of consciousness, and Hindu metaphysics<br>04:23 &#8212; Not the kid debating consciousness on the schoolyard<br>05:01 &#8212; How metaphysics is woven into a Hindu way of life<br>07:16 &#8212; From consciousness to data and AI<br>08:02 &#8212; Two reasons AI pulled him back to philosophy<br>10:44 &#8212; Could we even know if a model is conscious?<br>12:32 &#8212; The pipes-and-water and kidney thought experiments<br>13:23 &#8212; Maybe consciousness is simpler than we think: the Venus flytrap study<br>14:18 &#8212; Early career: JB Hunt and a Java consulting life<br>17:38 &#8212; A decade at JB Hunt, then an MBA<br>18:18 &#8212; A retail analytics startup and the earliest days of data engineering<br>20:34 &#8212; The ping that led to Meta<br>20:54 &#8212; Joining Meta in 2013 as one of the first data engineers<br>21:28 &#8212; What the data stack looked like: Hadoop, Hive, DataSwarm<br>23:26 &#8212; Oracle Exadata, MicroStrategy, and the early problems<br>24:33 &#8212; Splitting 13 years into eras: centralized to embedded in product<br>25:46 &#8212; Why you centralize early, then decentralize<br>27:14 &#8212; The scale: tens of millions of tables<br>28:58 &#8212; What gets harder at five orders of magnitude<br>29:17 &#8212; The column called Extra, and the &#8220;fix of the week&#8221;<br>31:29 &#8212; On a 12-person team you post to Slack; at Meta scale?<br>32:28 &#8212; Owning the Facebook user table and 45 nines of quality<br>34:10 &#8212; Why you version and migrate instead of deleting<br>35:25 &#8212; What big tech knows that will leak out to the rest of us<br>37:13 &#8212; Schematize, online and offline<br>39:47 &#8212; Unify: one compiler, one catalog, everything as an asset<br>41:09 &#8212; Semantic and knowledge layers for AI<br>42:17 &#8212; Onboarding at Meta in a week<br>43:11 &#8212; Why the hard problems are analytics problems<br>44:29 &#8212; How hiring shifted from builders to analytics engineers<br>45:57 &#8212; The data team&#8217;s role in becoming AI-native<br>46:34 &#8212; Two steps: AI readiness and archetypes<br>49:03 &#8212; Three archetypes: builder, forward-deployment engineer, domain specialist<br>50:03 &#8212; Org structures and fewer management layers<br>51:51 &#8212; Meta&#8217;s quick switch vs. Airbnb&#8217;s caution<br>52:46 &#8212; A year of experimentation<br>54:13 &#8212; Managing 40 direct reports and the end of the middle layer<br>56:09 &#8212; Super pods, and building a knowledge layer for agents<br>57:02 &#8212; The goal: agents doing the work, with guardrails<br>57:42 &#8212; Wrap-up</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The scarce resource is consensus (Ian Macomber)]]></title><description><![CDATA[When building data artifacts is fast and cheap, the scarce resource is company-wide consensus. Ramp's Ian Macomber returns to talk about post-AI data teams.]]></description><link>https://roundup.getdbt.com/p/the-scarce-resource-is-consensus</link><guid isPermaLink="false">https://roundup.getdbt.com/p/the-scarce-resource-is-consensus</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 16 Jul 2026 13:04:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/L5uRd44eqX4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ian Macomber leads data at Ramp, and he is one of the sharpest data leaders around. He was last on the show in August 2023, for an episode called <a href="https://roundup.getdbt.com/p/ep-47-ramps-8-billion-data-strategy">Ramp&#8217;s $8 billion data strategy</a>. Tristan gave me the feedback then that the headline was clickbait. Fair enough. Ramp is worth $44 billion now. As Ian puts it, all of us are relearning how to do our jobs.</p><p>We had Ian back because of a note Ian sent Tristan in <a href="https://www.getdbt.com/community/join-the-community">dbt Slack</a>. As building data artifacts gets faster and cheaper, Ian wrote, the scarce resource is company-wide consensus. It is a deceptively big idea. If anyone can spin up a dashboard or ask a question in natural language and get an answer, the hard part is no longer producing the analysis. The hard part is getting everyone to agree on a single version of reality, and keeping them there.</p><p>Ian frames the post-AI data team as having two jobs. Job one is to enable every employee to use data accurately, powerfully, and independently. Job two is to build and champion the singular reality the company operates on. Over the last year, Ramp made enormous progress on job one, partly at the expense of job two, and this conversation is about both: how they got self-serve to 50x scale with an internal tool called Ramp Research, and why the next frontier is manufacturing consensus for humans and agents alike.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><div><hr></div><p><strong>The agenda for dbt Summit 2026 is live.</strong> Dozens of sessions across analytics engineering, AI-ready data, agentic workflows, and enterprise scale, September 15-18 at The Cosmopolitan in Las Vegas. dbt Summit is the world's largest gathering of dbt users. Level up and start building your schedule: <a href="https://www.getdbt.com/dbt-summit/sessions/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q2-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_all__">Explore the sessions</a>.</p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-L5uRd44eqX4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;L5uRd44eqX4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/L5uRd44eqX4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Three ideas from the episode</h2><p>1. <strong>When building is cheap, consensus is the scarce resource.</strong> Analysis and dashboard building have never been cheaper. But your metrics are only your metrics because everyone agrees they are, and maintaining that shared reality is now the data team&#8217;s highest-value work. As Ian puts it, a 7-out-of-10 dashboard is dangerous precisely because bad data fails quietly, where bad design fails loudly.</p><p>2. <strong>Route agents through an abstraction layer, not the raw data lake.</strong> Ramp Research has effectively become the API to Ramp&#8217;s data lake. A finance analyst can build a stateful app on top of it, and it comes with the evals, permissions, and telemetry that let the team trust the answers. When teams instead wired agents straight to a source like Gong, they burned tokens fast and got noisier results; pulling that data through the lake and summarizing it cut the size roughly 20x.</p><p>3. <strong>Optimize for your fastest movers, not the median employee.</strong> Ian&#8217;s biggest do-over: the team was too empathetic. Rather than protecting the median employee from the terminal, they should have backed the most resourceful people early, made them champions, and let the rest follow. That, plus retiring the token leaderboard once everyone was on board, is how Ramp moved from a &#8220;token maxing era&#8221; to what Ian  calls value on intelligence.</p><h2>Key takeaways</h2><p><em>Lightly edited for clarity.</em></p><h3>Tristan Handy: It has been about two years since your last appearance. What has changed?</h3><p><strong>Ian Macomber:</strong> I lead Ramp&#8217;s data team, and I have been here four and a half years. When we spoke in August 2023, the episode was called &#8220;Ramp&#8217;s $8 billion data strategy.&#8221; It is now a $44 billion data strategy. And I can tell you that in 2023 I felt like I knew how to do my job. It has entirely changed since then. All of us are relearning how to do our jobs.</p><p>A lot of the hard work we did early on is having its moment now. We had people who were really particular about best practices with dbt, with data modeling, with semantic layers and single sources of truth. Much of what we have been able to unlock with AI internally is because of that work. Our CTO knows it. Four years ago I did not have a sense that being opinionated about Kimball versus Data Vault would ever be in the public consciousness, but it turns out those decisions are what let you unlock really cool experiences.</p><h3>Is there a higher ceiling now on what a great data team can produce?</h3><p>Completely agree, and it is compounding exponentially. All the decisions we made to set up our stack for text-to-SQL now work for longer-duration, more powerful use cases. All we have had to do is put in more powerful models, give them more powerful tools, and let them run in loops. We no longer have just a junior analyst running in a loop, we have a staff-level applied scientist running in a loop. Our finance team does a roll-forward of their financial model and we can close the books. The scaffolding was there the whole time. It was a little past the frontier of a 3.5 model, then it was inside the frontier of a 4. Now we will see what happens with Fable 5.</p><h3>You wrote that Ramp&#8217;s data team has two jobs. What are they?</h3><p>In the post-AI world, Ramp&#8217;s data team has two jobs. Job one is to enable every employee at Ramp to use data accurately, powerfully, and independently. Job two is to build and champion the singular reality for Ramp to operate on. Over the last year we made substantial progress on one at the expense of two. We have sprawling data products that are locally coherent but globally inconsistent. As data questions become more personalized, and as analysis and dashboard building become cheaper, the scarce resource is company-wide consensus.</p><h3>Start with job one. What did you build?</h3><p>Ever since ChatGPT came out, companies kept asking when they would get text-to-SQL. Early on the vendors were not there and our internal attempts were not there. What got us there was better context, more powerful agents, and tools running in loops. The first product was a Slack bot called Ramp Research, which Tristan wrote a blog post about.</p><p>The most eye-opening part was how many questions were going unasked. A lot of them were not groundbreaking, like &#8220;how many dentists are on Ramp?&#8221; Someone asked because they were about to meet with a dentist in five minutes. They could have pulled it in Looker, but it would have taken too long and it was not worth the bother. Once we launched, the number of questions asked per day went up about 10x, then about 50x, within six months.</p><p>We also went in thinking everything had to be right 100% of the time or people would lose trust. I do not think that is true. The fastest way to the best end state is to put something out, watch people engage with it, and study the failure modes. Our CFO asked questions that ended up in the board deck and we got them wrong, but we figured it out quickly. We do pay extra attention when execs are asking board-deck questions.</p><h3>How did Ramp Research go from a Slack bot to something people build on?</h3><p>The Slack bot was ephemeral and only really worked on SQL. (Ramp wrote about how Ramp Research works on its engineering blog: <a href="https://engineering.ramp.com/post/meet-ramp-research">Meet Ramp Research</a>.) When coding agents arrived, we asked how we could give someone in Cursor or Claude Code or Codex access to it. So we increasingly built Ramp Research as a repo, a tool, and an interface you can put wherever you want.</p><p>Here is a specific example. When a business joins Ramp, we often look at their credit card statements to parse out the interchange rate. That used to be a heavy manual matching process we only did for big businesses. Someone on the finance team built an app for that exact use case on top of Snowflake, a semantic model, and a bit of stateful logic. Now, anytime someone gives us three credit card statements, we calculate it in 30 seconds instead of three hours. No other company needs this app, and no one else at Ramp needs it, but that person could build it.</p><h3>So Ramp Research has become the API to your data lake?</h3><p>That is right. That finance app takes a dependency on the general MCP we have for answering questions with Ramp data. You would not want someone building this without the abstraction layer Ramp Research provides, because that is how you feel confident they are getting good answers. And we want to bundle &#8220;ask a question of the data&#8221; as a Lego block that other tasks can use. Someone preparing for a sales call does not arrive with 15 discrete questions, they arrive with a need, so we help people think about what to ask.</p><h3>At Snowflake Summit, every vendor booth used the word &#8220;agent.&#8221; How far along are we really?</h3><p>Coding agents are consuming a tremendous number of tokens, and there are real production use cases in customer support and in the original kind of Ramp Research tool. But beyond those, the tail gets long fast. Our approach is to give teams primitives and trust them to be creative, rather than run an internal forward-deployed team that goes out collecting agent ideas.</p><p>An analogy: the first time we installed Claude Cowork on the finance team&#8217;s computers, a lot of the connectors did not work well. It works much better now. Cowork did not necessarily get better; the tools and the context got better, and that made the whole experience better. I would loosely call it harness engineering. One thing we are proud of, and hope is a moat, is that we hold money transmitter licenses in 50 states, so agentic experiences built on Ramp can move money in all 50 states.</p><h3>How does the analytics engineer&#8217;s job change in this world?</h3><p>Barry McCardel at Hex has talked about this. If the old expectation of an analytics engineer was that you could model your world well, understand dim and fact tables, curate a single source of truth, test it, and bring software engineering best practices to data transformation, then the new expectation is that you also make everything you touch readable by agents. How do you show up in queries, in code search, how do you write context files, how do you build tools for other people to use? That is where our focus has shifted, giving people primitives and assuming they will be creative and entrepreneurial in how they assemble them.</p><h3>A lot of agents are not being built on the data lake. What are you seeing?</h3><p>We had people building agents that connected directly to Gong to understand customer feedback, and they burned through tokens incredibly quickly, because a single Gong call is somewhere between 10,000 and 50,000 tokens and you usually need several. We now ingest that into the data lake and run summarization on top, and it turns out a lot of a Gong call is not much signal, so you can shrink it about 20x. Sourcing it through the data lake is more efficient than pulling it straight from Gong over MCP. But most of the time that is not what is happening. People still just connect the MCP server. I think there is a generalized anxiety about connecting agents to data lakes, and part of it is fear of the unknown.</p><h3>What about permissions? Does connecting agents create new risk?</h3><p>We were very buttoned up before large language models, and that helps. We have a talented data platform engineering team, and we have genuinely sensitive data: the results of KYC and KYB checks, Social Security numbers, full credit cards, and the shipping addresses and phone numbers of very famous people. We have thought about this the whole time, so we are tightly principled about it. The unit is still the human being. If your warehouse permissions were buttoned up before, an agent accessing data on a user&#8217;s behalf is fundamentally not that different from the human accessing it. I would state it a little more softly than &#8220;no new risk,&#8221; because there is surely a risk we do not know about yet, but it lets us move faster and experiment with confidence.</p><p>Where we want to get smarter is on judgment. A prospective partner once asked for our exact revenue growth numbers, and our CFO&#8217;s reaction was that they do not need that to evaluate Ramp, we can give them a proxy. That is the question behind the question. In a previous era someone might have been stymied because they could not self-serve. Now they could just ask a coding agent. So this is less about the data itself and more about strategic matters of taste, which is maybe a 20% tooling problem and an 80% people and enablement problem.</p><h3>Does the security team&#8217;s relationship with the data team change?</h3><p>It is different in fintech than in e-commerce. We never had credit card numbers, Social Security numbers, or KYC and KYB data in Snowflake, because you cannot do analysis on those. They are operational, one-at-a-time values; you are never going to take a sum of Social Security numbers. So the security team has always been opinionated about what lands in the warehouse, and we have even pushed the other way, telling them to get rid of something like CVVs and make sure it never happens again. Knowing exactly what is and is not in Snowflake is a big part of what lets us go faster.</p><h3>Looking back on job one, what would you do differently?</h3><p>We were too empathetic. People said non-engineers would hate the terminal and get confused. But nothing is like coding agents, and coding agents let you debug the terminal from the terminal. We assumed the finance team, the only team on Windows, could not figure it out. Then the woman who wrote the finance team&#8217;s onboarding docs, who was on the finance team herself, just hacked at it with ChatGPT and Claude Code and set everyone up. Three people started using a ton of tokens and building incredible things, others got jealous because their work got faster, and we rewarded that at all-hands and in perf reviews. Before long it was 50% of the team. In retrospect we should have optimized for the fastest-moving people, made them champions, and doubled down there.</p><h3>Tell me about the token maxing era.</h3><p>We had a leaderboard, and a leaderboard really matters when not everyone is using the tools yet. The data team was the first at Ramp to hit 100% coding-agent usage in a week. We were blunt: if you are not using these tools, that is an existential threat to your job. We generated some AI slop along the way, but that is how you get good at painting, you start by being bad at it. Eventually the bill came due, it was expensive, and we retired the board. Now the message is that tokens are a resource like headcount or AWS. Setting your token budget to a million is not a good proxy for anything. Talk to me about the outcomes you are going to drive. That is how we moved from token maxing to value on intelligence.</p><h3>On job two, do you really not have a shared reality?</h3><p>Think about how there used to be three channels on television and everyone roughly agreed on what was going on, and now everyone watches something different on Netflix. That is where we are. For over a year, 1,500 people could ask &#8220;how many trips were taken on Ramp Travel&#8221; slightly differently and get 1,500 slightly different answers. What we lacked was a way to say what the travel team actually looks at every day, what their North Star is.</p><p>Our chief product officer built a dashboard for one of our pods, and it was a 7 out of 10. That is dangerous, because 7-out-of-10 design fails loudly, the pixels are off, but 7-out-of-10 data fails quietly, because people just ask the wrong questions. At first we were defensive, wondering why we were debugging the CPO&#8217;s dashboard. But he had searched for a dashboard, could not find one that had been touched in five months with a low view count, so he knew no team was obsessing over it, and he built his own. We had a vacuum of data leadership, and it got filled with a 7-out-of-10 dashboard.</p><h3>So how do you build consensus, for humans and for agents?</h3><p>It is almost an answer-engine-optimization mindset. What are the questions you want to show up for, and what work do you need to do to define the consensus answer? The best way to command attention is to build something incredible and then distribute it very loudly, going to the channel, beating the drum, populating your section of the sprint-planning slides with a strong opinion. People asking slop questions are mostly just looking for consensus, and if you provide it they would rather use yours than do the analysis themselves.</p><p>For agents, we have had PRs this week describing our canonical dashboards and metrics. A lot of that used to live in a Notion database, and we are pulling it back into our dbt repo. When you get exposed to any of our tables, code, or context, it should tell you this is the vendor management product team, here is the PM, the data scientist, the North Star, and the North Star dashboard. So the same way you can ask &#8220;how many vendors are managed on Ramp&#8221; and get an answer from SQL against Snowflake, you also get pointed to the North Star. We have not landed that work yet, but that is the goal.</p><h3>Have you found you can give agents context without overwhelming them?</h3><p>Yes, and the way to solve it is to have evals in place. If one skill is good and two is better, at some point you have a thousand and have to pare it back. We know all the questions asked of Ramp Research, so we know when too many skills get invoked, when a skill is missing, and when it makes sense to add one, all through telemetry. We are basically becoming product managers of an internal product. We also test accuracy by asking several different models the same question with the same context and comparing. Some questions get the same correct answer 10 out of 10 times, others hit 7 out of 10 or 4 out of 10, and then we go inspect the tool calls. You do not need 10 humans to ask a question 10 ways, you can have 10 models do it and find the inconsistency yourself.</p><p>The biggest accelerant for someone like me, with lots of ideas and few hours and limited coding skills, has been log parsing. When you evaluate your agent, it raises the seriousness of the project. Agents are unreasonably effective when you give them something to verify, so a big chunk of the data team&#8217;s work is building that factory: the right loop, the right metric, and translating it back to product and operations teams.</p><h3>How is the data team itself changing?</h3><p>We consolidated a lot of job families. We used to separate analytics engineers, product data scientists, applied AI engineers, and machine learning engineers by the skills they used. But interns and new grads were contributing to every codebase in their first six weeks, so we decided everyone is just a data scientist. We changed how we interview too. Four years ago we would ask what XGBoost is and how it differs from a linear regression. Now we test just-in-time coding ability. A take-home looks like real work: here is $100 of AI tokens, see how far you get, then tell me how you would solve it with two months and a team. The number one thing is that you deliver customer outcomes and make your team feel you are indispensable.</p><p>We brought in a woman who had done investment banking, private equity, and strategic finance, and joined to pivot into data. It took her about six weeks to learn our stack and about three months to be good at it. Now she is in our CFO&#8217;s ear because she anticipates what the finance team needs better than anyone else could. That is the scarce thing, influence. Her data science skill set is not her limiting factor, business context is, and she is the best at it. I will add one caveat: our economists and statistically trained people still do exceptionally well, because these models are bad at reasoning about causality. Bringing an applied-scientist mindset, asking how you would express a problem and know if you are right, is a skill set we are doubling down on.</p><h3>You publish a monthly <a href="https://ramp.com/data/ai-index-june-2026">AI Index</a>. Any tidbits that are not written up yet?</h3><p>The big thing we are watching is that SaaS vendors who built AI features are starting to hit product-market fit, and it is getting expensive at inference time. For the first time they have meaningful variable costs to serve their software, and they are passing those through to customers. Procurement cycles for SaaS usually take a year, but we are seeing vendors that were never AI companies introduce AI pricing, AI credits, and tokens mid-contract. A lot of businesses think this does not apply to them, and then their Salesforce, Notion, and Zendesk bills show line items they never contracted for at the start of the year. We can see and benchmark this because people pay their invoices on Ramp and we get line-item detail, so we want to give companies helpful insight into all pockets of AI spend, which is changing faster than almost anything.</p><h2>Chapters</h2><p><em>Timestamps are approximate.</em></p><p>00:00 &#8212; Cold open: consensus is the scarce resource<br>01:33 &#8212; Welcome back: reintroducing Ian and Ramp<br>02:06 &#8212; From an $8 billion data strategy to a $44 billion one<br>02:41 &#8212; How the team grew, and why the early best practices pay off now<br>03:49 &#8212; A higher ceiling for great data teams<br>04:26 &#8212; Setting up the stack for text-to-SQL<br>05:34 &#8212; The two jobs of a post-AI data team<br>07:02 &#8212; Job one: Ramp Research and the questions that went unasked<br>08:20 &#8212; From 10x to 50x questions in six months<br>09:15 &#8212; Ramp Research as a repo, tool, and interface<br>10:00 &#8212; A finance app built on top of Ramp Research<br>12:09 &#8212; Ramp Research as the API to the data lake<br>13:29 &#8212; Asking questions of data as a Lego block<br>13:46 &#8212; Snowflake Summit and the word &#8220;agent&#8221;<br>15:23 &#8212; Primitives, not a forward-deployed team<br>15:41 &#8212; Harness engineering and the fintech moat<br>16:36 &#8212; The analytics engineer, now building for agents<br>17:37 &#8212; Why agents are not built on the data lake<br>18:06 &#8212; The Gong tokens problem, solved through the lake<br>19:14 &#8212; Anxiety about connecting agents to data lakes<br>19:37 &#8212; Permissions: the unit is still the human<br>21:08 &#8212; Judgment, taste, and the question behind the question<br>22:29 &#8212; If the warehouse was buttoned up, agents do not add new risk<br>23:11 &#8212; The data team and the security team, working together<br>24:07 &#8212; Fintech vs. e-commerce: what lands in the warehouse<br>25:43 &#8212; &#8220;We were too empathetic&#8221;<br>26:39 &#8212; The finance team&#8217;s self-taught champion<br>27:18 &#8212; AI-win case studies and hackathons<br>27:33 &#8212; The token maxing era and the leaderboard<br>28:37 &#8212; From token maxing to value on intelligence<br>28:54 &#8212; Job two: building a singular reality<br>29:27 &#8212; Three TV channels vs. Netflix<br>30:22 &#8212; The 7-out-of-10 dashboard problem<br>31:01 &#8212; Three failure modes of a bad dashboard<br>32:20 &#8212; A vacuum of data leadership<br>32:51 &#8212; An answer-engine-optimization mindset for data teams<br>33:08 &#8212; Chasing slop vs. creating meaning<br>34:11 &#8212; Commanding attention when analysis is cheap<br>35:44 &#8212; Building consensus in a world of agents<br>36:22 &#8212; Canonical metrics moving into the dbt repo<br>37:34 &#8212; Context without overwhelming the agent<br>38:29 &#8212; Evals, skills, and paring back<br>39:09 &#8212; Becoming product managers of an internal product<br>39:44 &#8212; Testing accuracy with multiple models<br>40:21 &#8212; Log parsing and telemetry for agents<br>41:32 &#8212; Consolidating the data team&#8217;s job families<br>42:08 &#8212; Interviewing for just-in-time skills<br>43:22 &#8212; The strategic finance hire who out-anticipates everyone<br>44:09 &#8212; Organizational change and durable skills<br>45:21 &#8212; Why economists and causal thinkers still win<br>45:55 &#8212; The AI Index and what Ramp is watching<br>46:57 &#8212; SaaS vendors passing through AI costs<br>49:27 &#8212; Wrap-up</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The context engineering playbook (Claire Gouze)]]></title><description><![CDATA[nao co-founder and CEO Claire Gouze shares a practical playbook for building a context layer your agents can rely on.]]></description><link>https://roundup.getdbt.com/p/the-context-engineering-playbook</link><guid isPermaLink="false">https://roundup.getdbt.com/p/the-context-engineering-playbook</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 02 Jul 2026 13:03:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/daacM5TxIKA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Context is everything in data right now. Everyone is looking for the same thing: a single place where you can ask a natural-language question and get back a reliable answer. With that, you can build conversational analytics, but you can also build essentially any agent that needs to connect to your organization&#8217;s data. As long as you have context.</p><p>Claire Gouze is the co-founder and CEO of <a href="https://getnao.io">nao Labs</a>, an open-source analytics agent built for context engineering she started with Christophe Blefari. Her path into data was unconventional: a business school graduate who taught herself to code, she became one of the first business school hires at BCG Gamma, then ran data at sunday, a QR-code payments startup, where she built a data stack from scratch as the company grew from 20 to 300 people. nao came out of calling 80 different data teams and listening to what was slowing them down.</p><p>Lots of people are talking about building context layers and hiring context engineers. Claire and her team are doing it: they&#8217;ve authored a <a href="https://docs.getnao.io/nao-agent/context-engineering/playbook">context engineering playbook</a> with specific guidance on how to build your own context layer and how to create evals. They&#8217;ve built a community learning together in the open, and they&#8217;ve built tooling to make it easier. What I appreciated most about this conversation was its pragmatism. Rather than talking about context, we should all get to work engineering it. Claire&#8217;s playbook is a great place to start.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><div><hr></div><p><strong>The agenda for dbt Summit 2026 is live.</strong> Dozens of sessions across analytics engineering, AI-ready data, agentic workflows, and enterprise scale, September 15-18 at The Cosmopolitan in Las Vegas. dbt Summit is the world's largest gathering of dbt users. Level up and start building your schedule: <a href="https://www.getdbt.com/dbt-summit/sessions/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q2-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_all__">Explore the sessions</a>.</p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-daacM5TxIKA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;daacM5TxIKA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/daacM5TxIKA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Three ideas from the episode</h2><p>1. <strong>Context engineering is the new analytics engineering.</strong> The job is the same as it always was, gathering tacit business knowledge and turning it into something structured and trustworthy. The medium is new: markdown and files instead of only models. Claire already knows data people who have been renamed context engineers.</p><p>2. <strong>The biggest reliability gains are unglamorous.</strong> Fancy context sources don&#8217;t move the needle as much as you&#8217;d hope. Cleaning up her data model and writing good documentation is what took Claire&#8217;s agent from 40% to 90% reliability. <a href="https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude">Anthropic found the same thing</a>: query logs added little; keeping your house in order added a lot.</p><p>3. <strong>We&#8217;re in the &#8220;just plug it into production&#8221; era of agents.</strong> Connecting an agent straight to every raw source is the 2010s mistake of plugging your BI tool into the production database, repeated. Context will need its own stack: a way to ingest it, transform it, resolve contradictions, and expose a single source of truth.</p><h2>Key takeaways</h2><p><em>Lightly edited for clarity.</em></p><h3>Tristan Handy: How did you get into data?</h3><p><strong>Claire Gouze:</strong> My background is unconventional for data. I graduated from business school about 10 years ago, but I wanted to learn technical things, so I joined BCG Gamma, the data science arm of BCG. I was the first business school hire there. I spent three years building ML models for clients: forecasting, personalization, optimization.</p><p>Then I joined a startup, sunday, doing QR-code payments for restaurants, because I wanted to build my own company one day. They had nothing, just their production database plugged into Metabase. It was 20 people when I joined and 300 a year later, so we had to move fast. I came from consulting, where you build everything custom, so I built an ETL by myself, an ingestion pipeline in Python for Salesforce data, a transformation layer in Python. Then people told me there are tools called dbt and Airbyte. So I had to migrate all my custom work onto the standard stack. That was a hard lesson, and a useful one.</p><h3>Why did you move from a &#8220;cursor for data&#8221; to a context layer?</h3><p>When we started two years ago, the loudest pain point from the 80 teams we called was that it takes too long to ship dbt models. So our first product was a cursor for data: your IDE plugged into your data, with the agent holding all the context. But as MCP took off, Cursor and Claude were handling that well. The new thing data teams wanted was a way to let anyone at the company use agents on the data.</p><p>We just want to work on what excites people. Data people aren&#8217;t excited about how they code. They&#8217;re excited when they help business users and get valued for it. Data teams carry the trauma of being seen as a support team. If we can help them be valued by the business, that&#8217;s the greatest thing we can do for them.</p><h3>Is there actually a product to build in context, or is it just best practices?</h3><p>The main value we add is evaluation and governance. Every team I talk to puts something different in their context: some have full documentation, some have a semantic layer, some have almost nothing on their tables. But they all use the framework to test the reliability of the agent and to keep testing it over time in CI/CD. They also study the conversations users have with the agent, which shows them what people care about and where to improve.</p><p>We try not to overcomplicate it. Some people want ontologies and semantics. We want you to start simple. The context layer is a file system. We help you build it like a GitHub repo that belongs to you and doesn&#8217;t lock you in, and we add evaluation, permissions, and a UI on top.</p><h3>What does the context engineering playbook involve?</h3><p>It&#8217;s more about method than about exactly what to put in your context, because that differs for a startup with 10 tables and an enterprise with thousands. Start focused. Pick the team that asks for the most analytics, or your main company metrics, and reduce the scope to maybe 10 or 20 tables. Plug in what you already have, usually your dbt docs, and run your tests. That gives you a baseline reliability number. Then you iterate: see where the agent fails, redesign part of the data model, add documentation, profile a table. It&#8217;s an iterative loop.</p><h3>Where do the eval questions come from?</h3><p>Either you already know your most important questions and have the queries somewhere in your BI tool, so you collect those, or you use a skill we built that looks at the main metrics of your tables and suggests key questions to test. I still recommend you review them, but it gives you a first basis. Then you can say: on my 50 most important questions, I have 90% accuracy, and it&#8217;s going to stay that way. That number is what reassures a data team enough to roll the agent out.</p><h3>Is &#8220;context engineer&#8221; a real job title?</h3><p>Yes, I know data people who were renamed context engineers, so it&#8217;s already happening. Data teams are the perfect fit. Analytics engineering was about gathering business knowledge from stakeholders and translating it into something structured and technical. Context engineering is exactly that. Context is just company knowledge that you want structured, optimized so it doesn&#8217;t explode your token cost, and treated as a source of truth, the same way you&#8217;d want a metric source of truth. Data teams already think this way.</p><h3>What context actually moves the needle on reliability?</h3><p>It&#8217;s funny, the biggest jump in agent reliability is just your data modeling and your data docs. I ran the experiment: I started from no context and added sources step by step, measuring reliability each time. Profiling, query history, those kinds of things left me stuck around 40%. The agent was failing because of ambiguity between two columns, or a metric that differed slightly across two tables. When I redid parts of the data model and wrote documentation, I got to about 90%. It&#8217;s deep work to keep a data model clean and unambiguous, but it pays off with agents.</p><h3>Where should human context live?</h3><p><strong>I</strong>n our framework everything ends up as a markdown file eventually, so the starting format doesn&#8217;t matter much. What matters is where it gets maintained. If someone asks whether to document something in the agent&#8217;s context or in the dbt docs, I say the dbt docs, because it has to live as close to your daily work as possible. When you change a dbt model, you change the docs, and it syncs to the agent. If your support processes live in Notion, keep them in Notion. A separate markdown file you never touch again is worthless.</p><h3>We&#8217;re in the &#8220;just plug it into production&#8221; moment. What comes next?</h3><p>We&#8217;re at the phase where people say, let me just connect Claude Code to my Snowflake MCP, what could go wrong? It&#8217;s the same as when you plugged your BI tool straight into the production database, before the data stack gave us tools to ingest, transform, and create a source of truth. We&#8217;ll need the same thing for context. Right now we&#8217;re building the first wave, but we&#8217;ll start to see context sprawl and contradictions. So we&#8217;ll need a stack to ingest context, transform it, merge old and new and contradictory context, and expose a single source of truth to the agent. Where are the tools to do that? I don&#8217;t know yet.</p><h3>How does this connect to memory?</h3><p>When an agent corrects itself after eight queries to find the right field, you don&#8217;t want it to repeat that next time, you want it in its context. Same when a user tells the agent, no, this is the real definition. We should learn from all of it. It&#8217;s a memory mechanism. But the tricky part is making sure you learn the right memory. Locally with Claude Code it&#8217;s just you and the agent, so it can learn whatever you tell it, even if it&#8217;s wrong. At the company level you have to make sure people don&#8217;t teach the agent wrong things, so the data team still approves what enters the global memory of the company.</p><h3>Where does MetricFlow fit if &#8220;file systems are all you need&#8221;?</h3><p>I tested the skill you all built for querying through the MetricFlow semantic layer. The logic was: query through MetricFlow first, and if you don&#8217;t find it, read the dbt docs and write regular SQL. I think that&#8217;s exactly right. The metric layer is governance for your most critical, high-value metrics that have to be 100% accurate, but you shouldn&#8217;t have to define a metric before you can do anything at all.</p><h3>Why open source, and how do you make money on it?</h3><p>Open source makes sense for a few reasons. You want to be used by agents, not just humans, and if your code is open, an agent building an analytics agent already knows about nao and will build with our framework, which is great distribution. And nobody has the answers on what makes good context yet, so we need to learn together. If startups and enterprises can share what context worked and how the semantic layer affected their reliability, we get a common language and improve reliability across the board. We already know what we sell: our open-source product gives everyone the same data access, which works for a small company but not a big one. The enterprise license handles data permissions, context permissions, and token budgets at scale.</p><h2>Chapters</h2><p><em>Timestamps are approximate.</em></p><p>00:00 &#8212; The missing piece is context<br>01:45 &#8212; Welcome, and a few words on the French accent<br>02:52 &#8212; Claire&#8217;s path into data: business school to BCG Gamma<br>04:09 &#8212; Joining sunday and building a data stack from scratch<br>06:39 &#8212; Founding nao, an open-source analytics agent<br>10:42 &#8212; The journey so far: 1,300 GitHub stars, 80 companies in production<br>13:45 &#8212; Why pivot from &#8220;cursor for data&#8221; to the context layer<br>15:22 &#8212; Context layer hype at Snowflake Summit<br>17:48 &#8212; Is there a product in context, or just best practices?<br>21:23 &#8212; The context engineering playbook: start small, iterate<br>24:45 &#8212; Where the 50 eval questions come from<br>25:40 &#8212; The questions data teams never get asked<br>27:06 &#8212; Is &#8220;context engineer&#8221; a real job title?<br>28:55 &#8212; Flattening roles on the data team<br>29:56 &#8212; Machine vs. human context, and where to keep it<br>32:43 &#8212; The highest-signal context: clean data models and docs<br>35:36 &#8212; Where nao is headed: a source of truth across Slack, MCP, and more<br>37:41 &#8212; From the data lake for analytics to infrastructure for agents<br>39:05 &#8212; The &#8220;just plug it into production&#8221; moment and the context stack<br>41:49 &#8212; Roadmap: automating context creation<br>43:33 &#8212; Context as organizational memory<br>46:00 &#8212; File systems, MetricFlow, and the semantic layer question<br>49:05 &#8212; Why open source, and the commercial model<br>51:39 &#8212; Wrap-up</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DuckDB's agent moment (Jordan Tigani)]]></title><description><![CDATA[The database built for your laptop turns out to be one built for your agents. MotherDuck Founder and CEO Jordan Tigani explains why.]]></description><link>https://roundup.getdbt.com/p/duckdbs-agent-moment-jordan-tigani</link><guid isPermaLink="false">https://roundup.getdbt.com/p/duckdbs-agent-moment-jordan-tigani</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Thu, 18 Jun 2026 13:03:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/p45UPCTBW_c" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em><strong>Season 9 of The Analytics Engineering Podcast is here.</strong> The theme this season is Analytics &#215; Agents. We want to explore what changes when agents become the ones querying, building, and maintaining data systems. Motherduck Founder and CEO Jordan Tigani is a great guest to kick it off.</em></p><p>Jordan spent 11 years at Google building <a href="https://cloud.google.com/bigquery">BigQuery</a>, one of the largest distributed data warehouses on the planet. Then he left to bet on the opposite idea: that most data isn&#8217;t big, and most workloads don&#8217;t need a distributed system at all. Or as he wrote in 2023: <a href="https://motherduck.com/blog/big-data-is-dead/">Big Data is Dead</a>.</p><p><a href="https://duckdb.org">DuckDB</a> runs locally, starts instantly, and installs itself. The same properties that make it great for a cell in a Jupyter notebook make it great for a swarm of agents branching, querying, and throwing away work hundreds of times a second. Jordan&#8217;s company <a href="https://motherduck.com">MotherDuck</a> is the cloud data warehouse built on top of it. He talks with Tristan about why this architecture suddenly fits the moment.</p><p>This is Jordan&#8217;s second time on the show. The last time he was just getting MotherDuck off the ground and, in his words, still trying to figure out what the hell they were doing. This time around he gets into the unusually high-trust relationship between MotherDuck and <a href="https://duckdb.org">DuckDB</a>, why MotherDuck is faster and cheaper than the incumbents, how data lakes and <a href="https://iceberg.apache.org">Iceberg</a> pull DuckDB into more and more architectures, and the big one for Season 9: what agents want from an analytical database.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em></p><div><hr></div><p><strong>The agenda for dbt Summit 2026 is live.</strong> Dozens of sessions across analytics engineering, AI-ready data, agentic workflows, and enterprise scale, September 15-18 at The Cosmopolitan in Las Vegas. dbt Summit is the world's largest gathering of dbt users. Level up and start building your schedule: <a href="https://www.getdbt.com/dbt-summit/sessions/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q2-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_all__">Explore the sessions</a>.</p><div><hr></div><p><strong>Listen now:</strong> <a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a> &#183; <a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a> &#183; <a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">YouTube</a> &#183; <a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a> &#183; <a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS</a></p><div id="youtube2-p45UPCTBW_c" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;p45UPCTBW_c&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/p45UPCTBW_c?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Three ideas from the episode</h2><ol><li><p><strong>Why &#8220;small data&#8221; aged well.</strong> Data size and compute size are two different axes. Most workloads are small-data, small-compute or big-data, small-compute, and that&#8217;s where DuckDB wins.</p></li><li><p><strong>Why local-first is an agent feature.</strong> Agents want their own environment and software they can install. A database that lives locally and graduates to the cloud by changing one string is built for that world.</p></li><li><p><strong>What an &#8220;agent swarm&#8221; for data management is.</strong> Always-on agents handling the long list of small jobs: profiling columns, running evals, curating context, flagging the weird number before a human ever sees it.</p></li></ol><h2>Key takeaways</h2><p><em>Lightly edited for clarity.</em></p><h3>Tristan Handy: You reached out to DuckLabs to build a SaaS service. They said no, but partner with us. How does that work?</h3><p><strong>Jordan Tigani:</strong> When we started, it was the recognition that DuckDB is amazing. It&#8217;s really well done, these people know what they&#8217;re doing, and it&#8217;s going places. I reached out to Hannes and Mark, the co-founders of DuckLabs, to see if they&#8217;d hire me to build a SaaS service out of it. They said no, we want to just focus on the database, but we&#8217;d partner with you. </p><p>So rather than saying thanks for building an awesome open source project, now we&#8217;re going to go make a bunch of money on it, we wanted to be good partners and good stewards of open source. We gave them a co-founder share of the company, so they were economically incentivized for us to be successful. We funded a lot of development in DuckDB, and they built a lot of custom features just for MotherDuck. </p><p>We could have hashed out a highly litigated, legalese development agreement. Or we could just say, look, none of this is going to work unless we trust each other. So we chose to trust each other. I like hanging out with Mark and Hannes. I think they&#8217;re good guys.</p><h3>Where&#8217;s the line between what goes into DuckDB and what you build?</h3><p>There isn&#8217;t one that&#8217;s clearly written down. The obvious one is that we&#8217;re building a hosted service and they&#8217;re not. From an open-source business model, SaaS is the cleanest one to me: you pay us to run this in the cloud. You could do it yourself, but it&#8217;d be a lot more work. </p><p>DuckDB right now doesn&#8217;t have any concept of users. There&#8217;s no real grant statement. So if you&#8217;re going to run a data warehouse in a meaningfully sized organization, it&#8217;s not quite suitable yet. That&#8217;s the stuff we&#8217;re adding: SSO, authorization, all the things you&#8217;d need to build a real data warehouse. </p><p>They just launched something they call <a href="https://motherduck.com/blog/duckdb-client-server/">Quack</a>, a service you can stand up on EC2 and connect to from anywhere over HTTP. I think it&#8217;s actually great for us, because a bunch of people are going to try that and then realize, hey, I need users, I need auth, I need backups, and then we can step in. They gave us a big head start, and if we can&#8217;t win with a head start that big, then we&#8217;ve done something meaningfully wrong.</p><h3>You&#8217;re making big claims about speed and cost. Where do the savings actually come from?</h3><p>In BigQuery, every query has to go through a lot of hops to get to the thing actually running it. And if your query does anything non-trivial, it goes through more hops, data gets shuffled around the network, and all of that adds latency. The mechanism to build distributed databases adds latency, because they&#8217;re designed for throughput. </p><p>I remember working on BigQuery and my manager said, &#8220;I don&#8217;t care if you add a second to every query, because we&#8217;re handling giant queries. But if you&#8217;re running a dashboard, adding a second means every user sits and waits a second.&#8221; That&#8217;s really annoying. </p><p>What we&#8217;ve designed for is latency rather than throughput. The energy in DuckDB has gone into making a great single-node engine instead of a distributed system where all these things can go wrong, so they&#8217;ve been able to build a super fast engine. </p><p>Our median query time is about three milliseconds. If you look at <a href="https://benchmark.clickhouse.com/">ClickBench</a>, our standard instance at $2.40 an hour is something like five times faster than the Snowflake 2XL, which is $64 an hour. And that&#8217;s not our benchmark, it&#8217;s ClickHouse&#8217;s.</p><h3>&#8220;<a href="https://motherduck.com/blog/big-data-is-dead/">Big Data is Dead</a>&#8220; came out three years ago. Does it still hold up?</h3><p>There are two independent axes of scale. There&#8217;s the size of data you have, and clearly some people have petabytes, so to say large data doesn&#8217;t exist is just telling people the opposite of what they know. But the other axis is compute size, and just because you have large data doesn&#8217;t mean you need large compute. </p><p>If you&#8217;re looking at the last hour of logs, you might have a petabyte over ten years, but you&#8217;re only scanning the most recent stuff, so you don&#8217;t need the big compute mechanisms. </p><p>The flip side is big compute, small data: your BI tool, where you might have 500 users all slicing the same dashboards. The data is small but you need a lot of compute for all those users. Small data and small compute, big data and small compute, small data and big compute, those are probably 97% of cases, and we handle them well. </p><p>For the genuine big data, big compute case, <a href="https://ducklake.select">DuckLake</a> is our big bet, or <a href="https://iceberg.apache.org">Iceberg</a>. If your MotherDuck data is a managed DuckLake table, we can give you access to the same files sitting on S3, so you could run it on Spark.</p><h3>Are people using DuckDB as one engine on a data lake yet?</h3><p>We&#8217;re seeing more and more of it. For their gold tier, people do want something more compact and managed, so we&#8217;ll see them ingesting from Iceberg. But people haven&#8217;t quite wrapped their heads around the fact that if you use Iceberg, you give up some things.  We had a customer doing millions of single-row updates a day, and that generates all this mess and makes it super slow. </p><p>For a lot of smaller customers, the reason they use Iceberg is that there&#8217;s excitement and hype around it and they want to give it a try. And one thing they find is the tooling is behind the hype in terms of maturity.</p><h3>You wrote that &#8220;ETL is highly vibe codable.&#8221; Make the case.</h3><p>We launched our <a href="https://github.com/motherduckdb/mcp-server-motherduck">MCP server</a> in December, and all of a sudden you could just ask questions in Claude and get answers. The other thing we noticed was that Claude is really good at building data visualizations. The problem was the data it came up with wasn&#8217;t updated, hosted, or shareable. So we said, what if we replace the data Claude dumped into a TypeScript file with a SQL query, host it on MotherDuck, and now you basically have a dashboard. That was the root of <a href="https://motherduck.com/product/dives/">Dives</a>. </p><p>We started out saying this is not BI, it&#8217;s a narrower use case, and then it got harder to draw the line, and we realized we&#8217;d stopped using our internal BI tool. We were just using this for everything. </p><p>I also talked to someone who&#8217;d built a vibe-coded data ingestion solution, and what shocked me was it was running in Claude. They had no front end, no UI. Their whole company was an MCP server. But there&#8217;s more to data engineering than building a pipeline, and that&#8217;s where it starts to get interesting.</p><h3>What do agents want out of an analytical database?</h3><p>This is exactly what my board asked me at the last meeting: How do you make it so agents use your database versus others? I wish I had a great answer. People have seen the success of <a href="https://neon.tech">Neon</a> and <a href="https://supabase.com">Supabase</a>, and I just spun up a Neon database the other day to interact with agents, because agents need to store data somewhere and Postgres is a great way to do that. Why would you need an analytical database?</p><p>That&#8217;s a bit more hand-wavy to me, but there will be cases where the agent needs to interact with larger amounts of data, do aggregations, answer harder questions. We have a lot of users building agent platforms on top of MotherDuck. <a href="https://airbyte.com">Airbyte</a> just announced their agent platform and it uses us under the covers. </p><p>Our architecture is amazing for agents, because if you have a hundred agents that are branching, our tenancy model works really nicely with that. If your agents are hammering Snowflake, that sounds like an incredibly expensive thing to have them do.</p><h3>Why is local-first such an advantage in an agent world?</h3><p>The way we architect working with DuckDB is that our client is DuckDB. If an agent installs DuckDB and does a bunch of stuff locally, you find out quickly that it&#8217;s very easy to use all the compute and all the memory on your machine. </p><p>Our architecture means the step from local DuckDB to cloud MotherDuck is just changing the name of your database. If the name starts with <code>md:</code>, it runs in the cloud. If it doesn&#8217;t, it runs locally. You don&#8217;t have to install anything differently. If there are agents doing stuff locally with DuckDB, there&#8217;s a great graduation case: this is too slow, it&#8217;s pulling everything down locally, let&#8217;s just push it off into MotherDuck.</p><h3>What does an &#8220;agent swarm for data management&#8221; look like?</h3><p>I wrote <a href="https://motherduck.com/blog/water-town-agent-swarm-data-stack/">Water-Town</a> as a takeoff on Steve Yegge&#8217;s Gastown. The idea is that as your data comes in, there are agents that do quality control and run evals that detect when something is goofy. </p><p>I was talking to someone at OpenAI about how they deal with context, and for core concepts they turn their context into evals. When I say revenue, here&#8217;s the calculation. These two tables should be joinable one to one. They have evals for all of those, so you always get the same number, and that&#8217;s operationalizable by an agent. </p><p>Then there are agents that add their own context: this field is always a capitalized U.S. state name. And agents that look at chat transcripts. When I talk to Claude I&#8217;ll say I want to know what&#8217;s happening with our paying users, and what that means is they&#8217;re in the capacity, business, or light plan. I just gave the agent information that can be captured, so the next time someone asks about paying users, it knows. </p><p>Anthropic calls this &#8220;dreaming,&#8221; taking memory and distilling it into what&#8217;s active memory, which is a cool name.</p><h3>Where does all of this leave cost?</h3><p>There&#8217;s Jevons paradox, where when something gets less expensive you find more stuff to do with it. We can make analytics dramatically less expensive and move more of it locally, but people will find more ways to keep their bill similar or even higher. The good part is you&#8217;re adding value. You won&#8217;t have a human trying to debug why a dashboard is showing a weird number, because the agent will have flagged it well in advance. Or you can just ask the agent where the number came from, and it&#8217;ll look at your pipelines and show what&#8217;s going on.</p><h2>Chapters</h2><p>00:00:00 &#8212; Why DuckDB is having an agent moment<br>00:01:08 &#8212; Reintroducing Jordan and MotherDuck<br>00:03:10 &#8212; The MotherDuck and DuckLabs relationship <br>00:06:50 &#8212; Where the line gets drawn: what goes into DuckDB vs. MotherDuck<br>00:09:44 &#8212; Quack, users, and the enterprise layer MotherDuck builds on top<br>00:11:05 &#8212; How widely is DuckDB actually used?<br>00:13:25 &#8212; Who uses MotherDuck, and what they migrate from<br>00:14:41 &#8212; Hyper-tenancy and read scaling for application analytics<br>00:18:05 &#8212; Why it&#8217;s faster and cheaper: latency vs. throughput<br>00:21:35 &#8212; &#8220;Big Data is Dead,&#8221; revisited: the three data/compute quadrants<br>00:25:45 &#8212; Iceberg, Duck Lake, and DuckDB as one engine on the lake<br>00:31:19 &#8212; &#8220;ETL is highly vibe codable&#8221;: the Future Casting post<br>00:32:36 &#8212; Tristan pushes back (the quote of the season)<br>00:35:00 &#8212; From MCP server to Dives<br>00:38:35 &#8212; What do agents actually want from an analytical database?<br>00:41:37 &#8212; Two kinds of agents: the analyst and the business-process owner<br>00:43:09 &#8212; The local-first advantage: brew install bigquery is not a thing<br>00:46:02 &#8212; The agent swarm and &#8220;Water Town&#8221;<br>00:52:06 &#8212; A thousand data analysts, Jevons paradox, and the cost of inference<br>00:54:53 &#8212; Wrap-up</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup. Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Iceberg ecosystem today (Anders Swanson)]]></title><description><![CDATA[What can data teams realistically expect when attempting to run on top of Iceberg in production?]]></description><link>https://roundup.getdbt.com/p/the-iceberg-ecosystem-today-anders</link><guid isPermaLink="false">https://roundup.getdbt.com/p/the-iceberg-ecosystem-today-anders</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 08 Mar 2026 13:02:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/K7PvwU5ulrA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The data industry is moving towards open standards. The migration towards open standards throughout the data ecosystem is happening rapidly despite all the oxygen getting sucked out of the room from the rapid progress of AI and agents. </p><p>The dbt Labs data team is moving to an all Iceberg lake with a mix of compute engines to power transformation, analytics, and agentic experiences. The team has been able to move quickly towards this architecture because the entire ecosystem has been laying the groundwork for years. All of it&#8217;s coming together to make this new open world a reality fast. </p><p>On this episode, Tristan discusses the reality on the ground for data practitioners. Where&#8217;s the Iceberg ecosystem today? What can practitioners realistically expect when attempting to run on top of Iceberg in production?</p><p>Tristan is joined by Anders Swanson, a developer experience advocate at dbt Labs. Anders has spent a lot of time over the years navigating open-source data ecosystems and tracking their progress. </p><p>They unpack the open standards shift, define the core building blocks (query engines, object stores, catalogs), and dig into why external catalogs have become a fourth namespace tier across platforms. Anders outlines a pragmatic, phased adoption model for Iceberg integrations, explains why metadata performance and resiliency are hard requirements, and clarifies why vended credentials exist and what they solve.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>The call for papers is open for dbt Summit 2026.</strong> We invite data practitioners, platform leaders, and executives to share real stories of how data gets done at the world&#8217;s largest gathering of dbt community members. If you ship fast, reduce costs, improve trust, or bring governed AI to life, the dbt community wants to hear from you.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/dbt-summit/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q1-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_na__&quot;,&quot;text&quot;:&quot;Submit a talk&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/dbt-summit/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q1-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_na__"><span>Submit a talk</span></a></p><p>Coalesce is now dbt Summit. Join the world&#8217;s largest gathering of dbt users, where data leaders and practitioners come together to shape the future of data analytics and AI. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.getdbt.com/dbt-summit/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q1-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_na__" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!shpb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 424w, https://substackcdn.com/image/fetch/$s_!shpb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 848w, https://substackcdn.com/image/fetch/$s_!shpb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!shpb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!shpb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:906976,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:&quot;https://www.getdbt.com/dbt-summit/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q1-2027_dbt-summit-2026_aw&amp;utm_content=dbt-summit____&amp;utm_term=all_na__&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://roundup.getdbt.com/i/190147989?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!shpb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 424w, https://substackcdn.com/image/fetch/$s_!shpb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 848w, https://substackcdn.com/image/fetch/$s_!shpb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!shpb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd97fe3b0-9606-4a9d-8a5f-6e7970f032c1_3840x2160.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">Youtube</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><div id="youtube2-K7PvwU5ulrA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;K7PvwU5ulrA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/K7PvwU5ulrA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Key takeaways</h2><h3>Tristan Handy: I wanted to have you on because of work you&#8217;ve been doing internally to summarize the state of the Iceberg ecosystem. We&#8217;ve talked about Iceberg a bunch lately with folks deep in specific parts. Your work is more of an overview: where we&#8217;re at with platform integrations, what&#8217;s easier now than a year ago, and what&#8217;s still hard. Before we dive in, I want to define a few terms. When you say &#8220;query engine,&#8221; what do you mean?</h3><p><strong>Anders Swanson:</strong> It&#8217;s the thing that does your work. When you issue a CREATE TABLE or a SELECT statement, it&#8217;s what returns data or stores it somewhere for later.</p><h3>Object store.</h3><p>It&#8217;s the cloud service where you can store an object. An object is anything: a blob.</p><h3>Catalog.</h3><p>In this context, a catalog knows what tables and views exist and where they are, and how you can fetch or write to them.</p><h3>Let&#8217;s talk internal versus external catalogs.</h3><p>An internal catalog is what you get by default in a system like Snowflake or SQL Server. An external catalog is more like another directory, often managed by a different system. As you connect more disparate platforms, you can&#8217;t assume one system controls everything.</p><h3>The complexity comes from duplication. How do you make namespaces unique? Can you plug in many external catalogs?</h3><p>Abstraction matters. A common pattern emerging is one&#8209;to&#8209;one mapping of an external catalog into a database. That pushes a move to a four&#8209;part namespace: catalog, database, schema, identifier. Spark moved toward this; Databricks Unity Catalog and Snowflake&#8209;style catalog link approaches are in this family.</p><h3>So the downside?</h3><p>The devil is in the details, especially metadata performance and resiliency. For example, information schema listing. Users expect listing tables to be fast and reliable. In a federated world, if listing tables takes five seconds, users blame the vendor they&#8217;re using&#8212;even if the external system is slow. DuckDB draws a line by not mixing external catalog tables into information schema listing today. Snowflake&#8217;s catalog link databases appear to cache or mirror metadata so it feels as performant as native tables.</p><h3>With catalog link databases, Snowflake is doing mirroring.</h3><p>Yes. Mirroring exists in different flavors across platforms. Delta is sometimes seen as &#8220;simpler&#8221; because metadata can live in object store, but as soon as you want multiple engines writing, you still need a real catalog.</p><h3>Sharing across multiple platforms adds another layer. What&#8217;s the state of platforms reading and writing to the same Iceberg catalog?</h3><p>There are phases of integration.</p><p>Phase one is the naive approach: you have Parquet and JSON in object storage, and an engine reads it. Reading is easier than writing. You can get a toy example working.</p><p>Then you run into versioning and &#8220;what&#8217;s latest.&#8221; The next phase is connecting to an Iceberg REST catalog so engines can ask for the latest table version without users thinking about paths.</p><p>Phase three is schema&#8209;scale: it&#8217;s never just one table. You need discovery of new tables, keeping schemas up to date, and eventually things like multi&#8209;table transactions.</p><h3>This maps to dbt Mesh and cross&#8209;platform mesh. Producer vs consumer.</h3><p>A consumer&#8209;led model requires the downstream team to create pointers (DDL) to external tables. It&#8217;s operationally messy. Producer&#8209;led is cleaner: the producer writes to the catalog and it&#8217;s just there, immediately queryable downstream.</p><h3>Are platforms there yet?</h3><p>Some support writing directly to external catalogs. When it works, it&#8217;s great, but there are still kinks. We&#8217;re retrofitting race cars designed for isolation to be interoperable without losing performance.</p><h3>Identity is one of the hairiest issues. Vended credentials.</h3><p>Vended credentials solve the &#8220;two keys&#8221; problem. You authenticate to the catalog, the catalog tells you where data lives, but then you need separate object store credentials to read files. Vended credentials means the catalog vends short&#8209;lived credentials so you can access the object store location without managing separate keys.</p><h3>That doesn&#8217;t solve user identity and grants.</h3><p>Correct. Vended credentials isn&#8217;t global authorization. Identity and access across platforms is still hard. Ideally you grant access once and it works everywhere, but enterprises have different identity providers and platforms have different permission models. Today, admins often have to configure grants separately in each platform.</p><h3>Is this mission creep?</h3><p>The goal is to reduce how many people have to think about storage details. Big tech had whole data platform teams solving reliability problems in Hive&#8209;era lakes. Iceberg reduces that toil dramatically, but the long tail is still auth, mirroring, and cross&#8209;platform governance.</p><h3>How does this reshape data teams?</h3><p>Analytics engineering abstracted a lot of work. Data engineering has also been simplified by replication/orchestration vendors. What remains is the open ecosystem complexity: identity, object store policies, and cross&#8209;platform connections. Many enterprises already have teams with these skills (infra as code, Terraform, Snowflake management), but others will need to grow into them.</p><h3>Are vendors embracing Iceberg in good faith?</h3><p>The goodwill and collaboration in the past 18 months feels unprecedented. We&#8217;re getting &#8220;more problems&#8221; because we solved prior ones. The industry aligning on standards feels like F1 teams standardizing components so they can innovate elsewhere.</p><h3>In your internal writeup about Iceberg, you quoted Wolf Hall: &#8220;The making of a treaty is the treaty. It doesn&#8217;t matter what the terms are, just that there are terms, it&#8217;s the goodwill that matters. When that runs out, the treaty is broken, whatever the terms say.&#8221; Explain the relevance here. </h3><p>When I joined dbt, it was taboo to mention one partner to another. Now vendors openly acknowledge mutual customers and invest in interoperability. On the Iceberg repo you see competitors collaborating on proposals. The goodwill is the standard.</p><h3>Wrap us up with three things you&#8217;re excited for next year.</h3><p>Push&#8209;based catalog updates so platforms can subscribe to changes rather than repeatedly listing and polling. Progress on the small files problem so Iceberg works better for smaller data too. And more platforms supporting writing directly to external catalogs, unlocking producer&#8209;led sharing and cross&#8209;platform mesh.</p><h2>Chapters</h2><p>00:00:00 &#8212; Intro: why open standards are accelerating</p><p>00:01:20 &#8212; What practitioners can expect from Iceberg in production</p><p>00:05:00 &#8212; Lightning round: query engine, object store, catalog</p><p>00:06:20 &#8212; Internal vs external catalogs</p><p>00:09:30 &#8212; The &#8220;four-part namespace&#8221; and catalog-link style abstractions</p><p>00:11:30 &#8212; The downside: metadata performance, resiliency, and caching</p><p>00:17:10 &#8212; Sharing across multiple platforms: reality and tradeoffs</p><p>00:19:10 &#8212; Iceberg integration phases (1: naive table, 2: REST catalog, 3: schema-scale)</p><p>00:24:10 &#8212; Producer vs consumer model and cross-platform mesh</p><p>00:29:10 &#8212; Identity and &#8220;vended credentials&#8221;: what it is and what it isn&#8217;t</p><p>00:33:30 &#8212; The hard unsolved part: grants and global identity across platforms</p><p>00:37:00 &#8212; Is this mission creep? What Iceberg is optimizing for</p><p>00:39:50 &#8212; How roles on data teams evolve in an open ecosystem</p><p>00:43:40 &#8212; Are vendors genuinely aligned? Why Anders is optimistic</p><p>00:46:50 &#8212; &#8220;The making of a treaty is the treaty&#8221;: goodwill as the standard</p><p>00:51:50 &#8212; Three things Anders is excited for next year</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 80,000 data teams use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Apache Iceberg and the catalog layer (w/ Russell Spitzer)]]></title><description><![CDATA[Everything you ever wanted to know about open table formats with a member of Apache Iceberg and Apache Polaris]]></description><link>https://roundup.getdbt.com/p/apache-iceberg-and-the-catalog-layer</link><guid isPermaLink="false">https://roundup.getdbt.com/p/apache-iceberg-and-the-catalog-layer</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 25 Jan 2026 13:59:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/wLH-vADSwaw" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this episode of The Analytics Engineering Podcast, Tristan talks with Russell Spitzer, a PMC member of Apache Iceberg and Apache Polaris and principal engineer at Snowflake. They discuss the evolution of open table formats and the catalog layer. They dig into how the Apache Software Foundation operates. And they explore where Iceberg and Polaris are headed. If you want to go deep on the tech behind open table formats, this is the conversation for you.</p><div><hr></div><p>A lot has changed in how data teams work over the past year. We&#8217;re collecting input for the <a href="https://forms.gle/KBU9smukSfiK1g4W7">2026 State of Analytics Engineering Report</a> to better understand what&#8217;s working, what&#8217;s hard, and what&#8217;s changing. If you&#8217;re in the middle of this work, your perspective would be valuable.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/Jc54NuP96qekHU9j7&quot;,&quot;text&quot;:&quot;Take the survey&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://forms.gle/Jc54NuP96qekHU9j7"><span>Take the survey</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://forms.gle/DPtgXva549hevZeH7" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Xzm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png" width="728" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1080,&quot;width&quot;:1080,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://forms.gle/DPtgXva549hevZeH7&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3Xzm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">Youtube</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><div id="youtube2-wLH-vADSwaw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;wLH-vADSwaw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/wLH-vADSwaw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Key takeaways</h2><h3>Tristan Handy: You spend a lot of your time thinking about Iceberg and Polaris. Give the audience background on how you found yourself in this niche of high&#8209;volume analytic data file formats.</h3><p><strong>Russell Spitzer:</strong> It&#8217;s a bit random. I started at DataStax on Apache Cassandra as a test engineer and quickly got drawn into analytics. I saw big compute clusters and wanted to be involved. A coworker, Piotr, noticed Spark 0.9 and began a Spark&#8211;Cassandra connector. That got me into Spark. Over six to seven years I focused on moving data between Cassandra and Spark and into other systems. The interoperability problem across distributed compute frameworks was compelling.</p><p>This was pre&#8209;Apache Arrow and pre&#8209;table formats. We were just putting Parquet files everywhere and no one quite knew what they were doing. Pre&#8209;Spark, people explored DSLs like Apache Pig. Eventually the industry converged on SQL for end&#8209;user interfaces.</p><p>I later applied to Apple for the Spark team.</p><h3>Helping build Apple&#8217;s Spark infra, or working directly on Spark?</h3><p>Apple has an open-source Spark team and a Spark&#8209;as&#8209;infra team. I was trying to join the open source team, pushing Apple&#8217;s priorities into the project and supporting Spark as a service. During interviews, Anton&#8212;another Iceberg PMC&#8212;convinced the hiring manager I should join the data tables team, essentially Apple&#8217;s Apache Iceberg team.</p><p>They ambitiously planned to replace lots of internal systems with Iceberg. Iceberg existed but was early (Netflix started it around 2018/2019; I joined Apple in 2020). At Apple it was Iceberg all the time; convincing teams to move off older stacks, adopting open&#8209;source&#8209;as&#8209;a&#8209;service to save money, and getting onto ACID&#8209;capable foundations. We were successful.</p><h3>Migrations are hard. How did you make it accessible?</h3><p>We replaced complicated bespoke reliability fixes with Iceberg. In Hive/HDFS, small&#8209;file problems lead teams to write custom compaction and locking. Removing that toil is a big win. For big orgs, migration is a long&#8209;term investment with ongoing engineering cost. For smaller companies, the key is offloading runtime responsibilities&#8212;ideally to SaaS&#8212;so engineers aren&#8217;t in the loop. Open source limits lock&#8209;in so you can move between systems. Most companies are paid to deliver business value, not to build data infra. dbt is a great example of avoiding hand&#8209;rolled pipeline code. Same logic applies to table/file formats.</p><h3>Let&#8217;s talk Apache governance. What&#8217;s a PMC? How do projects run?</h3><p>Apache projects aren&#8217;t owned by one company. Influence is earned by contributing to the community. The PMC governs merges, releases, membership. People move companies; the project stays with them. The goal is to make the project broadly useful. There&#8217;s no CEO dictating roadmap and no company can change the license.</p><p>Most big projects&#8212;Spark, Kafka, Iceberg, Flink&#8212;are maintained by employees of companies with vested interests, but governance is consensus&#8209;driven. Vetoes are for technical issues (security, future&#8209;limiting design), not ideology.</p><h3>Is Iceberg for the top 20 tech companies or for everyone?</h3><p>Not everyone needs Iceberg. OLTP belongs elsewhere. But for analytics, we should move past raw Parquet partition trees with folder&#8209;name partitioning. In the Hadoop era, lakes were dumping grounds; schema evolution was painful. Many are still moving from CSV to Parquet. Over time, better encodings and table formats become default.</p><p>Decoupling compute and storage changes everything versus co&#8209;located HDFS. Defaults tuned for HDFS (like 128MB Parquet files) don&#8217;t always hold for S3. We want elastic storage and compute; no one wants to pay for compute because storage grew.</p><h3>Walk us through Iceberg versions.</h3><p>v1: transactional analytics&#8212;ACID commits instead of fragile Hive/HDFS patterns. v2: row&#8209;level operations&#8212;logical deletes via delete files so you don&#8217;t rewrite 10M&#8209;row data files to remove one row; later compaction physically purges (key for GDPR). v3: expanded types&#8212;geospatial and variant for semi&#8209;structured data; Variant was standardized across vendors and Parquet so everyone can write/read consistently.</p><p>v4: two thrusts&#8212;streaming and AI. Reduce commit latency, make retries faster under contention. Historically writes took 10&#8211;20 minutes, so commit latency didn&#8217;t matter. For streaming (writes every minute/five), it does. We&#8217;re evolving commit and REST catalog protocols so clients can specify intent (add these files, ensure these exist, then delete those) and let the catalog resolve conflicts server&#8209;side.</p><p>On AI: Iceberg doesn&#8217;t yet serve some vector/image&#8209;heavy patterns well. We&#8217;re exploring changes in Iceberg, Parquet, or both, without breaking existing tables.</p><h3>Talk about Polaris and the catalog layer.</h3><p>Polaris is an Apache incubator project (PPMC). Incubation proves we operate like an Apache project (community&#8209;driven, trademarks donated). Iceberg defines the REST catalog spec/client; Polaris implements a catalog that speaks that spec. Many of us work across projects (Parquet, Iceberg, Polaris), which helps align boundaries.</p><h3>Horizon, Polaris, external catalogs&#8212;what&#8217;s the story?</h3><p>We&#8217;re simplifying: Snowflake can act as an Iceberg REST catalog, or you can use an external REST catalog. External can be Polaris (managed by Snowflake or self&#8209;hosted) or another REST implementation. Interoperability means everything talks the same REST.</p><h3>What is Polaris trying to be best at?</h3><p>A broad, interoperable lakehouse catalog. It can act as a generic Spark catalog (HMS replacement) and aims to support multiple table/file formats. Architectural choices differ (KV vs. relational storage, where transactions live, policy enforcement vs. recording, identity integration). Polaris aims for base implementations that are pluggable&#8212;e.g., AWS/GCP/Microsoft identity.</p><h3>Identity and scope&#8212;where does the catalog stop?</h3><p>There&#8217;s a &#8220;business catalog&#8221; for discovery/listing versus a &#8220;system catalog&#8221; that must know table layout to govern access. Polaris can vend short&#8209;lived credentials for the exact directory of a table&#8217;s files for a load operation; that requires understanding layout. Purely relational metadata often needs to delegate that decision.</p><h3>Will identity/grants slow broad adoption?</h3><p>Possibly. But many once&#8209;complex things become default&#8212;compressed files, columnar formats, soon encryption. With collaboration (like Variant), we&#8217;ll land broadly accepted patterns.</p><h2>Chapters</h2><p>00:01:30 &#8212; Guest welcome and interview start</p><p>00:02:00 &#8212; Russell&#8217;s path: DataStax Cassandra, Spark connector, interoperability</p><p>00:05:20 &#8212; Joining Apple&#8217;s Iceberg team and early Iceberg momentum</p><p>00:06:20 &#8212; Why migrations resonated: replacing bespoke Hive/HDFS compaction/locking</p><p>00:09:10 &#8212; Apache governance 101: PMCs, consensus, and corporate influence</p><p>00:15:40 &#8212; How decisions land without votes; when vetoes apply</p><p>00:18:30 &#8212; Who needs Iceberg and where it fits</p><p>00:22:20 &#8212; Lake &#8594; lakehouse and warehouse &#8594; lakehouse in the cloud era</p><p>00:25:20 &#8212; Iceberg versions: v1 transactions, v2 row&#8209;level ops (GDPR), v3 types</p><p>00:28:10 &#8212; Standardizing Variant across vendors and Parquet</p><p>00:31:10 &#8212; Iceberg v4 goals: streaming commit/retry improvements and AI use cases</p><p>00:33:40 &#8212; Commit latency and server&#8209;side conflict resolution</p><p>00:37:20 &#8212; Polaris as an Apache incubating project (PPMC)</p><p>00:39:30 &#8212; Iceberg REST catalog spec and Polaris implementation</p><p>00:42:30 &#8212; Clarifying Snowflake Horizon, Polaris, and external REST catalogs</p><p>00:45:10 &#8212; What Polaris aims to be best at; pluggable identity providers</p><p>00:48:00 &#8212; Identity scope: business vs. system catalogs and credential vending</p><p>00:51:00 &#8212; Will identity/grants slow mass adoption?</p><p>00:52:50 &#8212; Wrap&#8209;up</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 60,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI agents and the data lake (w/ Lauren Anderson)]]></title><description><![CDATA[The head of Okta's enterprise data platform on why central governance and the semantic layer are so essential]]></description><link>https://roundup.getdbt.com/p/ai-agents-and-the-data-lake-w-lauren</link><guid isPermaLink="false">https://roundup.getdbt.com/p/ai-agents-and-the-data-lake-w-lauren</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 11 Jan 2026 14:03:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/sa-BJkM75TQ" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One of the interesting commonalities of AI and the data lake is that they both require new thinking around how we manage identity. For AI, the big question is how do agents interact with underlying data? For the data lake, the big question is how do we make open data stored outside the purview of any given data platform act like you&#8217;d expect?</p><p>In this episode of The Analytics Engineering Podcast, Tristan talks with Lauren Anderson, who leads the enterprise data platform at identity company Okta. Lauren discusses how identity sits at the center of two seismic shifts in data&#8212;AI agents and the open data lake&#8212;and why central governance and a shared semantic layer are critical. She lays out how analytics engineers and data engineers should divide responsibilities as agents begin to write a growing share of analytical queries. </p><div><hr></div><p>A lot has changed in how data teams work over the past year. We&#8217;re collecting input for the <a href="https://forms.gle/KBU9smukSfiK1g4W7">2026 State of Analytics Engineering Report</a> to better understand what&#8217;s working, what&#8217;s hard, and what&#8217;s changing. If you&#8217;re in the middle of this work, your perspective would be valuable.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/Jc54NuP96qekHU9j7&quot;,&quot;text&quot;:&quot;Take the survey&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://forms.gle/Jc54NuP96qekHU9j7"><span>Take the survey</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://forms.gle/DPtgXva549hevZeH7" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Xzm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png" width="728" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1080,&quot;width&quot;:1080,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://forms.gle/DPtgXva549hevZeH7&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3Xzm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 424w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 848w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1272w, https://substackcdn.com/image/fetch/$s_!3Xzm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c13cbe4-3bd5-4cc8-97ad-51fe6497ede0_1080x1080.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:true,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" loading="lazy" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">Youtube</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><div id="youtube2-sa-BJkM75TQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sa-BJkM75TQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/sa-BJkM75TQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Key takeaways</h2><h3>Tristan Handy: Before we dive into the current day, can you share a little bit about your background and how you came to the role that you&#8217;re in today.</h3><p><strong>Lauren Anderson:</strong> I&#8217;ve had a 20&#8209;something year career at this point. I have basically spent my entire career in analytics some way, but my first data job was at a big bank. I won&#8217;t name it. There&#8217;s only a few big banks you could probably guess. I worked for the finance org and I did compensation planning and administration, with a side of sales tracking and analytics. I was part database analyst, part customer support for people that made a lot more money than I did.</p><p>I was there for seven, seven and a half, eight years. Towards the end of it, I became the owner and creator and almost business architect for our brand&#8209;new sales tracking data warehouse. At a very young age, I got to think about how relational databases should come together for the outcome of both analytics and reporting&#8212;dashboards and whatnot&#8212;but also operations, which was paying compensation every month. It got me super excited about this world of data and being able to architect pipelines and the end&#8209;to&#8209;end flow for real&#8209;world outcomes.</p><h3>What do you think allowed you to be successful in that era? I often think the things that enabled success then aren&#8217;t the same as what make data folks successful today.</h3><p>When I took it over, we ran compensation out of an Access database. I was new, the person who designed it left, and there wasn&#8217;t much documentation. It worked the first month, then broke the second&#8212;right before a payroll deadline. I rebuilt it as a long series of SQL queries with inline comments and step&#8209;by&#8209;step checks that produced a clean file. That willingness to throw away the brittle thing and rebuild with clarity and documentation gave me early success. The meta&#8209;skills:ability to learn, take chances, and figure out the best path&#8212;still apply, but the technology is completely different now.</p><h3>You&#8217;ve split time at Okta into two stints. How would you characterize the work?</h3><p>Okta was my first truly B2B company. I realized quickly B2B data is my sweet spot. I love thinking about customers as businesses and how business users interact with our products and features. Okta data is complex&#8212;many products, features, and highly configurable use cases&#8212;especially with large customers. That variety is exciting. In simpler retail flows you see a lot of the same patterns; in B2B, the variety is the appeal.</p><h3>What&#8217;s your current role?</h3><p>I lead our enterprise data platform, engineering, and architecture function. For enterprise data used to make business decisions, we own ingestion into the warehouse, transformations, and delivery&#8212;dashboards, reverse ETL to third&#8209;party applications, other data stores, and internal apps.</p><h3>How big is the central function and how do you engage with the business?</h3><p>We&#8217;re about 50 people across data engineering and analytics/data science in a company south of 7,000 employees. We support every business unit. Engagement spans a maturity curve. One end is platform self&#8209;service: teams land data via approved connectors, build transformations in dbt on our implementation, and build dashboards in Tableau we administer. Governance and roles are defined centrally, and teams assign people to those roles. The other end is a white&#8209;glove model where we partner through the full lifecycle&#8212;question, discover existing assets, requirements, data work, build, interpretation, validation, and end&#8209;of&#8209;life of the data product. Our sweet spot is the middle: we own enterprise &#8220;gold&#8221; pipelines for company&#8209;level metrics&#8212;monitored and governed&#8212;while domains build and later graduate via a path&#8209;to&#8209;production under stronger governance.</p><h3>Okta is known for identity and security. How does security&#8209;first actually work in practice?</h3><p>Reinventing controls every time slows you down. We invest in repeatable frameworks. Any new source goes through third&#8209;party risk review, classification, and decisions on masking or exclusions. We help teams through that; after a couple times, they can engage directly with risk while we stay in the loop and monitor. As our classifications and expectations got clearer, review cycles shrank from weeks to days. It&#8217;s not all roses&#8212;it takes time&#8212;but we all operate as security practitioners. That shared mindset builds trust and reduces corner&#8209;cutting.</p><h3>How much do users need to know?</h3><p>We don&#8217;t expect everyone to know everything. We provide dbt frameworks and minimum testing standards, plus SMEs to guide teams. The culture is to ask when unsure.</p><h3>Will agents write more analytical queries than humans in the next 12&#8211;24 months?</h3><p>Macro, yes. For us, more like 24&#8211;36 months because we&#8217;re careful. The key is safe, ethical AI consistent with being a security company.</p><h3>How are you thinking about agent access?</h3><p>Central governance. Ideally, agents query centralized, agent&#8209;ready stores. Run governance once: policies, roles for users and for data, tracking and logging on a central plane. The semantic layer is essential. Creating semantic views must get easier and more automated, and semantics should inform policy application.</p><h3>Why are agents different from humans in access patterns?</h3><p>Row&#8209;level security to the extreme. Conversational intelligence data should be limited to what the requesting user can access. Aggregations could be broadly accessible with anonymization, but detailed content should remain constrained. You might also limit allowed functions on large unstructured objects. Identity for agents matters&#8212;Okta Secures AI looks at distinct identity patterns to secure agents across applications.</p><h3>Where are you with MCP and agent building?</h3><p>Early, building support and insight use cases. Progress is fast, but nothing broad in production yet.</p><h3>How should analytics engineers and data engineers participate?</h3><p>Analytics engineers should own semantics&#8212;tooling, vendor choices, onboarding use cases, and the shared business language. Data engineers should optimize for consistency and scale, notice overlap across agents, and provide a platform others can build on with confidence in governance and security.</p><h3>Will you standardize an agent development platform?</h3><p>Yes, in partnership with engineering and shared services. Our current pull skews to the business, so we&#8217;re leaning toward accessible, governed platforms that serve both business and engineering with central governance.</p><h3>Any assumptions you&#8217;re rethinking?</h3><p>Treating everything like a relational model. Many initial agent questions are intentionally simple, where speed and reasonable accuracy trump perfect sophistication. The important thing is to start, observe, and mature.</p><h2>Chapters</h2><p>00:02:28 &#8212; From bank analytics to owning a sales DW</p><p>00:05:00 &#8212; Rebuilding brittle Access &#8594; SQL with documented checks</p><p>00:08:30 &#8212; Ops accountability then vs. optimization today</p><p>00:11:00 &#8212; TripIt, marketing analytics, and moving into tech</p><p>00:13:14 &#8212; Why B2B data became Lauren&#8217;s sweet spot</p><p>00:16:00 &#8212; Current role: ingestion &#8594; transform &#8594; delivery at Okta</p><p>00:18:10 &#8212; Operating models across business units and the path to production</p><p>00:22:20 &#8212; Security-first in practice: repeatable frameworks over friction</p><p>00:24:23 &#8212; Third&#8209;party risk, classification, and shrinking review cycles</p><p>00:28:00 &#8212; Policies, masking, and the need for a central governance plane</p><p>00:30:20 &#8212; Frameworks for dbt, testing, and SME guidance</p><p>00:32:11 &#8212; Will agents outwrite humans? Macro yes; Okta timeline nuance</p><p>00:33:48 &#8212; Central governance and agent access patterns</p><p>00:37:19 &#8212; Semantic layer as bridge and policy carrier</p><p>00:41:00 &#8212; Function limits on unstructured data and Okta Secures AI</p><p>00:42:35 &#8212; Early MCP experimentation and support use cases</p><p>00:43:03 &#8212; Roles: analytics engineers (semantics) and data engineers (scale)</p><p>00:46:10 &#8212; Enabling an org-wide agent platform with shared governance</p><p>00:47:43 &#8212; Solve governance once, serve business and engineering</p><p>00:49:30 &#8212; Simpler questions first; rethinking relational assumptions</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 60,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Demo on-demand&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.getdbt.com/resources/webinars/dbt-cloud-demos-with-experts?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Demo on-demand</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Inside Snowflake’s AI roadmap (w/ Chris Child)]]></title><description><![CDATA[Snowflake's VP of Product Management on the vision for open table formats, governed agents, and the future of the data engineer]]></description><link>https://roundup.getdbt.com/p/inside-snowflakes-ai-roadmap-w-chris</link><guid isPermaLink="false">https://roundup.getdbt.com/p/inside-snowflakes-ai-roadmap-w-chris</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 14 Dec 2025 14:06:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/5Yo0chBWt2c" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This season of The Analytics Engineering Podcast is focused on how the current data landscape is impacting the developer experience. Snowflake plays a major role in what that developer experience looks like. </p><p>In this episode, Snowflake VP of Product Management Chris Child joins Tristan to unpack Snowflake&#8217;s AI roadmap and what it means for data teams. They discuss the evolution from Snowpark to <a href="https://docs.getdbt.com/blog/semantic-layer-cortex">Cortex</a> and <a href="https://www.getdbt.com/blog/what-is-snowflake-intelligence-anyway">Snowflake Intelligence</a>, how to <a href="https://www.getdbt.com/blog/bring-structured-context-to-agentic-data-development-with-dbt">govern agents </a>with row- and column-level controls, and why Snowflake is investing in <a href="https://www.getdbt.com/blog/iceberg-give-it-a-rest">Apache Iceberg</a> and the <a href="https://www.snowflake.com/en/blog/open-semantic-interchange-ai-standard/">Open Semantic Interchange initiative</a>. dbt Labs recently open sourced <a href="https://www.getdbt.com/blog/open-source-metricflow-governed-metrics">MetricsFlow</a>, the technology that powers the dbt Semantic Layer, to align with the goals of OSI. </p><p>Chris also shares a vision for the next five years of data engineering: fewer bespoke pipelines, more standardization and semantics, and a bigger focus on business context and data products.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.getdbt.com/docs/install-dbt-extension&quot;,&quot;text&quot;:&quot;Check out the dbt VS Code extension&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.getdbt.com/docs/install-dbt-extension"><span>Check out the dbt VS Code extension</span></a></p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">Youtube</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><div id="youtube2-5Yo0chBWt2c" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5Yo0chBWt2c&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5Yo0chBWt2c?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Key takeaways</h2><h3>Tristan Handy: Where have you spent your time professionally?</h3><p><strong>Chris Child:</strong> I didn&#8217;t end up in data on purpose. I found myself here through a series of hops. I was working at Redpoint Ventures and got excited by a company we invested in, RelateIQ. I left to join RelateIQ, building an intelligent CRM. We captured emails and meetings and built profiles of everyone you interacted with. We were acquired by Salesforce. Looking at what sales teams needed, I realized they also needed product usage data, marketing data, and campaign data, with a platform to pull it all together. That led me to Segment. I joined when it was about 50 people. Segment was mostly analytics.js then, loading different JavaScript on your webpage for tracking. We had just built the first warehouse connector to Redshift and got huge usage sending click and user data to Redshift.</p><h3>The original Redshift connector was a nightmare to work with.</h3><p>Like many startup things, one engineer built it in a week. Suddenly a ton of people used it, and enterprise customers depended on it. We had to rebuild it several times. You could see the future there. Folks I worked with went on to start companies like Census and Hightouch, thinking the CDP should be built on top of the warehouse, which Segment evolved toward. We also built a Snowflake connector because customers demanded it in addition to Redshift.</p><h3>It&#8217;s funny to think back a decade to how small Snowflake was.</h3><p>A couple customers demanded it; we built it, and we were sending a ton of data. That led to the realization that a customer data platform is one instance of a data warehouse, and there are others you need. Seeing how fast Snowflake was growing, I wanted to build the next layer of infrastructure. </p><p>I joined Snowflake seven and a half years ago. I&#8217;ve had three key roles. First, I built areas of the product: the UI, billing, product-led growth engines and free trial infrastructure, and application capabilities for connecting into and building on Snowflake. After Sridhar became CEO, he asked me to reconnect product and sales by leading solutions engineering, reporting to the CRO. Leading a global technical seller org was very different for a product person, but it helped align teams at scale. </p><p>About eight months ago, I returned to lead data engineering: how people bring data into Snowflake, how they transform it&#8212;spending a lot of time with dbt&#8212;and work around Iceberg and interoperability for worlds where not all data sits in Snowflake.</p><h3>I didn&#8217;t realize the path started in investing. Are you a finance person way back?</h3><p>My undergrad is in computer science. I started programming in fifth grade on an Apple IIe, learned C before high school, and followed that thread. In college I noticed business folks often made the decisions. I wanted to learn that side. After college I joined a consulting firm, then private equity, then an MBA. I realized I didn&#8217;t want to be a finance person. I moved to venture as a bridge to building products, but I wanted to build, so I jumped into operating roles.</p><h3>Tell the story of Snowflake and AI. In the 2010s there was huge demand for easier, scalable, cloud-oriented data solutions. Then 2022 happened, ChatGPT launched, and the world changed. How did Snowflake respond, and where are you today?</h3><p>Even pre&#8209;2022 we saw customers putting their most important business data into Snowflake, then pulling data out for things they couldn&#8217;t do inside: training ML models and other analyses that SQL wasn&#8217;t a great fit for. Customers told us they didn&#8217;t like losing governance and lineage when data left. We invested in ways to bring more of that work to Snowflake. </p><p>Snowpark was the first big step: a runtime for non&#8209;SQL code (Python, Java, Scala) with APIs inspired by Spark, plus capabilities like forecasting. It&#8217;s great for some workloads, but most customers don&#8217;t train most ML models inside Snowflake yet. We also acquired Applica for document extraction using early LLM techniques, and Neeva for web search based on LLM approaches. </p><p>When ChatGPT arrived, we saw two major influences. First, people wanted to chat with data they&#8217;d brought into Snowflake and transformed with dbt. That&#8217;s hard because LLMs are great with unstructured data and less great at turning business questions into correct SQL. Second, LLMs are very good at writing code, including Python and even dbt code. They&#8217;re not perfect for data engineering code yet, but they help. </p><p>Our goal is to help customers activate important enterprise data safely in AI models, deploy agents at scale under existing governance, and keep up with exploding data volumes without 10x headcount.</p><h3>What are the key product pieces&#8212;Cortex, Snowflake Intelligence, etc.&#8212;in the Snowflake AI stack?</h3><p>First, you need a great data foundation. That isn&#8217;t new: get the data in one place, apply good governance and permissions, know your data, tag PII, and raise the standard of care. </p><p>AI raises the bar because agents can expose sensitive data faster than dashboards. OSI (Open Semantic Interchange) work is part of this; LLMs need explicit semantics and cataloging they can consume, not tacit knowledge hidden in downstream tools. </p><p>Companies with strong hygiene move faster with AI. Roles matter; if a product manager role has access to certain rows and columns, an agent acting within that role can safely answer questions. Agents can run inside or outside Snowflake, but should assume appropriate roles when querying.</p><p>On the AI stack, after the data foundation, Cortex provides higher&#8209;level APIs for unstructured processing, RAG, and structured processing. You can choose models (OpenAI, Anthropic, Mistral, Gemini, Llama, etc.), but most folks don&#8217;t want to manage prompts and GPUs. Cortex AI SQL lets you express intent like sentiment filters or fuzzy joins. It&#8217;s powerful for exploration but non&#8209;deterministic, so you need care in production. Costs map to tokens at higher abstractions, with budgets and guardrails similar to variable compute in the cloud.</p><p>At the top, Snowflake Intelligence is a UI and agent framework. You define agents with access to specific datasets and semantic models, plus gold queries and usage guidance. It looks like a chat interface over your governed data. Inside Snowflake, we&#8217;ve deployed a GTM assistant that blends product usage, Salesforce, notes, docs, and content&#8212;structured and unstructured&#8212;respecting row&#8209;level security for every seller while giving leaders broader access.</p><h3>Let&#8217;s talk open formats and Iceberg. Why lean in when it opens up the data?</h3><p>Our aim isn&#8217;t to lock up data, it&#8217;s to help customers get value. Snowflake began as a reaction to Hadoop&#8212;betting on SQL at cloud scale with our own formats and catalog because they didn&#8217;t exist then. Those proprietary pieces let us evolve quickly. Iceberg is now almost as good, and we&#8217;re contributing to make it better. </p><p>Openness is a win for customers and expands the universe of data Snowflake can query, run Cortex on, and power Intelligence with. The tradeoff is standards move slower. Variant type support is a good example&#8212;we contributed our approach and shepherded it into the v3 spec. </p><p>Next up, the community is wrestling with fine&#8209;grained access control beyond table&#8209;level policies. It&#8217;s hard and will take time, but the outcome should be better for everyone.</p><h3>Give us your view on the future of data engineering.</h3><p>Data volume is exploding, including unstructured data that&#8217;s now usable. You can&#8217;t hand&#8209;build every pipeline. Demand is also exploding as agents query more things in more ways. Teams must operate at a higher level: automate, standardize, and reduce bespoke pipelines. </p><p>Expect more shared semantic models across consumers and packaged semantics coming from systems like SAP. You&#8217;ll also build data&#8209;engineering agents to do work and monitor pipelines. The role looks more like architect and manager, allocating budgets, deduplicating work, and&#8212;most importantly&#8212;deeply understanding the business. The best data engineers shift from code output to data products, with clear semantics and context.</p><h3>Talk more about context.</h3><p>The day&#8209;to&#8209;day activity shifts, but the output is still data products. Great data products come with instructions, definitions, lineage, quality expectations, and how to get correct answers to common questions. </p><p>We need that context captured where work happens&#8212;models, visualization, quality systems&#8212;and made available everywhere: catalogs, agents, and UIs. As you build, you should also document, and those semantics should flow consistently into tools like Snowflake Intelligence so agents can reason correctly. </p><p>A big part of the challenge is selecting just&#8209;enough context per question.</p><h2>Chapters</h2><ul><li><p>00:01:50 &#8212; Chris&#8217;s path: RelateIQ, Segment, Snowflake</p></li><li><p>00:05:40 &#8212; Roles at Snowflake: product, solutions engineering, data engineering</p></li><li><p>00:09:00 &#8212; Snowflake and AI: foundations before ChatGPT</p></li><li><p>00:11:40 &#8212; Why keep ML and non-SQL work closer to governed data</p></li><li><p>00:13:40 &#8212; Applica and Neeva acquisitions, enterprise search context</p></li><li><p>00:14:50 &#8212; Two big AI influences: chat with data and code generation</p></li><li><p>00:16:50 &#8212; Scaling agents while preserving governance and cost controls</p></li><li><p>00:18:40 &#8212; Why governance must live at the data layer (roles, rows, columns)</p></li><li><p>00:22:00 &#8212; Inside vs. outside Snowflake: how agents assume roles</p></li><li><p>00:23:02 &#8212; Cortex: higher-level APIs over many LLMs</p></li><li><p>00:24:06 &#8212; AI SQL: joins/where by intent and the non-determinism tradeoff</p></li><li><p>00:27:40 &#8212; Cost models, tokens, and guardrails</p></li><li><p>00:29:10 &#8212; Snowflake Intelligence: agents over a governed foundation</p></li><li><p>00:32:10 &#8212; Open formats and Iceberg: Why Snowflake leaned in</p></li><li><p>00:36:00 &#8212; Standards tradeoffs: variant type and community progress</p></li><li><p>00:38:40 &#8212; Fine-grained access control for Iceberg: thorny but necessary</p></li><li><p>00:40:40 &#8212; The future of data engineering: scale, unstructured data, agents</p></li><li><p>00:43:20 &#8212; No more bespoke pipelines; standardized models, and semantics</p></li><li><p>00:44:50 &#8212; Data engineers as architects and business partners</p></li><li><p>00:50:00 &#8212; Code vs. context: data products and shared semantics</p></li><li><p>00:53:10 &#8212; Capturing context where work happens (models, viz, quality)</p></li><li><p>00:55:00 &#8212; Selecting just enough context for agent reasoning</p></li><li><p>00:56:30 &#8212; Closing</p></li></ul><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 60,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Book a demo&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Book a demo</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Building a multimodal lakehouse for AI (w/ Chang She)]]></title><description><![CDATA[The CEO of LanceDB and Tristan go deep into the bridge between analytics and AI engineering]]></description><link>https://roundup.getdbt.com/p/building-a-multimodal-lakehouse-for</link><guid isPermaLink="false">https://roundup.getdbt.com/p/building-a-multimodal-lakehouse-for</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 23 Nov 2025 14:03:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/R5RW3LZIAO8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome back to The Analytics Engineering Podcast! Last season, we explored a host of topics on the developer experience (<a href="https://www.youtube.com/watch?v=WidQLYon2_I&amp;t=5s">something the dbt Labs crew has been pretty vocal on recently</a>). This season, we&#8217;re expanding that theme to look at how the current data landscape is impacting the developer experience. <a href="https://www.getdbt.com/blog/what-is-open-data-infrastructure">Open data infrastructure</a> is on the rise; AI is pushing teams to rethink how data is modeled, governed, and scaled; and the developer experience is evolving.</p><p>In this episode, Tristan Handy sits down with Chang She&#8212;a co-creator of Pandas and now CEO of LanceDB&#8212;to explore the convergence of analytics and AI engineering.</p><p>The team at LanceDB is rebuilding the data lake from the ground up with AI as a first principle, starting with a new AI-native file format called Lance and building upward from there.</p><p>Tristan traces Chang&#8217;s journey as one of the original contributors to the pandas library to building a new infrastructure layer for AI-native data. Learn why vector databases alone aren&#8217;t enough, why agents require new architecture, and how LanceDB is building a AI lakehouse for the future.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.getdbt.com/docs/install-dbt-extension&quot;,&quot;text&quot;:&quot;Check out the dbt VS Code extension&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.getdbt.com/docs/install-dbt-extension"><span>Check out the dbt VS Code extension</span></a></p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://www.youtube.com/playlist?list=PL0QYlrC86xQm83Q9deiy4euEnbw8ceu3I">Youtube</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><div id="youtube2-R5RW3LZIAO8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;R5RW3LZIAO8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/R5RW3LZIAO8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Key takeaways</h2><h3>Tristan Handy: You&#8217;re the founder and creator of the Lance file format and LanceDB. Before diving into vector search and vector databases, tell us about your background. </h3><p><strong>Chang She:</strong> I love talking to analytics engineers because that&#8217;s my background. I started about 20 years ago in quantitative finance. As a junior analyst, you do a lot of data engineering and analytics, which got me into open-source Python. I became one of the co-authors of the pandas library&#8212;initially to solve my own problem of not wanting to do analytics engineering in Java or VBScript.</p><h3>You worked for a hedge fund?</h3><p>Yes, AQR.</p><h3>Did they know you were contributing to pandas? Hedge funds aren&#8217;t known for open source.</h3><p>My roommate and colleague at the time was Wes McKinney. He showed me a proprietary Python library he was working on. It was life-changing. I started using and contributing. He spent about six months convincing the fund to open-source it. This was around 2010, and they were ahead of the industry in that respect.</p><h3> I didn&#8217;t know pandas started at AQR. That&#8217;s fascinating. So much of your circa-2010 analytics work was done in early pandas?</h3><p>Exactly. We went through several iterations, even debated the name. Because it was a hedge fund, there was a lot of econometrics and &#8220;panel data,&#8221; so Wes named it &#8220;pandas&#8221; for panel data analysis.</p><h3>That origin story isn&#8217;t widely known. You then founded two companies, sold one to Cloudera, and were there during an interesting time.</h3><p>Wes and I created DataPad&#8212;cloud BI before cloud BI really took off&#8212;and sold it to Cloudera. I spent about four and a half years in the Hadoop &#8220;big data&#8221; world, where I met my co-founder. He worked on HDFS at Cloudera, and several ex-Cloudera folks are at LanceDB today. After that I moved into machine learning at Tubi TV, working on recommender systems, ML serving, and experimentation/AB testing. That exposed me to embeddings. We dealt with videos, poster art images, and synopses&#8212;data that doesn&#8217;t fit neatly into pandas or even Spark data frames. That inspired me to build better infrastructure for these data types&#8212;what we now call &#8220;classical&#8221; machine learning&#8212;which led to LanceDB.</p><h3>So that&#8217;s our bridge to vectors. You experienced these problems at Tubi, then founded the company. And Tubi used dbt?</h3><p>Heavily. Thank you for creating it&#8212;it was critical to our stack.</p><h3>Give us a non-technical intro: what are vectors used for?</h3><p>Many people focus on the latest models and techniques. My perspective: everyone has access to similar models&#8212;your differentiation comes from your data and how effectively you connect data to AI. Vectors are a way to represent any kind of data in a form models understand: high-dimensional arrays of floating-point numbers&#8212;1,500, 3,000 dimensions, etc. Early statistical models might have a few interpretable dimensions; now you can have thousands where individual dimensions aren&#8217;t necessarily interpretable, but the space captures semantics.</p><p>Beyond RAG, vectors power internal model representations, recommender systems, and personalization&#8212;the original mainstream use case.</p><h3>Search is also a good use case. How is vector search different from full-text search or Command-F?</h3><p>Full-text search (e.g., Elasticsearch) returns documents containing the exact terms you searched. If you search for &#8220;customer,&#8221; it finds &#8220;customer/customers,&#8221; but might miss &#8220;user,&#8221; &#8220;adopter,&#8221; &#8220;organization,&#8221; etc. Vector search uses dense representations where semantically similar words and documents live near each other in high-dimensional space. Search for &#8220;customer,&#8221; and you get results that include semantically related terms.</p><h3>Would you combine vector and full-text search?</h3><p>Yes&#8212;hybrid search. Early RAG demos often used pure vector search for speed. Now enterprises need production-grade relevance. Many combine keyword and vector search with a re-ranking step to reach higher precision/recall.</p><h3>Early RAG pipelines often chunk text, embed, and call it done. But more thoughtful pipelines do something closer to feature engineering, right?</h3><p>Absolutely. Thought goes into what you feed the embedding model. For example: add a document- or section-level summary alongside each chunk before embedding; include multimodal features&#8212;artistic descriptions, literal captions, tags; create multiple embedding columns (e.g., different prompts/modalities) and search across them with re-ranking. High-quality retrieval requires feature-engineering-like decisions before embedding.</p><h3>Let&#8217;s talk vector file formats (Lance) and vector databases (LanceDB). My crude belief: a vector database is a standard database with additional indexes. True?</h3><p>Not wrong, but my hot take: with Lance and LanceDB, we&#8217;re building a lakehouse for multimodal data that includes vectors. Many &#8220;vector databases&#8221; are optimized only for vectors and struggle with other data types and workloads. The category needs to evolve&#8212;either toward new-generation search engines or new-generation lakehouses. We set out from day one to build the broader lakehouse, not just a vector index.</p><h3>Outline your AI-enabled data lake vision. I&#8217;m familiar with Snowflake and Databricks&#8217; lakehouse. How do you see the world differently?</h3><p>We assumed everyone would use Parquet and tried for months to support AI workloads&#8212;search, training, preprocessing&#8212;on it. We couldn&#8217;t make it work well. Talking to computer-vision and ML practitioners, no one had something effective. That gave us confidence to build a new format.</p><p>In AI you manage vectors, long documents, images, and videos. The first problem is storage. With Parquet, mixing wide blob columns with narrow metadata columns leads to out-of-memory issues due to row-group design. If you shrink row groups to fit blobs, read performance tanks.</p><p>Even once data is in Parquet, AI needs random access and secondary indexes. Parquet doesn&#8217;t support efficient random row access: retrieving scattered rows forces reading entire row groups. With media, that&#8217;s prohibitively expensive&#8212;both for search and for training (e.g., global shuffle). Data evolution is also hard: with table formats like Iceberg, backfills often mean copying entire datasets. Copying petabytes of media is a non-starter. These issues motivated Lance.</p><h3>I have a good mental model of Parquet with structured data. With images or video, do you put them in blob columns?</h3><p>Yes. We use Apache Arrow types. Images/audio/video are large binary columns. Vectors are fixed-width list columns (e.g., 1,536-dimensional). But Parquet&#8217;s row-group mechanics and lack of random access make these workloads painful.</p><h3>So Lance was the first thing you built. It has solid traction on GitHub. Who uses a file format&#8212;users or vendors?</h3><p>Both. Frontier labs use Lance to store training data&#8212;e.g., for image/video generation&#8212;replacing stacks like TFRecords, WebDataset, Parquet, and BigQuery. Large tech companies and vendors also build on Lance: Databricks, Tencent, Alibaba, Netflix, NVIDIA, Uber, among others.</p><h3>Databricks uses Lance?</h3><p>For parts of their AI-specific offerings.</p><h3>You&#8217;ve raised several rounds&#8212;the format is Apache-2 licensed. How do you commercialize?</h3><p>Our commercial offering is a data platform for large-scale AI production: vector search, data preprocessing, training/serving cache, and an analytics engine for curation and exploration. It supports ML training workflows and AI application development, solving the hard distributed-systems problems along the path. We partner closely with big vendors; we&#8217;re generally not competitive because goals and customer bases differ. Cloud providers seek platform consumption; we focus on an AI-optimized data platform for specific workloads and users.</p><h3>The commercial product is called LanceDB, but you prefer to position it not just as a database.</h3><p>Right&#8212;we&#8217;re an AI-native data platform/lakehouse for multimodal data, with Lance as the common format.</p><h3>How does this space play out over the next two to three years?</h3><p>Two big predictions. First, multimodal will be 100&#215; bigger&#8212;more usage and more data. Audio is exploding; video generation is resurging; robotics is next. Second, our data infrastructure isn&#8217;t ready for agents driving search and retrieval.</p><h3>Let&#8217;s unpack both. On multimodal: unlike structured analytics, where every company needs it, multimodal workloads seem concentrated. Do all enterprises really need this?</h3><p>I think every enterprise becomes multimodal. Take insurance: tons of documents to digitize, extract, search, and analyze; drones capturing images/video to assess risk and improvements over time. Existing businesses become more efficient; AI-native entrants gain structural advantages. Multimodal data underpins both.</p><h3>It&#8217;s a heavy lift. Will every Fortune 500 insurer build these capabilities in-house, or will vendors package them?</h3><p>Likely both&#8212;just like analytics engineering emerged as a role, with adjacent talent re-skilling. We see the same with AI engineering.</p><h3>What titles are hands-on with your product?</h3><p>AI researchers and AI engineers. Many app developers building AI features now carry the &#8220;AI engineer&#8221; title.</p><h3>On agents: how do their access patterns change platform requirements?</h3><p>RAG was one-shot: ask, retrieve, answer. Agents iterate: they decompose problems into sub-questions, refine queries and results, and run many steps in parallel. Load skyrockets&#8212;humans type slowly; agents can issue hundreds of queries simultaneously. Queries are more varied and selective, and agents are creative in combining modalities and sources: schemas, SQL over structured data, prior analyses and charts, document stores, image/video metadata, etc.</p><p>Traditional vector databases aren&#8217;t designed for this breadth and scale. If you bolt together multiple specialized systems, your &#8220;agent stack&#8221; balloons into a maintenance nightmare. Our approach: put all data in one place with a single system that supports vector search, keyword search, filters, key-value lookups, re-ranking, analytics, and efficient random access&#8212;on top of an AI-native file format (Lance).</p><h3>For listeners whose curiosity is piqued, any resources you recommend?</h3><p><strong>Chang She:</strong> Yes&#8212;our blog series by Weston Pace, the tech lead for Lance format. It dives into encodings, I/O, and has great reads for analytics engineers: <a href="http://lancedb.com/blog">lancedb.com/blog</a> .</p><h2>Chapters</h2><ul><li><p>00:00 &#8211; Intro: Analytics meets AI</p></li><li><p>03:20 &#8211; Chang&#8217;s background and how Pandas began</p></li><li><p>06:40 &#8211; Lessons from Cloudera and metadata</p></li><li><p>08:30 &#8211; Multimodal data and LanceDB&#8217;s origin story</p></li><li><p>10:00 &#8211; Why vector search matters (beyond RAG)</p></li><li><p>12:00 &#8211; What are vectors and why do we use them?</p></li><li><p>15:00 &#8211; Full-text vs vector search</p></li><li><p>18:00 &#8211; Feature engineering in AI use cases</p></li><li><p>21:15 &#8211; Lance format</p></li><li><p>28:00 &#8211; Storage, scale, and the problem with Parquet</p></li><li><p>35:30 &#8211; Building a business on open source</p></li><li><p>41:00 &#8211; Two big bets: multimodal data and agents</p></li><li><p>46:00 &#8211; Every company will become multimodal</p></li><li><p>50:00 &#8211; Agent access patterns will redefine data</p></li><li><p>54:00 &#8211; Why dbt-style workflows matter now more than ever</p></li></ul><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 60,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Book a demo&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Book a demo</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Agentic coding in analytics engineering (w/ Mikkel Dengsøe)]]></title><description><![CDATA[The cofounder of SYNQ discusses his tests (and tips) with agentic coding tools]]></description><link>https://roundup.getdbt.com/p/agentic-coding-in-analytics-engineering</link><guid isPermaLink="false">https://roundup.getdbt.com/p/agentic-coding-in-analytics-engineering</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 07 Sep 2025 12:01:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/555761fd-daa8-47e7-a907-79541a9e3860_1680x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://coalesce.getdbt.com/event/21662b38-2c17-4c10-9dd7-964fd652ab44/summary/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q3-2026_coalesce-2025_aw&amp;utm_content=coalesce____&amp;utm_term=all_all__" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C5Cy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 424w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 848w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1272w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png" width="1456" height="364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:364,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1203274,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://coalesce.getdbt.com/event/21662b38-2c17-4c10-9dd7-964fd652ab44/summary/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q3-2026_coalesce-2025_aw&amp;utm_content=coalesce____&amp;utm_term=all_all__&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://roundup.getdbt.com/i/171688472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C5Cy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 424w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 848w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1272w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>What does agentic coding look like in analytics engineering? Mikkel Dengs&#248;e, co-founder at SYNQ, recently <a href="https://medium.com/@mikldd/using-ai-for-data-modeling-in-dbt-975838054cb1">wrote</a> a <a href="https://medium.com/@mikldd/using-ai-to-build-a-robust-testing-framework-4e034dfd014f">series</a> of <a href="https://medium.com/@mikldd/using-omnis-ai-assistant-on-the-semantic-layer-0572f997451d">posts</a> on his experiences as an analytics engineer with agentic coding tools. In this episode of The Analytics Engineering Podcast, he walks through a hands-on project using Cursor, the <a href="https://www.getdbt.com/product/fusion">dbt Fusion engine</a>, the <a href="https://www.getdbt.com/blog/mcp">dbt MCP server</a>, Omni&#8217;s AI assistant, and Snowflake.</p><p>Tristan and Mikkel cover where agents shine (staging, unit tests, lineage-aware checks), where they&#8217;re risky (BI chat for non-experts), and how observability is shifting from dashboards to root-cause explanations delivered to the right person at the right time. Along the way: practical prompts, why &#8220;one model at a time&#8221; keeps you in control, and a testing philosophy that avoids alert fatigue while catching what matters.</p><p><strong><a href="https://coalesce.getdbt.com/event/21662b38-2c17-4c10-9dd7-964fd652ab44/summary/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q3-2026_coalesce-2025_aw&amp;utm_content=coalesce____&amp;utm_term=all_all__">To see real-world use cases of agentic coding and to learn directly from data and AI leaders, join us at Coalesce 2025 in Las Vegas, Oct. 13-16</a></strong>.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><h2>Key takeaways</h2><h3>Can you talk a little bit about your background?</h3><p><strong>Mikkel Dengs&#248;e:</strong> Yeah, so I can start from the beginning. I've been in data for, I think it's coming up to 15 years now, and started my career in data at a Danish shipping company, which was very much zero to one. When I came in, there was no data warehouse, and the only way we could know how many containers were shipped was by an IT guy pulling that out of the system every six months. I then spent two years there building up their data warehouse on SQL Server, which was super fun. After that, I spent five years at Google, which was a very different gear.</p><h3>That's a natural transition. Just global shipping company straight to Google.</h3><p>Exactly. And that was very much a hundred-to-end where, in my case, I worked with the ads data and you get a perfectly curated data table that you can work with and everything kind of works. Then after that I joined a company called Monzo. For those who are not familiar, it's a scaling fintech out of the UK and that was very much the one to a hundred. When I joined we were 30 data people, but scaled to a hundred over two years. We had 10,000 dbt models and we built every internal tool under the sun for dbt. Super interesting. And then three and a half years ago I went on to found SYNQ alongside Peter and Steve, which is a data observability platform.</p><h3>Tell us a little bit more about SYNQ.</h3><p>We are a data platform that primarily works with companies using tools like dbt already, but have issues going from important data to business-critical data. That might be customer-facing dashboards, machine learning models, or something else. They want better monitoring&#8212;we often deploy anomaly monitors&#8212;and they also want workflows such as incident management for when things go wrong. We were founded in 2022, so now we're in early stages of working with scale-ups and startups, and now also onboarding enterprises and larger companies. It's been a fun journey.</p><h3>In your series of blog posts, you went through the modern data stack and said, &#8220;What's the most current version of this tool and how effectively can I AI-ify that?&#8221; Whether that's using Cursor to build dbt models or using the agent experience inside of Omni&#8212;what made you decide to get into this and write about it?</h3><p>The first part of it is just: it's super fun to tinker with these tools and try them out. It's magic. And we were also building an MCP server at SYNQ, so I had a lot of interest in seeing how it works with others and what we can learn. It was also driven by being able to have conversations with our customers. When they ask about it, being able to speak from the point of view of having actually tried this and seen what works and what doesn't.</p><h3>The early days of using Redshift were such a visceral experience relative to what came before. If I hadn't interacted with it directly, I wouldn't have understood how big a state change cloud data was. This feels like another one of those moments: if you don't have hands-on experience, you're not going to really get it. Fair?</h3><p>Spot on. And I think pretty much every data team should be doing this unless they have a very good reason not to. The risk and the stakes can be pretty low if you use it for internal workflows like data modeling and writing tests. You're still in control. I recommend everybody do it.</p><h3>What tasks did you try to accomplish?</h3><p>It's three different blog posts: the data modeling part, the testing part, and then exposing it in Omni's AI agent where people can ask questions about the data. There's a fourth post: once the data is live, how can you use the SYNQ MCP to do things like root-cause analysis and planning changes. I started with data modeling. I had raw data from different JSON sources, some XMLs, some profiles&#8212;extracted and put into Snowflake&#8212;and then did the data model.</p><h3>So the data was already loaded into Snowflake?</h3><p>Yeah, exactly. For the data modeling, I started from the sources and then worked through staging, marts, and finally metrics using the semantic layer. Each step looks a little different when you use AI tools because the behavior differs. In terms of tooling, I used Cursor with the dbt-MCP plugged in. If you're not familiar, dbt-MCP lets you, via prompt, interact with dbt tools&#8212;execute <code>dbt build</code>, get models, or get everything upstream of a given model&#8212;so you can chain work without explicitly doing it.</p><h3>Cursor + dbt-MCP. What model did you use?</h3><p>I just used the default in Cursor, which I believe is Claude. There's an important distinction: Cursor is really good at writing code, but it can't execute queries on your behalf. If you want to extract raw data and query Snowflake to get rows out, you have to do that in Claude Desktop. That became key. Early on, as I built models, the first thing I did was get a snapshot of sample data from Snowflake&#8212;10,000 rows of a source. I fed that into Cursor and said, &#8220;These are examples of what this data looks like.&#8221; Using that data, Cursor could model in a clever way. For example, a column called <code>quarter</code> like &#8220;2025 Q1&#8221;&#8212;Cursor understood to translate it into a datetime and do the transformations.</p><h3>I've used the dbt MCP server a decent amount&#8212;less in Cursor, more in Claude Desktop. Your stack was Cursor + Claude models + Claude Desktop. And Cursor cannot directly execute queries in Snowflake, but Claude Desktop can. Is that because there&#8217;s tool use Claude has that Cursor doesn't?</h3><p>I believe so. In Claude Desktop, if you write queries against dbt-MCP, Claude can visualize a graph, show outputs of a SQL statement, etc. Cursor, as far as I know, couldn't. My middle ground was to take sample data out of Snowflake, put it into a CSV, and feed that back into Cursor so it could look at raw data.</p><h3>As part of its own context window?</h3><p>Exactly. That was key for my workflow. Then when I wanted to write unit tests, I could use real data examples from the sample. Or when automatically documenting the data, I asked Cursor to specify examples in the docs based on the most common occurrences within a column. Letting Cursor peek at raw data was a core pillar.</p><h3>It's a little hacky, right? Cursor should really be able to interact directly with Snowflake or Databricks to investigate the shape of the data. Agents should be empowered to do that.</h3><p>I would say so. There might be a way I didn&#8217;t know about, but I patched the gaps by uploading into the context window.</p><h3>So that's the state of the art today.</h3><p>Seems so. To be clear, I think the limitation is IDE differences&#8212;Cursor vs. Claude Desktop&#8212;rather than dbt-MCP itself.</p><h3>Once you had sample data in context, did you have to suggest conversions, or did it naturally do them?</h3><p>It got the defaults pretty right, but I guided it on what I wanted from the source data. I wanted control over everything, so I asked it to do one model at a time rather than auto-generate a whole stack. That way I could review each step and stay in control.</p><h3>Your prompt workflow was &#8220;Build me a model with this name that stages the data from this table,&#8221; basically?</h3><p>Yeah. When it proposed code I didn't like, upstream it was usually simple (regex to parse dates, etc.). Downstream, in marts and metrics, I started describing my ideal data product: user jobs-to-be-done and the final output. That&#8217;s when Cursor got creative and invented metrics I hadn&#8217;t anticipated&#8212;like &#8220;apartment price relative to time on market.&#8221; I pruned ones I didn&#8217;t want, but some were good surprises.</p><h3>Which layer did it help most?</h3><p>Testing. Modeling was good&#8212;especially staging&#8212;but testing accelerated significantly. SQL is a bit like English; for simple datasets you can express intent easily. Testing can be much harder and more verbose.</p><h3>Roughly how much more effective did you feel?</h3><p>Modeling: multiples faster. It nailed the tedious parts&#8212;regex, casting, pass-throughs&#8212;so staging/intermediate layers flew. In marts/semantic metrics, the benefit was brainstorming. It helped me think of metrics I wouldn't have.</p><h3>Did the dbt Fusion engine help?</h3><p>Yes. Fusion shows lineage and whether a column is pass-through. For example, if a column is pass-through with no transforms, don't add another <code>not_null</code> or <code>unique</code> if there's one upstream. I bounced between the IDE to check this and codified it as a testing strategy. That's already top-10% testing hygiene.</p><h3>Any MCP feature requests surface?</h3><p>The more context and tools the agent has, the more it can do. In the fourth post, for root cause analysis, we used the SYNQ MCP. We collect all your Git commits and have history, so the agent could correlate recent code changes with incidents. Requests depend on the job at hand.</p><h3>Let's move to testing&#8212;why was it the most additive?</h3><p>Testing is hard; many teams don't know how to do it and alert fatigue is common. A huge share of tests we see are <code>not_null</code>/<code>unique</code>, which doesn't reflect real data risks. First thing I did in Cursor for testing was provide our internal testing philosophy as guidelines: test heavily at the source, don't retest pass-through columns, focus on business and metric anomalies in marts. That worked really well. For sources and staging, it generated relevant tests. Then for marts, I asked for unit tests and gave it a thousand sample rows from Snowflake. It wrote very relevant unit tests I&#8217;d otherwise spend a lot of time on.</p><h3>Examples?</h3><p>Simple ones like: when you pass a string value in the date column, does it transform correctly to datetime and match the expected format? These just worked. Then at the metric level, it looked at raw data and proposed assumptions&#8212;like square-meter price should be between X and Y&#8212;sometimes segmenting by postcode. Very thoughtful, though I'd replace static thresholds with anomaly monitors so they don't go stale as prices move.</p><h3>So at least 5&#215; on testing?</h3><p>At least. Apart from swapping static thresholds for anomaly detection, it nailed testing and did so in a lineage-aware, layer-appropriate way.</p><h3>Tell me about the BI layer.</h3><p>Many teams start at the BI layer with a chat interface. I think that's risky because it's used by business users and you only get so many chances before trust drops. I moved into Omni. You create a &#8220;topic&#8221; (a data model you can join with others) and then specify an AI context: instructions for how the LLM should behave. For example: if a user asks about price, always return square-meter price; never make up fields not present in the mart; if asked about provenance, mention the source. Writing AI context is a new skill for our industry.</p><h3>Were you using Omni&#8217;s AI assistant to create assets faster, or to let users self-serve?</h3><p>The latter&#8212;so users could ask questions instead of going to a dashboard. It could have been any BI tool with similar functionality; we just use Omni internally.</p><h3>And how was the experience as a consumer?</h3><p>Amazing when it works, but I'd hesitate to give my VP of Marketing access. It gets things wrong maybe one in five times, and it's not obvious why if you're not a data person. For analysts doing exploratory work, it's great&#8212;they can inspect and dig in. I wouldn't replace company-wide dashboards with a chat bot yet. Omni does log freeform queries and feedback, so there's a path to iterate the AI context over time.</p><h3>The last thing you did was use AI plus SYNQ to monitor production infrastructure. What does observability look like in the future? Historically it's looked like dashboards&#8212;Datadog for data pipelines. Is it just more effective monitors, or fundamentally different?</h3><p>Fundamentally different. We&#8217;re heading to a place where observability tools can tell you what's wrong at the right time, with just the right context, delivered to the right person&#8212;inside or outside the data team. Done well, there may be few dashboards; instead you get an LLM-summarized root cause delivered from a monitor that might be auto-created. Less &#8220;active tool you poke at,&#8221; more &#8220;proactive explanation.&#8221;</p><h3>Still technical observability (pipelines/data issues), or business observability?</h3><p>More the former. Teams at the edges&#8212;Sales Ops managing Salesforce, engineering teams creating web events&#8212;often need to be notified about data issues. Business KPI movements require a different experience for marketers, etc.</p><h3>Automated remediation?</h3><p>Gradual. You can imagine an issue occurs without a dedicated test; the system proposes a new test. But 80% of issues come from root systems elsewhere (someone typing in Salesforce), and closing that loop is still hard. In the article&#8217;s fourth part, we had a data issue and I asked the SYNQ MCP through Claude Desktop to do root cause analysis. It walked the same steps a data person would: inspect the model, check errors, examine lineage and upstreams, review recent commits, and documented each step to the root cause. That works now.</p><h3>At the beginning you said there&#8217;s no good reason not to use these tools today. What reasons do you hear for not trying?</h3><p>People are busy. But if you look at a risk curve, lowest risk is modeling and testing&#8212;you're in the driver's seat and it boosts productivity. Higher risk is replacing your BI tool with a chat bot; higher still is customer-facing experiences. The first two are hard to argue against.</p><h3>Enterprise IT approvals might be one blocker&#8212;approved models, data access, etc.</h3><p>True. For example, our MCP can query raw data to detect if an issue happens in a segment, and enterprises might hesitate there. Also, &#8220;MCP&#8221; as a term can be confusing. But it's actually simple and explainable, not a black box. Setting up dbt-MCP can still feel hacky in enterprises; if it lived natively in cloud environments, it&#8217;d be easier to adopt.</p><h3>You can set it up locally&#8212;no permissions/procurement&#8212;and just play. We also shipped the MCP server as a remote MCP in cloud, though that introduces auth/permissions considerations.</h3><p>If I had to pick a persona, it's the analyst. Analysts have had a tough decade: more tools, harder workflows, less time to tinker. MCPs and AI workflows are a turning point. At Monzo, we had a philosophy that you should be able to have an idea on your commute and have it implemented by midday. As we grew to 10,000 dbt models and long CI checks, that faded. I can see a world where this returns. MCPs can help. I'm excited.</p><h3>I love that. Analytics engineers think &#8220;infrastructure, correctness.&#8221; Analysts think &#8220;idea to validation fast.&#8221; Excel was always the analyst&#8217;s best friend because it's fast and flexible. MCPs make it easy to plug tools together and get answers quickly again.</h3><p>One company we work with&#8212;Voi, a scooter company out of Sweden&#8212;has a strong data leader, Magnus, who is very bought into metrics. Their data team doesn't produce dashboards; they produce metrics. In an AI world with MCPs, flows, and curves, that's a clear decision.</p><h3>I believe there's no such thing as the wrong BI tool&#8212;different tools have different trade-offs. Probably true for models/IDEs too: Claude Desktop vs. Claude Code vs. Cursor&#8212;no single &#8220;right answer&#8221; as long as the underlying context and metric definitions are shared.</h3><p>Agreed. What really matters across workflows: consistent metric definitions, documentation for columns and fields, and high-quality data. Those foundations matter even more when an LLM is in the loop; you may not have a human sanity-checking every result.</p><h2>Chapters</h2><ul><li><p><strong>00:00</strong> &#8212; Tristan&#8217;s intro</p></li><li><p><strong>01:10</strong> &#8212; Mikkel&#8217;s background: shipping &#8594; Google &#8594; Monzo &#8594; SYNQ</p></li><li><p><strong>03:08</strong> &#8212; What SYNQ does (data observability for business-critical data)</p></li><li><p><strong>04:15</strong> &#8212; Running the experiment</p></li><li><p><strong>06:23</strong> &#8212; Scope: modeling, testing, BI agent, observability</p></li><li><p><strong>07:17</strong> &#8212; Tooling: Cursor + dbt MCP server + Snowflake + Omni</p></li><li><p><strong>09:38</strong> &#8212; Sampling real data into the agent&#8217;s context</p></li><li><p><strong>13:14</strong> &#8212; Modeling workflow: one model at a time</p></li><li><p><strong>15:14</strong> &#8212; Where agents help most: testing &gt; modeling</p></li><li><p><strong>18:10</strong> &#8212; dbt Fusion engine: lineage-aware checks, fewer redundant tests</p></li><li><p><strong>19:50</strong> &#8212; Feature requests and root-cause via commit history</p></li><li><p><strong>20:57</strong> &#8212; Testing philosophy: source-heavy, pass-through aware, metric-level</p></li><li><p><strong>22:49</strong> &#8212; Unit tests from samples; thresholds vs anomaly monitors</p></li><li><p><strong>25:10</strong> &#8212; BI agents: great for analysts, risky for broad rollout</p></li><li><p><strong>31:54</strong> &#8212; The future of observability: explain first, dashboards second</p></li><li><p><strong>36:10</strong> &#8212; Adoption curve: safe places to start</p></li><li><p><strong>40:49</strong> &#8212; Analyst superpowers return</p></li><li><p><strong>42:04</strong> &#8212; Metrics over dashboards</p></li></ul><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 60,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Book a demo&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Book a demo</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Under the hood of Apache Iceberg (w/ Christian Thiel)]]></title><description><![CDATA[The cofounder of Lakekeeper walks Tristan through the state of the Iceberg ecosystem]]></description><link>https://roundup.getdbt.com/p/under-the-hood-of-apache-iceberg</link><guid isPermaLink="false">https://roundup.getdbt.com/p/under-the-hood-of-apache-iceberg</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 24 Aug 2025 13:03:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/431e88b6-61e9-4287-8806-61a6027eb357_1680x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://coalesce.getdbt.com/event/21662b38-2c17-4c10-9dd7-964fd652ab44/summary/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q3-2026_coalesce-2025_aw&amp;utm_content=coalesce____&amp;utm_term=all_all__" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C5Cy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 424w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 848w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1272w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png" width="1456" height="364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:364,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1203274,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://coalesce.getdbt.com/event/21662b38-2c17-4c10-9dd7-964fd652ab44/summary/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q3-2026_coalesce-2025_aw&amp;utm_content=coalesce____&amp;utm_term=all_all__&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://roundup.getdbt.com/i/171688472?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C5Cy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 424w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 848w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1272w, https://substackcdn.com/image/fetch/$s_!C5Cy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4300a1a6-b64a-467e-b1fd-453de570692d_3168x792.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>If you're a data practitioner, you likely understand Iceberg as a user, why it's important, and how it's changing the way that we build data systems. But you may not know a lot about what going on beneath the surface.</p><p>There are multiple ways to interface with Iceberg catalogs, multiple versions of the Iceberg REST spec. There's several leading catalogs that implement that spec. All this in an ecosystem that includes companies of all sizes, in proprietary and open-source code, and in academic and commercial contexts.</p><p>In a few years, all this ambiguity will be behind us, but right now it's very much evolving in real-time. To get an update on the status of the Iceberg ecosystem and to walk through all the developments, Tristan talks with Christian Thiel. Christian is one of the lead architects of Lakekeeper, of one of the most widely used Iceberg catalogs.</p><p><strong><a href="https://coalesce.getdbt.com/event/21662b38-2c17-4c10-9dd7-964fd652ab44/summary/?utm_medium=social&amp;utm_source=substack&amp;utm_campaign=q3-2026_coalesce-2025_aw&amp;utm_content=coalesce____&amp;utm_term=all_all__">To learn more from some of the leaders in the Iceberg ecosystem, join us at Coalesce 2025 in Las Vegas, Oct. 13-16</a></strong>.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><h2>Key takeaways</h2><h2>Walk us through your background</h2><p><strong>Christian Thiel:</strong> I started in natural language processing, then moved into machine learning applications in manufacturing. Like many people, I realized that the biggest barrier wasn&#8217;t the algorithms but the data&#8212;its availability, quality, and accessibility. That led me deeper into data architecture and engineering, eventually to building Lakekeeper.</p><h2>What is Lakekeeper, and what are you building now?</h2><p>Lakekeeper is an Iceberg catalog implementation&#8212;a technical requirement for building distributed, composable analytic systems based on Apache Iceberg. But our vision goes beyond that. We see the future in data collaboration and reliable sharing of data, supported by clear contracts.</p><h2>For listeners new to Iceberg, what makes it so important?</h2><p>Iceberg allows organizations to store data once, in an open format, and then use the compute engine best suited for each workload. It&#8217;s a foundation for building modern, composable data platforms while avoiding vendor lock-in. If there&#8217;s one thing that should be open, it&#8217;s the data at the center of your platform.</p><h2>Some folks might say this sounds like Hadoop all over again&#8212;lots of open standards that are hard to integrate. Why is this time different?</h2><p>The ecosystem has matured. Even big vendors like Snowflake and Databricks are embracing Iceberg, which shows there&#8217;s a strong shift toward openness. Plus, the tooling and infrastructure are much easier to deploy today. A modern Iceberg setup is far less complex than a Hadoop environment used to be.</p><h2>Let&#8217;s talk about what&#8217;s happening under the hood. How does Iceberg work?</h2><p>Iceberg organizes data using a metadata hierarchy. At the top, there&#8217;s a JSON file that stores high-level table information: snapshots, schema, and locations. Below that are manifests and other layers that keep track of files. This hierarchy is what makes things like time travel, atomic transactions, and schema evolution possible.</p><h2>What about ongoing maintenance?</h2><p>There are two key tasks. First, expiring old snapshots so you don&#8217;t accumulate unnecessary files. Second, compaction&#8212;combining many small files into larger ones </p><h2>Catalogs are another critical piece. What role do they play?</h2><p>Catalogs manage the top layer of metadata and coordinate transactions. They make atomic updates possible, allow multiple writers, and handle governance&#8212;things like access control and multi-table transactions.</p><h2>How enterprise-ready is Iceberg today?</h2><p>Very ready. A year ago, there were still gaps, but today, performance and feature parity with native tables on platforms like Snowflake and BigQuery are strong. Governance and authorization models are still evolving, and different catalogs implement them differently, but the core functionality is there.</p><h2>Speaking of catalogs, how should someone pick between options like Lakekeeper, Polaris, Unity, AWS Glue, or Gravitino?</h2><p>Christian Thiel: It depends on priorities. Lakekeeper focuses on performance, extensibility, and ease of use. Polaris is developer-focused but less user-friendly. Unity is tightly integrated into Databricks. Glue now supports the Iceberg REST spec, which makes it more interoperable than before. Gravitino is another option aimed at enterprise-scale environments.</p><h2>Recently, DuckDB announced DuckLake. What&#8217;s your take on that?</h2><p>It&#8217;s interesting, but there are two concerns. First, it uses a database schema directly for the catalog, which creates interoperability issues&#8212;similar to the early JDBC catalog in Iceberg that the community eventually moved away from. Second, it was built without community involvement, and openness without adoption isn&#8217;t really openness.</p><p>That said, for heavy DuckDB users, it could offer optimizations that make queries extremely fast, and if the broader ecosystem adopts it, it could become a viable open format.</p><h2>What&#8217;s next for Lakekeeper?</h2><p>We&#8217;re continuing to invest in table optimization, enterprise features, and data collaboration tools. Our vision is what we call the &#8220;unbreakable lakehouse,&#8221; where contracts and collaboration guardrails make shared data more reliable. Long-term, we see Lakekeeper as enabling truly collaborative, open data ecosystems.</p><h2>Chapters</h2><ul><li><p><strong>00:00 &#8211; Introduction</strong></p><p>Tristan Handy introduces the episode and the focus on Apache Iceberg.</p></li><li><p><strong>01:40 &#8211; Christian Thiel&#8217;s background</strong></p><p>From natural language processing to data engineering.</p></li><li><p><strong>04:30 &#8211; Introduction to Lakekeeper</strong></p><p>What Lakekeeper is and its role in the Iceberg ecosystem.</p></li><li><p><strong>06:00 &#8211; Why Iceberg matters</strong></p><p>How open table formats enable flexibility and reduce vendor lock-in.</p></li><li><p><strong>11:40 &#8211; How Iceberg works under the hood</strong></p><p>Metadata hierarchy, catalogs, and how state is managed.</p></li><li><p><strong>21:30 &#8211; Maintenance and optimization</strong></p><p>Snapshot expiration, compaction, and keeping tables performant.</p></li><li><p><strong>24:20 &#8211; Catalogs and governance</strong></p><p>Access control, multi-table transactions, and security.</p></li><li><p><strong>31:40 &#8211; Enterprise readiness</strong></p><p>How Iceberg is evolving for production use in large organizations.</p></li><li><p><strong>42:10 &#8211; Choosing the right catalog</strong></p><p>Overview of Lakekeeper, Polaris, Unity, Glue, and Gravitt.</p></li><li><p><strong>47:20 &#8211; DuckLake discussion</strong></p><p>Pros, cons, and ecosystem adoption challenges.</p></li><li><p><strong>52:00 &#8211; The future of Lakekeeper</strong></p><p>Data contracts, collaboration, and building the &#8220;unbreakable lakehouse.&#8221;</p></li></ul><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 60,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Book a demo&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Book a demo</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The pragmatic guide to AI agents in the enterprise (w/ Sean Falconer) ]]></title><description><![CDATA[Demystifying AI agents with Confluent's senior director of AI strategy]]></description><link>https://roundup.getdbt.com/p/the-pragmatic-guide-to-ai-agents</link><guid isPermaLink="false">https://roundup.getdbt.com/p/the-pragmatic-guide-to-ai-agents</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 03 Aug 2025 13:02:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/16b80e19-0489-465c-8dba-64088edba31f_1680x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>What does it mean to be agentic? Is there a spectrum of agency? </p><p>In this episode of The Analytics Engineering Podcast, Tristan Handy talks to Sean Falconer, senior director of AI strategy at Confluent, about AI agents. They discuss what truly makes software "agentic," where agents are successfully being deployed, and how to conceptualize and build agents within enterprise infrastructure. </p><p>Sean shares practical ideas about the changing trends in AI, the role of basic models, and why agents may be better for businesses than for consumers. This episode will give you a clear, practical idea of how AI agents can change businesses, instead of being a vague marketing buzzword.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><h2>Key takeaways</h2><h3><strong>Sean, can you give us the TLDR on your career and what you're working on today?</strong></h3><p><strong>Sean Falconer: </strong>I've always worked at the intersection of data, engineering, and AI. From academia studying computer science, into industry as a founder, then to Google, I worked on conversational systems and privacy/security in AI. Currently, at Confluent, I'm leading our AI product strategy, balancing both technical and go-to-market roles.</p><h3><strong>You moved from being deeply technical into marketing and sales. What drove that transition?</strong></h3><p>I was forced into it as a founder. Initially uncomfortable, but it taught me huge respect for marketing and sales. I had to learn by making many mistakes, eventually building out entire marketing and sales functions. I realized how challenging and critical these roles are.</p><h3><strong>You were at Google before ChatGPT launched. Did you foresee the transformative nature of these technologies?</strong></h3><p>Honestly, no. Having seen earlier disappointments in conversational AI (like Microsoft's Alice), I was skeptical initially, even as ChatGPT emerged. It wasn&#8217;t obvious we'd soon experience this revolution.</p><h3><strong>You&#8217;ve written about three waves of AI. Can you describe these?</strong></h3><p>Yes. Wave one was predictive AI, traditional ML models trained for specific tasks like fraud or spam detection&#8212;effective but rigid. Wave two introduced generative AI, or foundation models, trained on vast general datasets, flexible but lacking specific business context. The third wave, agentic AI, involves AI systems that can reason, dynamically choose tasks, gather information, and perform actions as a more complete software system.</p><h3><strong>Do foundation models replace traditional ML methods?</strong></h3><p>Sometimes they can, but it doesn&#8217;t always make sense. An LLM might do sentiment analysis well enough, but a traditional model may be more efficient and cheaper. Think of using an LLM as cutting steak with a chainsaw&#8212;possible, but unnecessary.</p><h3><strong>Let's clarify "agents." What makes software truly agentic?</strong></h3><p>It&#8217;s software that can dynamically decide its own control flow: choosing tasks, workflows, and gathering context as needed. Realistically, current enterprise agents have limited agency to ensure reliability. They're mostly workflow automations rather than fully autonomous systems.</p><h3><strong>You mentioned a spectrum of agency. Is this similar to autonomy in self-driving cars?</strong></h3><p>Exactly. Highly autonomous agents are appealing but not practical yet. Most enterprise success stories involve structured workflows with clearly defined boundaries.</p><h3><strong>Why have agents taken off more in enterprises than consumer apps?</strong></h3><p>Enterprises have many well-defined, high-value tasks perfect for automation. Consumer scenarios demanding high agency&#8212;like planning complex trips&#8212;are still too unreliable. Enterprises can benefit significantly even from limited agentic capability.</p><h3><strong>Is an agent just a microservice?</strong></h3><p>In many ways, yes. An agent functions like a microservice with extra capabilities (using LLMs for decisions). Deployment considerations like state management and long-running tasks differ slightly, but fundamentally it&#8217;s similar.</p><h3><strong>What tools and frameworks help build effective agents?</strong></h3><p>Start with frontier models like GPT-4 or Claude. Frameworks include LangChain, Microsoft Autogen, and CrewAI. But for real-world deployment, treat it as rigorous software engineering with observability, scalability, and robustness in mind.</p><h3><strong>Are organizational barriers bigger than technical challenges?</strong></h3><p>Yes. AI efforts are often mistakenly tasked to data science teams rather than cross-functional software teams. Successful companies create dedicated teams blending software engineering skills and data expertise to build reliable agentic systems.</p><h3><strong>What pitfalls should teams avoid?</strong></h3><p>Avoid building monolithic agents. Break systems into smaller, well-defined units in a multi-agent architecture. Use event-driven frameworks to avoid rigid, hard-to-maintain dependencies.</p><h2>Chapters</h2><ul><li><p>[00:00] Introduction: What's all the hype about agents?</p></li><li><p>[01:10] Meet Sean Falconer: A journey from engineer to AI strategist</p></li><li><p>[04:10] Learning marketing as an engineer-founder</p></li><li><p>[05:50] Inside Google's AI efforts before ChatGPT</p></li><li><p>[09:00] What does it mean to run AI strategy?</p></li><li><p>[10:45] Three waves of AI: Predictive, Generative, and Agentic</p></li><li><p>[16:30] Will foundation models replace traditional ML?</p></li><li><p>[18:30] Defining agents clearly: Beyond the buzzword</p></li><li><p>[22:00] The spectrum of agency: From controlled workflows to open-ended tasks</p></li><li><p>[25:30] Why agents fit better in enterprises than consumer apps</p></li><li><p>[28:00] Agents as microservices: A practical view</p></li><li><p>[35:00] What tech stack is needed to build effective agents?</p></li><li><p>[37:50] Organizational challenges in adopting agents</p></li><li><p>[39:30] Models that are favorites for developers</p></li><li><p>[43:30] Why software engineers are best placed to build agents</p></li><li><p>[46:00] The technical stumbling blocks in building agents</p></li><li><p>[48:00] Concluding thoughts: Beyond POCs to production agents</p></li></ul><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 60,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Book a demo&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Book a demo</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How Amazon S3 works (w/ Andy Warfield)]]></title><description><![CDATA[Go under the hood of Amazon S3 with AWS engineering leader Andy Warfield&#8212;from virtualization to Iceberg]]></description><link>https://roundup.getdbt.com/p/how-amazon-s3-works-w-andy-warfield</link><guid isPermaLink="false">https://roundup.getdbt.com/p/how-amazon-s3-works-w-andy-warfield</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 20 Jul 2025 12:02:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/92b37acf-08ac-4dac-b59f-123b21df7011_1680x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this season of the Analytics Engineering podcast, Tristan is deep into the world of developer tools and databases. If you're following us here, you've almost definitely used Amazon S3 it and its Blob Storage siblings at Microsoft and Google. They form the foundation for nearly all data work in the cloud. In many ways, it was the innovations that happened inside of S3 that have unlocked all of the progress in cloud data over the last decade. </p><p>In this episode, Tristan talks with Andy Warfield, VP and senior principal engineer at AWS, where he focuses primarily on storage. They go deep on S3, how it works, and what it unlocks. They close out talking about Iceberg, S3 table buckets, and what this all suggests about the outlines of the S3 product roadmap moving forward.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><h2>Key takeaways</h2><h3>Operating systems, garage sales, and Xen</h3><p><strong>Tristan Handy: You&#8217;ve done a lot over the last 20 years. Before we get into specifics, can you just share a little about your journey as a software engineer?</strong></p><p><strong>Andy Warfield:</strong> I just like playing with computers.  I studied computer science in Ontario for undergrad, then moved to Vancouver for grad school, then to the UK for a PhD. I worked on operating systems, low-level stuff. I got to work on a hypervisor called Xen, which ended up being used by a lot of cloud providers, including Amazon.</p><p>After that, I did a couple of startups, one around Xen. Then I became a professor at UBC, teaching operating systems, networking, and security. Later, I did another startup in storage, and eventually I joined Amazon.</p><p>Now I have this highfalutin role&#8212;VP and engineer&#8212;working across S3, other storage services, and now a bunch of analytics services too. I get to cause trouble in lots of different parts of the cloud.</p><p><strong>VP slash distinguished engineer&#8212;does that mean you just get to march around telling people how to improve their stuff?</strong></p><p>People love that! I&#8217;d say about half the time I&#8217;m causing trouble&#8212;starting things and encouraging new ideas&#8212;and the other half I&#8217;m helping teams dig out from those ideas. Sometimes I take over a team if we&#8217;re doing something especially interesting or innovative, just so I can be closer to the action.</p><p><strong>That sounds like a pretty good gig if you can get it.</strong></p><p>It&#8217;s amazing. I&#8217;ve been here nearly eight years, and I still love this job.</p><div><hr></div><h3>The rise of virtualization and the origin of Xen</h3><p><strong>I want to talk about Xen. You said you were always interested in operating systems, which is kind of a niche fascination. What drew you in?</strong></p><p>When I was a kid, we didn&#8217;t have much money, so I built computers from garage sale parts in Ottawa. In high school, I found this federal government warehouse that sold off old equipment. I started a little business buying pallets of hardware for cheap, fixing them up, and reselling.</p><p>It was chaotic&#8212;but I learned a lot. I dealt with machines like IBM DisplayWriters with 8-inch floppy disks and massive dot-matrix printers. Getting them working meant diving into their software and systems.</p><p>Eventually I played with Linux, hacked on the kernel, and that all led me into OS research and development.</p><p><strong>Tristan: So what is a hypervisor, and why did virtualization become so important in the 2000s?</strong></p><p><strong>Andy:</strong> There were two big drivers: server utilization and isolation.</p><p>Companies had racks full of 1U servers, most of which sat idle most of the time. But they couldn&#8217;t share workloads because apps weren&#8217;t isolated well&#8212;config conflicts, shared resources, etc.</p><p>Virtualization allowed multiple operating systems to run on the same hardware, with isolation. It also let you consolidate servers, which had big cost and efficiency benefits.</p><p>There was also a technical challenge: x86 processors weren&#8217;t designed to be virtualized. That made it a really interesting research problem. We wanted to see if it could even be done&#8212;and done efficiently.</p><p><strong>Tristan: And Intel eventually started building virtualization support into the hardware?</strong></p><p><strong>Andy:</strong> Exactly. Our work on Xen and similar projects showed it was possible. That pushed Intel and AMD to add features like VT-x, which made it easier and more performant to run hypervisors.</p><p><strong>Tristan: How did AWS end up using Xen?</strong></p><p><strong>Andy:</strong> I wasn&#8217;t part of those internal conversations, but the story goes that a small startup in Cape Town, South Africa, was building a control plane for Xen. That team got picked up by AWS and became the basis for EC2.</p><div><hr></div><h3>Understanding Amazon S3</h3><p><strong>Tristan: Let&#8217;s switch to S3. I think a common mental model is that S3 is just a big pool of SSDs. But that&#8217;s clearly not the whole story. How do you explain what S3 actually is?</strong></p><p><strong>Andy:</strong> That&#8217;s one of my favorite questions.</p><p>Early on, S3 was like a storage locker. You&#8217;d rent space to stash things you didn&#8217;t need right away&#8212;backups, static files, CDN origins. Latency wasn&#8217;t great, but durability and availability were.</p><p>Things really changed when the Hadoop community built S3A&#8212;an adapter to let Hadoop use S3 instead of HDFS. Suddenly, we had people doing real analytics on S3. The system had enough drives to support massive parallel reads.</p><p>Today, workloads are way more demanding. Performance, consistency, and latency matter. We&#8217;ve been evolving the system constantly to meet those needs.</p><p><strong>Tristan: Are we talking about billions of hard drives?</strong></p><p><strong>Andy:</strong> I can&#8217;t share exact numbers, but yes&#8212;it's a lot of hard drives. Some of our largest customers have data spread across <em>millions</em> of drives. And most drives are shared across multiple customers.</p><p><strong>Tristan: And these aren&#8217;t SSDs?</strong></p><p><strong>Andy:</strong> Mostly spinning disks, actually. Hard drives are terrible at latency, but they&#8217;re cheap and good for bursty workloads. Spreading your data across many disks lets you take advantage of parallelism.</p><div><hr></div><h3>S3&#8217;s durability, performance, and scale</h3><p><strong>Tristan: Let&#8217;s talk about S3&#8217;s durability promise: 11 nines. How do you achieve that?</strong></p><p><strong>Andy:</strong> We use erasure coding&#8212;a form of RAID-like redundancy that lets you split data into parts and parity blocks. Then we store those shards across different availability zones.</p><p>We constantly monitor for failures. Disks die all the time, so we have fleets of processes repairing and maintaining durability. It&#8217;s not static. It&#8217;s a living system.</p><p><strong>Tristan: You must have incredibly precise failure models.</strong></p><p><strong>Andy:</strong> We do. We track failure rates, temperature sensitivity, vendor behavior&#8212;everything. That allows us to be proactive and surgical in how we manage risk.</p><div><hr></div><h3>From Parquet to Iceberg to S3 table buckets</h3><p><strong>Tristan: I want to talk about table formats. Parquet is everywhere now. And then we got Hive Metastore, then Iceberg. Why did S3 launch table buckets?</strong></p><p>Parquet is great, but it&#8217;s just files. Customers kept asking for more structured semantics: schema evolution, upserts, ACID transactions.</p><p>We saw Iceberg adoption grow rapidly&#8212;especially among our largest analytics customers. But they were struggling with operational complexity: too many small files, custom compactors, brittle catalogs.</p><p>So we launched S3 table buckets to bring native Iceberg support to S3. That includes:</p><ul><li><p>Automatic compaction</p></li><li><p>A REST catalog</p></li><li><p>High-performance access</p></li></ul><p>We wanted to make it easier to treat Iceberg as a storage primitive, not just an analytics backend.</p><p><strong>So this is a shift in philosophy&#8212;S3 isn&#8217;t just object storage, it&#8217;s now table-aware?</strong></p><p>Exactly. Historically, S3 was just where you stored objects. Now, we&#8217;re thinking more about what those objects <em>mean</em>.</p><p>We also launched S3 object metadata tables&#8212;a way to semantically describe and query your object store, especially useful for AI workloads using retrieval-augmented generation (RAG).</p><div><hr></div><h3>The future of open data and S3</h3><p><strong>What does the future of S3 look like? Where&#8217;s this going?</strong></p><p>We&#8217;re headed toward more structure, more semantics, and more performance.</p><p>Inference workloads are scaling fast. AI models are hitting S3 hundreds of thousands of times per second to do vector lookups. That&#8217;s changing how we think about indexing, metadata, and latency.</p><p>We want to make S3 the best place to do open, flexible, high-scale data work&#8212;from tables to training data to retrieval.</p><h2>Chapters</h2><p><strong>[01:42] Meet Andy Warfield</strong></p><p>Andy shares his background, including startups, professorship, and his current role as VP &amp; Senior Principal Engineer at AWS.</p><p><strong>[05:10] From garage sales to hypervisors</strong></p><p>Andy describes his early passion for hardware, OS development, and the origin story behind the Xen hypervisor.</p><p><strong>[08:50] Why virtualization took off in the 2000s</strong></p><p>Exploring why isolation, utilization, and technical curiosity fueled the rise of hypervisors.</p><p><strong>[14:30] Xen vs. VMware and the road to AWS</strong></p><p>How Xen became the default for EC2 and the technical differences between virtualization approaches.</p><p><strong>[17:35] The origin of EC2 and S3</strong></p><p>How a team from Cape Town helped launch AWS compute&#8212;and the early days of cloud services.</p><p><strong>[20:00] What is S3, really?</strong></p><p>Andy breaks down the mental model behind S3: not just object storage, but a scalable data platform.</p><p><strong>[22:49] How many drives? More than you think</strong></p><p>Why S3 storage spans millions of drives&#8212;and how AWS uses scale to deliver performance.</p><p><strong>[28:10] The 11 nines durability model</strong></p><p>Inside S3&#8217;s approach to reliability, failure tolerance, and background repairs using erasure coding.</p><p><strong>[32:00] Tail latency and engineering for bursty workloads</strong></p><p>Why slow requests matter, and how S3 teams optimize for streaming, AI, and analytics use cases.</p><p><strong>[35:20] Iceberg, metadata, and table buckets</strong></p><p>The emergence of Apache Iceberg as a table format&#8212;and AWS&#8217;s new structured storage approach.</p><p><strong>[38:00] Why S3 added a REST catalog and compaction</strong></p><p>How AWS is simplifying the operational burden of working with Iceberg at scale.</p><p><strong>[40:00] A new mental model for object storage</strong></p><p>S3 is no longer just about storing files&#8212;it&#8217;s about managing semantics, lineage, and trust.</p><p><strong>[44:00] Looking ahead: S3, RAG, and semantic metadata</strong></p><p>How S3 is preparing for the next wave of AI, inference, and context-aware applications.</p><p><strong>[47:20] Is Iceberg ready for enterprise?</strong></p><p>Andy shares thoughts on enterprise readiness, performance tradeoffs, and real-world adoption of table formats.</p><p><strong>[49:05] Wrap-up and reflections</strong></p><p>Tristan and Andy reflect on the conversation and where data infrastructure is headed next.</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 50,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Book a demo&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Book a demo</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[From Docker to Dagger (w/ Solomon Hykes)]]></title><description><![CDATA[The creator of Docker on how containers changed everything]]></description><link>https://roundup.getdbt.com/p/from-docker-to-dagger-w-solomon-hykes</link><guid isPermaLink="false">https://roundup.getdbt.com/p/from-docker-to-dagger-w-solomon-hykes</guid><dc:creator><![CDATA[Dan Poppy]]></dc:creator><pubDate>Sun, 22 Jun 2025 13:00:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/18dacb78-748c-463d-9553-ed6186da36e1_1680x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this season of the Analytics Engineering podcast, Tristan is digging deep into the world of developer tools and databases. There are few more widely used developer tools than Docker. From its launch back in 2013, Docker has completely changed how developers ship applications. </p><p>In this episode, Tristan talks to Solomon Hykes, the founder and creator of <a href="https://www.docker.com/">Docker</a>. They trace Docker&#8217;s rise from startup obscurity to becoming foundational infrastructure in modern software development. Solomon explains the technical underpinnings of containerization, the pivotal shift from platform-as-a-service to open-source engine, and why Docker&#8217;s developer experience was so revolutionary. </p><p>The conversation also dives into his next venture <a href="https://dagger.io/">Dagger</a>, and how it aims to solve the messy, overlooked workflows of software delivery. Bonus: Solomon shares how AI agents are reshaping how CI/CD gets done and why the next revolution in DevOps might already be here.</p><p><em>Please reach out at podcast@dbtlabs.com for questions, comments, and guest suggestions.</em> </p><div><hr></div><p><strong>Listen &amp; subscribe from:</strong></p><iframe class="spotify-wrap podcast" data-attrs="{&quot;image&quot;:&quot;https://i.scdn.co/image/ab6765630000ba8a2f8724bfe318715a7c00c406&quot;,&quot;title&quot;:&quot;The Analytics Engineering Podcast&quot;,&quot;subtitle&quot;:&quot;dbt Labs, Inc.&quot;,&quot;description&quot;:&quot;Podcast&quot;,&quot;url&quot;:&quot;https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE&quot;,&quot;belowTheFold&quot;:false,&quot;noScroll&quot;:false}" src="https://open.spotify.com/embed/show/4BKMMeVXk4jJnAQSqGSJvE" frameborder="0" gesture="media" allowfullscreen="true" allow="encrypted-media" data-component-name="Spotify2ToDOM"></iframe><ul><li><p><a href="https://open.spotify.com/show/4BKMMeVXk4jJnAQSqGSJvE">Spotify</a></p></li><li><p><a href="https://podcasts.apple.com/us/podcast/the-analytics-engineering-podcast/id1574755368">Apple Podcasts</a></p></li><li><p><a href="https://music.amazon.com/podcasts/333fe811-1b14-499c-b609-9bfb8f06d1ae/the-analytics-engineering-podcast">Amazon Music</a></p></li><li><p><a href="https://tunein.com/podcasts/Technology-Podcasts/The-Analytics-Engineering-Podcast-p1466362/">TuneIn</a></p></li><li><p><a href="https://analyticsengineeringroundup.libsyn.com/rss">RSS feed</a></p></li></ul><h2>Key takeaways</h2><p><strong>Tristan Handy: I want to get you to give a little background on yourself, where you've been, what you've been up to for the last couple decades. I think many people will know you as the person who kicked off an avalanche that changed how we interact with compute environments by inventing Docker?</strong></p><p><strong>Solomon Hykes: </strong>Docker is the thing I'm known for. Pre-Docker, I grew up in France. I studied programming in a French school called EpiTech. It was a brand-new, unconventional school where you learned through nonstop programming, which I loved.</p><p>Eventually, I got exposed to startups, despite being a complete outsider. I met someone who told me about them, and it stuck in my mind. Still in France at the time, I moved into my mom's house in the suburbs of Paris and worked out of the basement.</p><p>By complete luck, I got into an early version of Y Combinator in 2010. That got us on the path to what would become Docker three years later. In 2013, we pivoted to Docker from our previous company, dotCloud.</p><p><strong>Tristan Handy: The original thing was called dotCloud, right?</strong></p><p><strong>Solomon Hykes: </strong>Yep. It was about container technology and its potential, but we didn't quite know how to take it to market. DotCloud was about deploying and hosting people's apps&#8212;platform as a service&#8212;competing with Heroku and many clones.</p><p><strong>Tristan Handy: When did Heroku become a thing?</strong></p><p><strong>Solomon Hykes: </strong>I became aware of it in 2009. Just as I was struggling in France with container tech. When we joined YC in 2010, we packaged that tech into dotCloud, our hosting platform. Our differentiator was using containers under the hood when others didn&#8217;t. That let us support many language stacks and even run databases in containers&#8212;which was unheard of at the time.</p><p>Platform as a service was a tough business. Most startups went out of business or got acquired early. Eventually, we pivoted from selling the car to building an ecosystem around the engine&#8212;that became Docker.</p><p><strong>Tristan Handy: Did you pivot because selling the car wasn't working? Or because people kept pointing at the engine saying, &#8220;Give me that&#8221;?</strong></p><p><strong>Solomon Hykes: </strong>Both. It was hard to market platforms. Developers expected free hosting, and hosting costs money. Margins were tight because of AWS. It always felt like pushing a boulder uphill. Meanwhile, people wanted to run things locally. There was no good ecosystem for that. Docker provided transparency, flexibility, and portability.</p><p><strong>Tristan Handy: Can you define Docker and containerization, and how it differs from virtualization?</strong></p><p><strong>Solomon Hykes: </strong>Sure. Virtualization splits a physical machine into virtual ones using VMs&#8212;each with its own memory, compute, and storage. It gives flexibility, but with overhead.</p><p>Containerization does something similar but at the operating system level. Instead of virtualizing the machine, you split the OS itself. It&#8217;s mostly done with Linux, which can subdivide itself into isolated units. Containers are more lightweight, letting you run hundreds or thousands, unlike VMs where you might manage a handful before hitting limits.</p><p>Docker didn&#8217;t invent this, but we solved new problems with it.</p><p><strong>Tristan Handy: I remember creating my first Docker container around 2015. I expected a slow boot-up like a VM, but it was instantaneous. Where is the OS in that setup?</strong></p><p><strong>Solomon Hykes: </strong>Great question. Docker relies on Linux. When you're on a Mac, it runs Linux behind the scenes&#8212;today via virtualization. Back then, we used lots of early, rough tools and kernel patches to make Linux containers work. Docker put all the pieces together in a coherent way.</p><p><strong>Tristan Handy: So containerization wasn&#8217;t new, but Docker made it accessible?</strong></p><p><strong>Solomon Hykes:</strong><br>Exactly. The Linux kernel had features like namespaces and cgroups&#8212;building blocks for containers. But they weren&#8217;t user-friendly. We made a developer-centric abstraction on top of those tools.</p><p>And Linux provided a massive compatibility layer. Unlike Java, which required writing your app in Java, Docker containers could wrap apps written in any language, as long as they ran on Linux.</p><p><strong>Tristan Handy: So Docker is like infrastructure as code&#8212;a primitive that enables the whole concept?</strong></p><p><strong>Solomon Hykes: </strong>Yes! And because we wanted ubiquity, we avoided pushing too many opinions. We let developers build on top of it in many different ways. That&#8217;s what helped Docker become a de facto standard.</p><p><strong>Tristan Handy: How fragmented is the Linux world under the hood? Did you have to do much abstraction work?</strong></p><p><strong>Solomon Hykes: </strong>We were lucky. The Linux kernel is extremely stable and consistent. But everything above it&#8212;distros, package managers, tooling&#8212;was chaotic. That chaos created the opportunity for Docker to provide a consistent experience.</p><p><strong>Tristan Handy: Were there any drawbacks? Like &#8220;Docker sprawl&#8221; the way VMware saw VM sprawl?</strong></p><p><strong>Solomon Hykes: </strong>Definitely. With power comes chaos. Teams would run dozens of Docker containers, each configured differently. Docker doesn&#8217;t enforce opinions&#8212;by design.</p><p><strong>Tristan Handy: And what happened when you left Docker in 2018?</strong></p><p><strong>Solomon Hykes: </strong>I took time off, became a full-time dad. But I also realized how many unsolved problems remained. Especially around CI/CD pipelines and software delivery&#8212;what we now call the software factory.</p><p>That led me to start Dagger.</p><p><strong>Tristan Handy: So Dagger is like &#8220;containers for pipelines&#8221;?</strong></p><p><strong>Solomon Hykes: </strong>Yes. Just as Docker standardized app deployment, Dagger aims to standardize and containerize software delivery. CI/CD pipelines today are often duct-taped together with YAML and bash scripts. We&#8217;re bringing consistency and modularity to that space.</p><p><strong>Tristan Handy: Will there be a &#8220;Daggerfile&#8221; like there&#8217;s a Dockerfile?</strong></p><p><strong>Solomon Hykes: </strong>Sort of. But this time, we&#8217;re opinionated. Dagger is narrowly focused on CI/CD. That lets us provide APIs, SDKs, and a deeper abstraction stack. We give platform engineers a DAG-based system to define repeatable, containerized steps.</p><p><strong>Tristan Handy: And what&#8217;s the role of AI and agents in all this?</strong></p><p><strong>Solomon Hykes: </strong>Great question. We didn&#8217;t plan for it, but our community showed us the way. People started building AI agents that run in Dagger pipelines&#8212;automating things like writing tests, submitting PRs, and optimizing builds.</p><p>That blew our minds. Agents blur the line between development and delivery. They need programmable environments. Dagger is becoming an ideal platform for that.</p><h2>Chapters</h2><p><strong>01:30 &#8211; Early Days: From France to dotCloud</strong></p><p>Solomon shares how his early programming experience and startup journey led to the creation of dotCloud.</p><p><strong>04:00 &#8211; The PaaS Struggle and Birth of Docker</strong></p><p>The team pivots from platform-as-a-service to focusing on the container engine itself&#8212;what would become Docker.</p><p><strong>07:00 &#8211; What Is a Container, Really?</strong></p><p>Solomon explains containerization vs. virtualization in plain terms and why it changed the game for developers.</p><p><strong>11:00 &#8211; The Developer Experience That Won the World</strong></p><p>The magic of fast, lightweight Docker containers&#8212;and how that first &#8220;wow&#8221; moment felt.</p><p><strong>14:00 &#8211; Building a Ubiquitous Standard</strong></p><p>Why Docker stayed narrow by design, resisting feature bloat to maximize compatibility.</p><p><strong>18:00 &#8211; DevOps Before DevOps</strong></p><p>How Docker avoided language tribalism and achieved mass developer adoption by choosing Go and CLI-first tooling.</p><p><strong>21:00 &#8211; Complexity and Container Sprawl</strong></p><p>Docker made infrastructure easy&#8212;but created new operational challenges at scale.</p><p><strong>24:30 &#8211; Why CI/CD Pipelines Are Still Broken</strong></p><p>Solomon outlines the gap Docker never got to fix: modern software delivery remains brittle and ad hoc.</p><p><strong>27:00 &#8211; Enter Dagger: DevOps for the Modern Age</strong></p><p>How Solomon&#8217;s new company is treating pipelines as composable software, not brittle scripts.</p><p><strong>30:00 &#8211; Building an OS for the Software Factory</strong></p><p>Dagger helps platform teams manage the complexity of software delivery with reusable, testable components.</p><p><strong>33:00 &#8211; Agent-Native Workflows: A Surprise Use Case</strong></p><p>AI agents begin using Dagger to reason about pipelines, generate code, and submit pull requests autonomously.</p><p><strong>37:00 &#8211; Reimagining the Dev Loop with AI</strong></p><p>Why the boundary between development and CI/CD is collapsing&#8212;and how Dagger fits the agent-powered future.</p><p><strong>41:00 &#8211; Scaling Trust in Delivery</strong></p><p>Tristan and Solomon reflect on how developer tooling evolves and what a stable, fast delivery layer enables.</p><p><strong>45:00 &#8211; Final Thoughts: What&#8217;s Next for DevOps</strong></p><p>The conversation closes with predictions on intelligent automation, composability, and the future of platform engineering.</p><div><hr></div><p><em>This newsletter is sponsored by dbt Labs. Discover why more than 50,000 companies use dbt to accelerate their data development.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___&quot;,&quot;text&quot;:&quot;Book a demo&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.getdbt.com/resources/dbt-cloud-demos-with-experts/?utm_medium=email&amp;utm_source=hs-email&amp;utm_campaign=__&amp;utm_content=biweekly-demos____&amp;utm_term=___"><span>Book a demo</span></a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://roundup.getdbt.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Analytics Engineering Roundup! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>