<aside> ❓ This is the first article in a three-part series telling the story of what happens when technical debt goes to collections.

We all know about Technical Debt, right? A hack here, a kluge there, a prototype made three years ago that’s now casually holding the entire company up?

Well this is what happens when that debt explodes, in a most spectacular fashion, and now you gon’ pay.

</aside>

Reasonable Deprecation Email

Every so often, Google Cloud Platform will send deprecation notices about services they will no longer maintain:

https://lh7-us.googleusercontent.com/rFKZALLLZTvwEPjbWVUydOtwb-hu45Z4eCKg_n-15mRve6iIsg1EFW7W0kKFgexSviak5kKKi35D7R6ppYyHXsWMEwKzonyGh2UiJLfxkmozSnopHO9rhuOHkM-DFfu_1fppRn27XwcImDR53t2UUA

Receiving this email, we weren’t too concerned.

There was a team that looked into each of these deprecation notices, making necessary upgrades.

Looking into this, we couldn’t find anything in our codebase that used these “legacy” “beta” api’s.

Why would we use it? It’s literally called legacy v0.1

May as well call it no seriously don't use this v0.1

So we went on with our lives delivering exceptional value to our customers.

A few months later, the notice is sent again…

…only this time they provide a small list of VM’s using this API.

This is what’s known in the industry as an “Oh shit” moment.

Components of an Oh Shit Moment

  1. We use a 3rd party Infrastructure-as-a-Service provider to manage our cloud servers.
  2. That IaaS provider uses some rando custom Ruby lib.