<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Platform Strategy on Ghost in the data</title><link>https://ghostinthedata.info/tags/platform-strategy/</link><description>Ghost in the data</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Ghost in the data</copyright><lastBuildDate>Tue, 23 Jun 2026 08:00:00 +1000</lastBuildDate><atom:link href="https://ghostinthedata.info/tags/platform-strategy/index.xml" rel="self" type="application/rss+xml"/><item><title>Keep Moving</title><link>https://ghostinthedata.info/posts/2026/2026-06-20-fire-and-motion/</link><pubDate>Tue, 23 Jun 2026 08:00:00 +1000</pubDate><guid>https://ghostinthedata.info/posts/2026/2026-06-20-fire-and-motion/</guid><author>Chris Hillman</author><description>Why forward momentum — not planning, not tooling, not the perfect architecture — is the only thing that actually ships a data platform.</description><content:encoded>&lt;p>Some days I open my laptop and by 5pm I genuinely cannot tell you what I did.&lt;/p>
&lt;p>Not because it was complicated. Not because there were emergencies. The stand-up happened. A few Teams messages were sent. A ticket was groomed. A document was &amp;ldquo;reviewed&amp;rdquo;. A meeting was attended where everyone agreed something was important and then the meeting ended and nothing changed.&lt;/p>
&lt;p>And then somehow it was evening and the pipeline I meant to fix was exactly as broken as it was in the morning.&lt;/p>
&lt;p>I used to think this was a time management problem. I&amp;rsquo;ve since come to believe it&amp;rsquo;s a physics problem.&lt;/p>
&lt;hr>
&lt;h2 id="an-object-at-rest">An object at rest&lt;/h2>
&lt;p>Actual productive work — the kind that moves a platform forward — probably occupies about two or three hours of a given workday. Maybe four if you&amp;rsquo;re lucky. The rest is coordination, context-switching, Teams, and the ritual of &lt;em>almost&lt;/em> starting.&lt;/p>
&lt;p>I&amp;rsquo;ve seen senior engineers arrive late and leave early and outship everyone else on the team. I&amp;rsquo;ve seen people in meetings from 9 to 5 who are technically &amp;ldquo;at work&amp;rdquo; but haven&amp;rsquo;t touched a pipeline in three weeks. Hours in office — or in Jira — are a spectacularly poor proxy for output.&lt;/p>
&lt;p>The hard part isn&amp;rsquo;t the work itself. Once you&amp;rsquo;re in it — once the editor is open, the query is running, the dbt model is taking shape — it flows. The painful part is the gap between &lt;em>intending&lt;/em> to start and &lt;em>actually&lt;/em> starting. That gap has a gravitational pull all its own.&lt;/p>
&lt;p>I have a version of this routine I&amp;rsquo;m not proud of: open laptop, check email, check Teams, open the ticket I meant to work on, re-read my own notes from last week, decide I need more context, open Confluence, fall into a 20-minute rabbit hole of documentation I wrote six months ago, circle back to Teams, check if anyone replied to that thread, think about getting coffee, get coffee, and then, somewhere around 11am, finally open the editor and actually write the thing that takes forty-five minutes.&lt;/p>
&lt;p>The work was never the problem. It was everything I let stand between me and starting.&lt;/p>
&lt;p>This isn&amp;rsquo;t a character flaw. It&amp;rsquo;s inertia. Physics applies to engineers too.&lt;/p>
&lt;hr>
&lt;h2 id="the-only-way-to-build-a-platform">The only way to build a platform&lt;/h2>
&lt;p>There&amp;rsquo;s a way I&amp;rsquo;ve come to think about what separates data platforms that actually mature from the ones that are permanently &amp;ldquo;almost there&amp;rdquo;.&lt;/p>
&lt;p>It&amp;rsquo;s not the architecture. It&amp;rsquo;s not the tooling. It&amp;rsquo;s not the quality of the backlog or the rigour of the sprint ceremonies or the neatness of the Confluence hierarchy.&lt;/p>
&lt;p>It&amp;rsquo;s whether the team is moving forward — every day, in some small way — or whether it&amp;rsquo;s standing still.&lt;/p>
&lt;p>That sounds obvious until you try to do it. Because there are a hundred forces, every single day, designed to stop you from moving.&lt;/p>
&lt;p>Some of them are internal. The engineer who won&amp;rsquo;t write a single line until the data model is &amp;ldquo;finalised&amp;rdquo;. The team that spends three sprints documenting the current state before touching anything. The migration project that requires a complete source system audit before the first table lands in Snowflake. All reasonable-sounding activities. All forms of not moving.&lt;/p>
&lt;p>Some of them are external. That&amp;rsquo;s where it gets more interesting.&lt;/p>
&lt;hr>
&lt;h2 id="cover-fire">Cover fire&lt;/h2>
&lt;p>The data tooling industry has discovered something effective: if you can keep teams busy reacting to you, they don&amp;rsquo;t have time to ship.&lt;/p>
&lt;p>Not consciously, probably. But the effect is the same.&lt;/p>
&lt;p>Joel Spolsky wrote about this pattern more than twenty years ago in &lt;a href="https://www.joelonsoftware.com/2002/01/06/fire-and-motion/" target="_blank" rel="noopener">Fire and Motion&lt;/a>. In infantry terms: you fire at the enemy not because you expect to hit much, but because it forces them to keep their heads down while you advance. In software terms, the big players generate a constant barrage of new technologies and standards so that everyone else burns their days keeping up instead of building. He was writing about Microsoft in 2002. The names have changed. The strategy hasn&amp;rsquo;t.&lt;/p>
&lt;p>Every six months there is a new architectural paradigm your team is supposed to evaluate. The lakehouse. The semantic layer. Data contracts. The medallion architecture (deprecated). The medallion architecture (rehabilitated). Streaming-first. The modern data stack (thriving). The modern data stack (dead). AI-native pipelines. Agents that write your dbt models for you.&lt;/p>
&lt;p>The vendor ecosystem has learned to generate enough noise that a conscientious engineering team can spend most of its time just &lt;em>keeping up&lt;/em>: reading the announcements, watching the conference talks, debating whether to adopt the new pattern, setting up a proof-of-concept, discovering the PoC is more complex than advertised, abandoning it, and then starting the cycle again when the next announcement drops.&lt;/p>
&lt;p>Meanwhile your users still can&amp;rsquo;t get a reliable enrolment count. The Oracle migration is in month fourteen. The dashboard that takes eleven seconds to load still takes eleven seconds to load.&lt;/p>
&lt;p>The Snowflake vs Databricks wars, dbt Fusion vs dbt Core, Iceberg vs Delta vs everything else: some of it is genuinely important and you should stay informed. But a lot of it is just noise that benefits the people generating it, not the people consuming it. While your team is deep in an evaluation of a new ingestion paradigm, the basic pipelines you already have aren&amp;rsquo;t getting more reliable. The stakeholders who&amp;rsquo;ve been asking for a new data source for four months are still waiting.&lt;/p>
&lt;p>They don&amp;rsquo;t care which open table format you&amp;rsquo;re using. They care whether their data is there in the morning.&lt;/p>
&lt;p>When a sales engineer from a major vendor asks whether your platform supports the latest hot acronym — and they will, and it will be in a room full of your stakeholders — that question is doing work. It&amp;rsquo;s designed to make you feel behind. To make you wonder if you should be rebuilding rather than shipping. To redirect your energy toward something that benefits them.&lt;/p>
&lt;p>The right response is rarely to immediately build the thing they&amp;rsquo;re asking about. The right response is usually to keep moving on the things that actually matter to the people you serve.&lt;/p>
&lt;hr>
&lt;h2 id="what-moving-forward-looks-like">What moving forward looks like&lt;/h2>
&lt;p>I want to be specific about this, because &amp;ldquo;keep moving&amp;rdquo; is easy to say and genuinely hard to operationalise.&lt;/p>
&lt;p>It doesn&amp;rsquo;t mean rushing. It doesn&amp;rsquo;t mean skipping the thinking or writing code you&amp;rsquo;ll hate in six months. It means that every sprint, every week, every day — something is better than it was. A pipeline is more reliable. A model is documented. A test passes that didn&amp;rsquo;t pass before. A stakeholder gets a data source they couldn&amp;rsquo;t access last month.&lt;/p>
&lt;p>Small, consistent, compounding. The platform that looks dramatically better in twelve months is almost always the one that had someone quietly improving things every single day, not the one that attempted a big-bang rewrite.&lt;/p>
&lt;p>On the personal side: the most useful thing I&amp;rsquo;ve found is to remove the decision of whether to start. If you have to decide to begin every morning, you&amp;rsquo;re giving inertia a fighting chance. The editor should be open before you check Teams. The model you&amp;rsquo;re working on should be the first tab, not the fifth. Pair programming works partly because it eliminates optionality. You can&amp;rsquo;t not start when someone is sitting there waiting.&lt;/p>
&lt;p>On the team side: the most dangerous status update is &amp;ldquo;working on it&amp;rdquo;. It sounds like movement. It often isn&amp;rsquo;t. The rituals that actually correlate with forward progress are the boring ones: small PRs merged frequently, tickets moving from in-progress to done in days not weeks, users getting things they asked for.&lt;/p>
&lt;p>On the strategic side: have an honest answer for what you&amp;rsquo;re choosing not to evaluate right now, and why. &amp;ldquo;We&amp;rsquo;re not looking at that this quarter because we&amp;rsquo;re migrating the Oracle GL tables and that&amp;rsquo;s more valuable&amp;rdquo; is a complete sentence. You don&amp;rsquo;t need to defend it at length.&lt;/p>
&lt;hr>
&lt;h2 id="the-platform-that-keeps-moving-wins">The platform that keeps moving wins&lt;/h2>
&lt;p>I don&amp;rsquo;t think data engineering is particularly hard compared to what else people do with computers. The craft is learnable. The patterns are well documented. The tooling is genuinely better than it was five years ago.&lt;/p>
&lt;p>What&amp;rsquo;s hard is sustaining forward motion through the accumulated weight of meetings and tool evaluations and perfectly reasonable reasons not to ship today.&lt;/p>
&lt;p>The teams I&amp;rsquo;ve seen build platforms that people actually trust and use are almost never the ones with the most sophisticated architecture. They&amp;rsquo;re the ones that kept moving — through organisational changes, through vendor noise, through the days when it felt like nothing was getting done.&lt;/p>
&lt;p>There&amp;rsquo;s a cost to this approach, and it&amp;rsquo;s worth naming. If you treat most of the noise as noise, occasionally you&amp;rsquo;ll be wrong. Something you dismissed will turn out to be the real thing, and you&amp;rsquo;ll arrive eighteen months after the early adopters, reading their write-ups instead of writing your own. That&amp;rsquo;s the trade, and I&amp;rsquo;d take it. Being late to a paradigm is recoverable. A platform nobody trusts is not.&lt;/p>
&lt;p>The job, at every level, is to move forward a little every day. Fix the pipeline. Write the test. Ship the model. Even when it&amp;rsquo;s small. Even when it&amp;rsquo;s imperfect.&lt;/p>
&lt;p>The platform gets better a little at a time, or not at all.&lt;/p>
&lt;p>Somehow, launch the editor.&lt;/p></content:encoded><category>Data Engineering</category><category>Leadership</category><category>Productivity</category><category>Data Engineering</category><category>Platform Strategy</category><category>Team Leadership</category><category>Technical Strategy</category></item></channel></rss>