You are hereReconciling "Make Mistakes!" with "Appropriate Level of Terror"

Reconciling "Make Mistakes!" with "Appropriate Level of Terror"


By steve - Posted on 06 May 2010

cognitive dissonance: psychological conflict resulting from incongruous beliefs and attitudes held simultaneously.
--www.merriam-webster.com

If you've read my other segments "Make your mistakes faster" and "Have the Appropriate Level of Terror", you might be wondering how I could logically hold these two opposing views at the same time. Am I just suffering from cognitive dissonance or do I have a legitimate point?

The answer is pretty simple, if you dig into the meat of my arguments and look at the timing of each...

Making mistakes is an important part of learning. When you are experimenting and trying out new ideas or trying to solve a problem, you need to go through a lot of different options and take different approaches to either fix or optimize your solutions. The worst attitude you can have is to be paralyzed by fear.

You should, however, be terrified when you are touching a key component of your infrastructure or making even the slightest change to a production system.

Learning/developing/exploring: make more mistakes.

Critical/infrastructure/production: live in terror.

This one reason why software developers tend to make bad system administrators. When you are a software developer, you spend most of your time trying lots of things, breaking stuff, cleaning up code that already works because it makes it "better", and running a debugger so that you can see your mistakes in context.

Your moments of terror tend to be limited to installing your code on a production server, update rollouts, or midnight support calls.

Unless a developer can display a total mindset change, I don't want them anywhere near a production server because they tend to want to "just try something".

That doesn't work when you have a manufacturing facility with 200 people on each of three shifts, totally dependent on a just-in-time, fully-interactive, real-time system. (In this particular real-life example, any system downtime costs $3,400/hour. Down for a day? That would cost $81,600.)

This is also a reason systems administrators tend to make bad software developers. They tend to be so cautious and I-dottingly, T-crossingly OCD (Obsessive-Compulsive Disorder), that they have a hard time getting past that special skill to the point where they can make mistakes fast enough to be a productive software developer.

I know I'm generalizing, but the only people that I've met that can do both are the ones that are able to flip their mindset to the given situation.

So, it is actually pretty easy to reconcile these two mindsets, depending on the situation you are in. The trick is knowing where and when you really are.

Did this help you? You can help me!


Did you find this information helpful? You can help me back by linking to this page, purchasing from my sponsors, or posting a comment!


+One me on Google:


Follow me on twitter: http://twitter.com/mojocode







Comments



Affiliation Badges