My Courses

  • Introduction to Loop Engineering: Designing AI Agent Loops (2026)

    Introduction to Loop Engineering: Designing AI Agent Loops (2026)

    A team I know left a coding agent running on a Friday afternoon. The task was open-ended — “keep fixing failing tests until the suite is green” — and the agent dutifully looped. It just never stopped. Over the weekend it retried the same broken approach against the same failing test hundreds of times, each…

  • Running Ollama Inside a Data Pipeline: What Actually Breaks

    Running Ollama Inside a Data Pipeline: What Actually Breaks

    Three weeks ago I watched a teammate open the OpenAI billing dashboard and go quiet. We’d built a PII-tagging job that ran a small classification prompt against every new row landing in a raw events table, about 500,000 rows a day, to flag anything that looked like an email, a phone number, or a government…

  • Build a Simple MCP Server in Python with FastMCP (2026)

    Build a Simple MCP Server in Python with FastMCP (2026)

    A colleague pinged me last spring, quietly furious. He’d spent three days building an MCP server to give an internal agent access to the team’s Snowflake warehouse. The protocol part worked on day one. What ate the other two and a half days was everything the tutorials skip: the agent kept picking the wrong tool,…

  • Model Context Protocol Explained in 3 Levels of Difficulty

    Model Context Protocol Explained in 3 Levels of Difficulty

    Every data platform team building agentic pipelines hits the same wall eventually. You want Claude or CoCo to query Snowflake, trigger a dbt run, check an Airflow DAG, and post the result to Slack — one agent, four systems. The naive path is to write four custom connectors. Then someone adds Cursor as a second…

  • AI Agent Tool Design: What Works and What Doesn’t

    AI Agent Tool Design: What Works and What Doesn’t

    The incident report blamed the model. “The agent called the delete endpoint twice and wiped a partition it shouldn’t have touched.” Everyone nodded, someone filed a ticket to “upgrade to a smarter model,” and the actual cause sat there in plain sight: the delete tool had no idempotency key, no confirmation gate, and a description…

  • Tools vs Subagents: Building Effective AI Agents Without Over-Engineering

    Tools vs Subagents: Building Effective AI Agents Without Over-Engineering

    A data engineer I know spent three weeks building a “multi-agent data quality system.” It had an orchestrator agent, a profiling subagent, an anomaly-detection subagent, and a remediation subagent, all passing messages around. It was elegant. It was also slower, more expensive, and harder to debug than the thing it replaced — which was a…

  • How to Give AI Coding Agents Access to Your Pipeline Metadata Without Opening Security Holes

    How to Give AI Coding Agents Access to Your Pipeline Metadata Without Opening Security Holes

    The question came up in a Slack channel for a platform team I was advising: “We want to give our AI coding agent access to the pipeline metadata so it can auto-generate dbt models, but our security team keeps saying no.” The security team was right. Not because AI agents shouldn’t touch metadata — they…

  • Databricks Unity Catalog + Apache Iceberg in 2026

    Databricks Unity Catalog + Apache Iceberg in 2026

    The table format question is settled. Apache Iceberg won. Snowflake, Databricks, AWS, Google, and every serious data platform has committed to it. What hasn’t settled — what’s actively being fought over right now, with real architectural consequences for every data team making lakehouse decisions — is the catalog question. And the catalog matters far more…

  • How Salesforce Data Cloud Zero Copy Actually Works With Snowflake

    How Salesforce Data Cloud Zero Copy Actually Works With Snowflake

    Your data engineer says the customer data already lives in Snowflake — all of it, clean, modeled, production-ready. Your architect wants to copy it into Salesforce Data Cloud. You’re running the mental math on storage costs, pipeline maintenance, and the inevitable sync drift between two copies of the same truth. This is the exact problem…

  • Building a Bulletproof ETL Audit Logger: Capturing Airflow Execution Context in Snowflake

    Building a Bulletproof ETL Audit Logger: Capturing Airflow Execution Context in Snowflake

    The 2 a.m. page said the pipeline “succeeded.” The dashboard was green. And the finance team was still staring at yesterday’s numbers, because one task in a forty-task DAG had quietly processed the wrong micro-batch window and nobody could prove when, or why, without SSH-ing into a worker and grepping logs by hand. That’s the…