Deploying Code to Production

There's an interesting aspect to being a computer programmer.

And that's the release of your work into the production environment.

You kind of have to hold your breath while moving the code.

Because while in production, you don't want to touch anything or change anything you're not supposed to.

Production is a sacred place.  You must perform your changes with care.

I know for me, when I deploy code to prod, my attention level increases, my focus is more determined, I think more methodical, and I document my steps and take screen shots along the way.  And I backup my code at the same time in case a rollback is required.

I know some shops have specialized people to deploy code as the division must be defined and restricted.  However, in my experience this does not correlate with improved deployments, it actually causes more problems to be honest.  The guy moving the code doesn't understand the technology and often fumbles the files or forgets a setting or to change a config file or something.  Then the users complain of issues, and the guy is pointing fingers at the developer that the code must be wrong and you're in the manager's office explaining how you screwed up.  Meanwhile the production server is completely off limits to developers so you have to troubleshoot the issue through the deployment manager who is impatient and has 1000 other things to be working on.  Then by some miracle when nobody's looking the program mysteriously starts working and nobody knows how it happened.  That's my experience anyway.

So now that I had that tangent flow of thought, I take deployments seriously, as should you.

And there you have it!