

Ask HN: Were you ever scared of pushing to production? - zipfle

If so, do you remember getting over it, or did you just eventually stop feeling scared? Are you still scared of it?
======
japhyr
I think this is why having real-world experience in non-programming realms is
valuable. When your life has been on the line in some physical adventure,
things like pushing to production are easier to keep in perspective.

I have run in the woods with bears, climbed steep and sketchy mountains, rock
climbed, tried hang gliding and paragliding, kayaked in rough waters. Most of
that was quite safe, with well-qualified people, using the right equipment,
with the right training and with the right progression of risk. That said, I
have definitely held my life in my hands a few times,put my life in others'
hands, and had other people's lives in my hand.

When you've had these experiences, technical risks are easier to manage. They
don't become easy, but you go through the same mental checklists. "Can I close
my eyes and pull my kayak skirt off if I flip in these waves" becomes "have a
followed my backup routines, so if this push fails will I be able to recover
in a reasonable timeframe?"

I've been a hobbyist programmer for most of my life. But now I'm dabbling in
more meaningful and important projects. This is the perspective that makes me
comfortable jumping into technical projects, without being paralyzed by the
fear of breaking something important.

~~~
toomuchtodo
As an old co-worker used to say, "We're not saving lives, we're just building
websites." I don't care how much money your site loses per minute its down, or
how bad your company looks because you lost some of your uptime stat. Its a
far cry from someone dying because of what you did.

------
edavis
I still get nervous, but I've learned to manage it.

Some things that help:

\- Keep your changes small. You should be able to fit the entire diff in your
head and completely understand the purpose for every changed line. If you
can't, split it up.

\- Automate the process as much as possible. Invest in learning whatever tool
works best for you (Fabric, Rake, Grunt, etc).

\- Use a staging environment. This is especially helpful for catching issues
like missing dependencies, DB migration problems, etc.

------
taternuts
If you aren't at least a little nervous during a production push, then
somethings wrong, I think.

~~~
MrZongle2
Agreed. Once I had buy-in to start TDD at my last job, the push to production
went from "cold sweat" to mild indigestion.

------
vermasque
More so recently because I'm working with more complexity now: an
inexperienced team on top of a code base being shared among 2 teams.
Ultimately, you have to counter your fear with preparation to reduce the risk
of something going wrong. We use Jenkins CI for running unit tests and doing
deploys to a sandbox environment similar to production. However, I have to
additionally review my team's diffs to catch problems that were missed by
automated tests not being written or by requirements / design being wrongly
interpreted.

So I guess the goal is to improve the preparation of a production push.

------
robbiea
I was scared in the last email I sent to over 30 people. Like /u/taternuts
said, you have to be a little scared. But yes, you will get over it, but if
it's a big push to prod - you will still be scared.

------
dsschnau
Yeah, I used to lose sleep over it. Now I've got a big release going out
tomorrow, and I'm not the least bit scared. Will something go wrong? Maybe, I
can't be sure. I tried my best to get everything right and ready, but no big
deal if something goes wrong.

------
thelogos
Yes, the worse part is the nagging feeling that there is some nasty bugs
lurking underneath that you forgot. Somehow there will always be bugs and
sooner or later, we all have to face judgement.

------
JacobH
_Currently scared_

