Select Page

R.O.P.E. And Battling Post-Deployment Depression

Published: April 27, 2022

Yesterday morning, I enabled a feature-flag in production that quietly released a new feature to all of our InVision customers. This was the culmination of a week’s worth of incremental builds and deployments. And while a week doesn’t sound like a long time, every day leading up to it was exciting—every line of code that I wrote was exhilarating. And when it all finally went live, I was dropping party parrot and rocket ship emojis all over the place! But, when the dust settled, the post-deployment depression set in. As it always does.

This is the cycle that I consistently experience in product development. Excitement. Deployment. Depression. Repeat. My former engineering manager – Rich Armstrong – called this cycle R.O.P.E.:

  • Reliable
  • Organized
  • Productive
  • Effective

The days and hours leading up to the release of a feature can be the most thrilling part of my job. A lot of the low-level grunt work has been completed; most of the concepts have been fleshed out; and, all that’s left to do is to wire the various pieces together and birth my vision into the world. The anticipation is exquisite! Like the butterflies you get as a roller-coaster muscles-up to its first point of inflection. Release is inevitable! It cannot be stopped! The world is about to be changed forever!

And then I deploy.

And it feels victorious…. for maybe an hour. And then the elation fades; and the reacjis stop coming in; and I sit there in the silence feeling alone and empty and sad.

This is where Rich would say I have to go back to the R.O.P.E. cycle and start over.

reliably showing up to work day after day and have faith that doing so will eventually lead to good things. This gives my mind and my body a chance to compensate for the stresses and strains of the previous cycle.

In this phase, I often like to work on small bug fixes or deleting dead code. Things that don’t require too much thinking. Just something to get the blood flowing and the machinery lubricated.

creating new database tables and the data access layer (DAL). This isn’t glamorous code. It’s not even very difficult code to write. But, it is crucial: it lays the foundation of everything else that will come after it.

In this phase, I’ll also start creating skeletal Angular components on the front-end. This just puts placeholder files into the repository, leaving them void of most logic. Again, I’m just laying the foundation of everything that’s going to come next.

crushing it at typical levels (YouTube: Silicon Valley).