The Article I Couldn't Link People To (So I Wrote It)
I Accidentally Started a Data Engineering Flamewar
Surprise! This blog isn’t just about politics, personal growth, or theory of the internet. It’s also about … data engineering!?
So, uh -- I wrote a blog post and it kinda blew up. My substack following quadrupled overnight (hi everyone!). LinkedIn followers... maybe doubled? I lost count.
The publisher (
) tells me it’s the 2nd best performing post of 2025.And it’s so damn simple. Just: how to Actually build a data warehouse.
Back in 2014/2015, this would have been manna from heaven for me. At Grovo, I was the first data scientist, and I was tasked with building a data warehouse. It was kind of an impossible task, in retrospect — no data engineers, no budget. And — here’s the thing — I had no idea how to even figure out the answers I needed.
All the advice I could find was either:
outdated and incredibly tactical (star schema! slowly changing dimensions!)
fuzzy and abstract (data lakes!)
tools specific (kafka! flink? segment.)
business focused and tactical (lean analytics! iterate quickly!)
Nothing laid out: “Okay kid. Here’s where you start. Here’s what actually matters. Here’s the jargon and fluff you can ignore.”
Then I went to Facebook. And everything just... worked. Someone had made good, solid decisions early on that scaled magnificently. The job was easy. Understanding the systems was fun. I started teaching classes about them. People loved those classes. My intern mentee loved learning from me. It was great.
(Also: shoutout to the data warehouse engineering/ops team. You’re why I could focus on moving data instead of debugging warehouses or tuning database systems. Thank you.)
Eventually, I left Facebook. And everywhere I went - startups, a super PAC, even a presidential campaign - I kept running into the same problem. I’d try to explain: here’s the ONE thing you need to bake in early. Here are the patterns that will stop data chaos. And then people’s eyes would glaze over.
Not because they were dumb. But because I didn’t have anything to link them to! I was trying to transfer a complex mental model in a 30 or 60 minute conversation. (In one case, across two 2-hour meetings. Rough.)
This has been true for years. Last month, after it happened again, I finally sat down and wrote it. Then I reached out to my old friend and coworker Zach. Zach has spent the last few years becoming a data engineering … influencer!? Instead of thirst traps on Instagram, he posts stuff about SQL on LinkedIn. This is his job now. Amazing. G_d bless America.
So, he liked it! We broke out the original draft into thirds — Part One: A Simple Explanation of Modern Data Warehousing landed last Friday.
And here’s the thing — I titled it “Stop Using Slowly Changing Dimensions.” Not “here are the basics.” Just a cheeky little title.
Turns out, that’s the data engineering equivalent of rage-bait. People are arguing in the comments. The LinkedIn post has been reshared 100+ times. Four DE managers reached out about roles. And the comment section? Arguments (arguments!) about data modeling and ingestion. And I haven’t even made the actual case against the SCD style yet -- that’s in Part 2.
Which drops … tomorrow!
Fingers crossed for the flamewars, I guess.
Read Part One -- here. (Click me!)
There’ll be more. Part 3 is already written. Parts 4 and 5 are gonna get me back on my “he who controls metrics controls the galaxy” soapbox. Will there be more after? Maybe! It’s gonna be fun.

