The $1M data warehouse migration that crumbled when one person resigned. I promised you a disaster story. Here it is. We were migrating an on-prem SQL Server warehouse to Snowflake. Standard lift and shift, right? Wrong. Their entire transformation logic lived in one 50,000 line SQL stored procedure. One guy owned it. Great stakeholder, super helpful during discovery. Then he left the organization. Two weeks into development. Nobody else in the organization understood that script. Not a single person could explain what half the calculations were doing or why certain business rules existed. We did our best to reverse engineer it. Migrated everything to Snowflake. Ran the numbers. They were wildly off from the original warehouse. Not close. Not "needs some tuning." Completely wrong. We had to scrap months of work and rebuild the metrics calculations from scratch, interviewing business users to figure out what the former developer's 50K-line script was actually supposed to do. The project that should have taken 12 months took 15. Budget overrun? Significant. The real problem wasn't the migration. It was that critical business logic lived entirely in one person's head and one undocumented script. This is the institutional knowledge problem nobody talks about. Your data projects aren't just fighting bad requirements, they're fighting the fact that nobody captured how decisions were made the first time. So when that person leaves, you're starting from zero. Again. This is just one of the problems I'm planning to solve. Next, I'll share the $2.5M migration project that slowed the business to a crawl because stakeholder alignment fell apart mid-project. #DataProjects #DataMigration #InstitutionalKnowledge #DataWarehouse
It sounds like he was mad that he had to maintain a 50k stored procedure by himself and all you smarty passes got to pick thr next warehouse... snowflake...lol. Then he called your bluff. He left to prove it. No one knows the business rules or how anything actually works. How did everyone come up with a 12 month plan... when no one saw the the entire platform was one big script... lol.
This is why I never understood why agile manifesto prioritizes working software over comprehensive documentation.
We see this all the time with inexperienced data teams building horrific monolithic systems in airflow and other orchestrators. Only to leave and have the rest of the analytics team wonder what the hell was going on in a giant spaghetti DAG
Perfect! So you made a greenfield project out of a brownfield one and started from scratch? 😅 Honestly speaking, I think sometimes it's actually good to start with a blank canvas again when tech debt is too high. Your circumstances were obviously a bit unfortunate
50K line stored proc to handle an entire data migration & noone saw that coming? I don't think delays had anything to do with him leaving. I think you actually saved bunch of time & money because he left. Imagine how bad would have been if he stayed and you would see the whole thing fail after 8-9 months of work with 90K lines of code. This is why you work with someone who know what they are doing in terms of migrations and how snowflake works. Professional services, Consultant or a partner. This is not one of these things where you build fast, fail fast & redo the whole thing.
You describe a perfect example of the risk companies take when they employ a top resource at a below market rate. A data architect with USC paid $70 an hour on c2c will eventually leave unexpectedly in most cases. Same for a senior Tableau dev paid $50 an hour. Who can blame them? Infosys rates are no recipe for success.
SQL Server... Warehouse? Maybe you need to start by that misconception. An RDBMS is NOT a Warehouse 🙃
Sharing a post from a mutual connection to spread the key-person risk. Great content Glenn and Brandon. https://www.linkedin.com/posts/activity-7382423510750515200-34AO?utm_source=share&utm_medium=member_desktop&rcm=ACoAAACvfwEBzO_xbk7kGv_sLHG0rHd6SB8XjQo
They probably thought this guy was a hero until he left them holding the bag. Unless you're in the same code as someone, you won't know if they were good until they leave.
Lead data engineer at Source2Sea
5dAll engineers should be morally responsible to their employer or team members! we should be ready drop dead any day and the company should be able to continue. That means we always should have documentations in some form, doc the reasons for certain design decisions made, bread crimes to trace PRs and user stories together etc etc. This behavior should not be asked by employers, of course if employers have built the culture, then that is good! #treat_the_company_like_your_own