Act on Fact, Not Conjecture
February 04, 2017
So, how much of a part do your feelings play in how you write software?
Feelings are important. Feelings are your “spidey sense”, your “System 1” or “lizard” brain telling you danger is lurking somewhere around here. It might be right. It might not.
This is where courage can be a developer’s best friend. Fear is an important survival instinct, but it is just fear. The creature on the television cannot hurt you, though your heart races. The unknown in front of you might be frightening, but you do not know whether it’s roses on a warm summer morning, or a pit into the heart of a volcano, until you open your eyes, wander around, and explore it a little.
So trust your feelings, they are a fact. They are there for a reason. Your past experience might be acting on some wisdom you’ve yet to reason through. Gather some facts, reason it through, understand the source of your fear.
When you code fearfully, it can get bloated and ugly. Full of guards and redundant checks. Full of whatever mechanism comforts you, maybe some premature design patterns, maybe patterns that have done you well in past circumstances no matter your current circumstance.
Know too that your brain will coat your memories with a pleasant aura, this is a psychological coping mechanism. It may give you false security in repeating gestures you’ve made before. (If you want to read more on this idea, you should read a little from the field of Behavioural Economics, start with Daniel Kahneman’s Thinking Fast and Slow).
Focus on what you know in the moment about what you are currently doing. Let go of the past, the lessons it taught you are circumstantial. Try to draw on the higher meaning from those teachings.
Code courageously, based on facts, not on conjecture.