<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://trmccormick.com/blog</id>
    <title>Trevor McCormick Blog</title>
    <updated>2026-02-08T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://trmccormick.com/blog"/>
    <subtitle>Trevor McCormick Blog</subtitle>
    <icon>https://trmccormick.com/img/favicon.png</icon>
    <rights>Copyright © 2026 Trevor McCormick.</rights>
    <entry>
        <title type="html"><![CDATA[Data Products Beyond Instrumentation]]></title>
        <id>https://trmccormick.com/blog/data-products-beyond-instrumentation</id>
        <link href="https://trmccormick.com/blog/data-products-beyond-instrumentation"/>
        <updated>2026-02-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This series started with a question: what is instrumentation? It ends with a bigger one: what does the data product function look like when it grows beyond telemetry, and what does it mean to be a product manager in this space?]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Strategy & Roadmapping" term="Strategy & Roadmapping"/>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[From Data PM to Data Product Leader]]></title>
        <id>https://trmccormick.com/blog/from-data-pm-to-leader</id>
        <link href="https://trmccormick.com/blog/from-data-pm-to-leader"/>
        <updated>2026-02-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You're the best individual contributor on the data team. You know every schema, every pipeline, every dashboard. Your manager leaves. Leadership asks if you want the role. You say yes. Three months later, you haven't written a schema definition in weeks and you're not sure what you do anymore.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
        <category label="Product Management" term="Product Management"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Build vs Buy for Data Infrastructure]]></title>
        <id>https://trmccormick.com/blog/build-vs-buy</id>
        <link href="https://trmccormick.com/blog/build-vs-buy"/>
        <updated>2026-01-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Your team spent six months building a custom event validation pipeline. The vendor you evaluated in week one now offers the same feature for $40K/year. Your custom solution costs $200K/year in engineering time to maintain.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Strategy & Roadmapping" term="Strategy & Roadmapping"/>
        <category label="Platform & Architecture" term="Platform & Architecture"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Org Design for Data Product Teams]]></title>
        <id>https://trmccormick.com/blog/org-design-for-data-product-teams</id>
        <link href="https://trmccormick.com/blog/org-design-for-data-product-teams"/>
        <updated>2026-01-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You have eight product managers, twelve data engineers, and four analysts. They all report to different people. Nobody agrees on priorities. Every cross-team project takes three months of alignment before anyone writes code.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
        <category label="Strategy & Roadmapping" term="Strategy & Roadmapping"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Building the Business Case for Data Products]]></title>
        <id>https://trmccormick.com/blog/building-the-business-case</id>
        <link href="https://trmccormick.com/blog/building-the-business-case"/>
        <updated>2026-01-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Your VP of Engineering asks: "What's the ROI of the instrumentation platform?" You don't have an answer. Neither does anyone else on the data team. This is why the team keeps losing headcount.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Strategy & Roadmapping" term="Strategy & Roadmapping"/>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[The Data Product Portfolio]]></title>
        <id>https://trmccormick.com/blog/the-data-product-portfolio</id>
        <link href="https://trmccormick.com/blog/the-data-product-portfolio"/>
        <updated>2026-01-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You own six data products. Two are critical to the business. One is used by three people. One hasn't been updated in eight months. You treat them all the same in planning. That's not portfolio management. That's neglect dressed as fairness.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Strategy & Roadmapping" term="Strategy & Roadmapping"/>
        <category label="Product Management" term="Product Management"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[When Your Clickstream Schema Needs a Rewrite]]></title>
        <id>https://trmccormick.com/blog/when-your-clickstream-schema-needs-a-rewrite</id>
        <link href="https://trmccormick.com/blog/when-your-clickstream-schema-needs-a-rewrite"/>
        <updated>2025-12-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Your clickstream schema launched with 12 fields. Three years later it has 47 optional fields, six inter-field dependencies, and a Slack channel dedicated to debugging why containerViewId is null on Samsung TVs. You need a product decision, not a technical one.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Schema Design" term="Schema Design"/>
        <category label="Platform & Architecture" term="Platform & Architecture"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Communicating Up: The Internal Marketing of Data Work]]></title>
        <id>https://trmccormick.com/blog/communicating-up</id>
        <link href="https://trmccormick.com/blog/communicating-up"/>
        <updated>2025-12-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Your team shipped 47 schema migrations, 12 new event types, and a consent architecture overhaul. Your VP's quarterly review slide says "analytics improvements."]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
        <category label="Strategy & Roadmapping" term="Strategy & Roadmapping"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[The Instrumentation Roadmap]]></title>
        <id>https://trmccormick.com/blog/the-instrumentation-roadmap</id>
        <link href="https://trmccormick.com/blog/the-instrumentation-roadmap"/>
        <updated>2025-12-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Three product teams want new analytics events this quarter. You also need to deprecate 40 legacy events and write documentation for the 200 events already in production. Your roadmap is the product strategy that decides what ships and what waits.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Strategy & Roadmapping" term="Strategy & Roadmapping"/>
        <category label="Product Management" term="Product Management"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Managing a Team of Data Product Managers]]></title>
        <id>https://trmccormick.com/blog/managing-a-team-of-dpms</id>
        <link href="https://trmccormick.com/blog/managing-a-team-of-dpms"/>
        <updated>2025-12-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[One data PM owns clickstream. Another owns video quality. A third owns experimentation. They all compete for the same engineering resources, and none of them are shipping fast enough.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
        <category label="Product Management" term="Product Management"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[What I've Learned Building Data Products at Scale]]></title>
        <id>https://trmccormick.com/blog/what-ive-learned</id>
        <link href="https://trmccormick.com/blog/what-ive-learned"/>
        <updated>2025-11-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[After three years of building instrumentation at Disney+, these are the things I wish someone had told me on day one. They're product management lessons, learned through data work.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Product Management" term="Product Management"/>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Hiring and Growing Instrumentation Teams]]></title>
        <id>https://trmccormick.com/blog/hiring-and-growing-instrumentation-teams</id>
        <link href="https://trmccormick.com/blog/hiring-and-growing-instrumentation-teams"/>
        <updated>2025-11-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[There is no "instrumentation engineer" job posting template. There is no "data product manager" career ladder at most companies. Here is how we built the team, the roles, and the hiring process from scratch.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Migration Without Breaking Everything]]></title>
        <id>https://trmccormick.com/blog/migration-without-breaking-everything</id>
        <link href="https://trmccormick.com/blog/migration-without-breaking-everything"/>
        <updated>2025-11-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We migrated 200+ analytics events from a legacy system to a modern one. The business requirement was zero data loss during the transition. I ran it like a product launch.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Platform & Architecture" term="Platform & Architecture"/>
        <category label="Schema Design" term="Schema Design"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[The Art of the Analytics Code Review]]></title>
        <id>https://trmccormick.com/blog/the-art-of-the-analytics-code-review</id>
        <link href="https://trmccormick.com/blog/the-art-of-the-analytics-code-review"/>
        <updated>2025-11-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The code compiles. The tests pass. The analytics event fires with an empty string where the content ID should be. Nobody catches this in code review because nobody is checking whether the data tells the truth.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Privacy & Governance" term="Privacy & Governance"/>
        <category label="Product Management" term="Product Management"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Governance for Instrumentation]]></title>
        <id>https://trmccormick.com/blog/data-governance-for-instrumentation</id>
        <link href="https://trmccormick.com/blog/data-governance-for-instrumentation"/>
        <updated>2025-11-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Governance sounds like bureaucracy. In practice, the absence of governance means your data warehouse has 47 different spellings of "content_id" and 14 teams who stopped trusting the numbers.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Privacy & Governance" term="Privacy & Governance"/>
        <category label="Schema Design" term="Schema Design"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[In-App Messaging Telemetry]]></title>
        <id>https://trmccormick.com/blog/in-app-messaging-telemetry</id>
        <link href="https://trmccormick.com/blog/in-app-messaging-telemetry"/>
        <updated>2025-10-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Marketing sends 50 million in-app messages per week. Without telemetry on impressions, dismissals, and taps, they have no idea if any of them work. We didn't instrument all of it at once. We shipped impressions first, learned from the gaps, and built from there.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Experimentation & Growth" term="Experimentation & Growth"/>
        <category label="Product Management" term="Product Management"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Experimentation as Infrastructure]]></title>
        <id>https://trmccormick.com/blog/experimentation-as-infrastructure</id>
        <link href="https://trmccormick.com/blog/experimentation-as-infrastructure"/>
        <updated>2025-10-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Feature flags are the easy part. The hard part is knowing whether the experiment data flowing through them is correct. And the hardest part is knowing when to experiment at all.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Experimentation & Growth" term="Experimentation & Growth"/>
        <category label="Platform & Architecture" term="Platform & Architecture"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Real User Monitoring]]></title>
        <id>https://trmccormick.com/blog/real-user-monitoring</id>
        <link href="https://trmccormick.com/blog/real-user-monitoring"/>
        <updated>2025-10-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Synthetic tests pass. Lighthouse scores look great. Real users on a 2019 Samsung TV on hotel Wi-Fi tell a different story. And when you look at the RUM data, it tells you things about your product that no user interview ever would.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Monitoring & Quality" term="Monitoring & Quality"/>
        <category label="Platform & Architecture" term="Platform & Architecture"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Building a Data-Informed Culture]]></title>
        <id>https://trmccormick.com/blog/building-a-data-informed-culture</id>
        <link href="https://trmccormick.com/blog/building-a-data-informed-culture"/>
        <updated>2025-10-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You built the dashboards. Nobody looks at them. The problem is not the data. The problem is that you shipped a tool without understanding your users.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Metrics & Measurement" term="Metrics & Measurement"/>
        <category label="Leadership & Teams" term="Leadership & Teams"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[The Analytics Pipeline]]></title>
        <id>https://trmccormick.com/blog/the-analytics-pipeline</id>
        <link href="https://trmccormick.com/blog/the-analytics-pipeline"/>
        <updated>2025-09-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A user taps "Play" on their phone. 400 milliseconds later, the event lands in a Kafka topic 2,000 miles away. Your PM asks why yesterday's funnel numbers look off. The answer lives somewhere in the five systems between the user's finger and the chart on their screen.]]></summary>
        <author>
            <name>Trevor McCormick</name>
            <email>trevor.ryan.mccormick@gmail.com</email>
            <uri>https://github.com/trevormccormick</uri>
        </author>
        <category label="Platform & Architecture" term="Platform & Architecture"/>
        <category label="Schema Design" term="Schema Design"/>
    </entry>
</feed>