October 29, 2016

Crawl. Stand. Fall.

There’s quite a gargantuan urban myth floating around that ‘coding is easy’. Well, whoever planted that idea in your hippocampus probably watched Inception a few too many times.

Though perhaps Skepticism has been keeping a watchful eye and you have actually googled around and landed yourself upon Why coding is so damn hard. Hopefully the Desert of Despair is a reality check for you that your relationship with coding has a long way off from being ‘happily ever after’.

Where are you now? You know you want to learn coding but you are always experiencing sandstorms of despair. So what does one do in these situations?

Choice: 
  A) Give up.
  B) Press onwards and fight the good fight.
  C) Procrastinate.
case Choice
when A
  "You deny that numbers and logic exist in your world."
when B
  "Ye that have lost faith in thyself be restored!
   STATS UP!!
     Willpower +2,
     Charisma +1"
when C
  "Keep reading so you will choose B next time."
end

Go deep into the recesses of your memory and rip out that seed in your mind that tells you coding is easy.

Go deeper.

Deeper still.

Did you find that gremlin? Good, chuck him out and fill the leftover void with the ideas I am going to talk about.

How many languages do you know? Judging by the fact you can read this post I assume that you at least know English and a smattering of English without swearing. If you know how to speak more than just these two languages then you are well off.

You see, what you are learning in coding are languages - several in fact - that are each communicating with one another but are in themselves unique. When you learn a language there is a lot to keep track of: vocabulary, grammar, syntax, punctuation, articulation etc. These facets are what make up the foundations for a language but they are not what drives us to understand them any better. What makes a language memorable is its behaviour.

The proof for this is that when you were born, you were able to learn a language from absolutely nothing but the associations between garble and objects. The key then, to getting better at coding, is recognising what events and processes were ocurring in your mind at childhood, that enabled you to learn so confidently, compared to now as an adult:

  1. Curiosity
  2. No Fear No Pain
  3. Repetition
  4. Feedback

Before discussing how to learn a language, the best way to demonstrate the processes required to do so is best achieved through our memories of learning how to walk.

Our initial impetus for learning how to walk was curiosity. As a child you saw great giants moving from one place to another with ease. You did not know for what reason they did this but it did leave an impression upon you. This of course, was the first example that you knew locomotion was possible inside of you. Unawares of it at the time, and most certainly unawares of it now, was a belief in one’s own ability to thrive. The end result of all this knowledge accumulating in your head was probably many saccades and a lot of adorable napping. Then what really made you harness all your efforts to learn how to walk was a desire to see that object in the distance. Where curiosity had previously generated a belief inside of you, presently – having captured your attention once again – curiosity projects a goal for you.

With self-belief and goal in mind, you stand up and start running.

No wait, it wasn’t like that, you stand up and start walking.

Nope, that too is unfamiliar.

Being stubborn though, you are certain that you started crawling first. But… how did you get on your belly again?

You see, everyone has to start at the beginning - there is no way around that. But what stops you from even starting is the fear of looking ridiculous and the pain of falling.

Fear is the mind killer.
Fear is the little death that brings total obliteration.

To overcome this you have to stop fighting against doubt. It’s absolutely normal to feel doubt when diving into something new. Letting doubt overwhelm you however, is an aberration.

Distance yourself from the doubt: first, have the doubt.

Then notice the doubt.

Then have a thought that you are noticing the doubt.

Yes it is that mindfulness fever that’s going round but the key here is to let it be.

I will face my fear.
I will permit it to pass over me and through me.

The prepositions ‘over’ and ‘through’ are important. (Whoa those English classes at high school paid off!) Fear is a figment of the mind and only exists as a wall because you let it do so. Walk through the fear and let Frank Herbert’s words tell you everything is all right:

When the fear has gone past,
I will turn the inner eye to see its path.
Where the fear has gone there will be nothing,
Only I will remain.

The end result? ‘No Fear, No Pain.’

I am sure you have heard that practice makes perfect. Spoiler alert: it doesn’t. Practice makes permanent. So if you are an anonymous and you practise sucking your chances of becoming eponymous are dismal. But as a child this did not matter since you had all the time in the world to rinse and repeat a hundred times over. You needed to keep crawling and keep attempting to hold a stand until you were able to walk. There were no shortcuts, just pure repetition:

i = 0

while i != 100 || action != walk
  crawl
  stand
  if stand.length > 10s
    walk
  else
    fall
  end
end

Time though is an expensive commodity as an adult. Therefore be deliberate with your practice. Make a choice of what to study and what you want at the end of the study period. Be sure to time yourself - an italian tomato can help.

Walking was preceded by many other events from which you got feedback from. At every stage leading up to the walk you were greeted by Mummy and Daddy’s smiles and praises. You crawled towards Mummy and she cheered you on till you reached her. Daddy was always there to take care of your boo boos and give you kisses. Your parents always rewarded you - at the right times - so you bounced back.

Now? Not so much. Nobody is there to see you at the finish line or pick you up when you fall but yourself. But you do have the power of chocolate and exercise. Satiate yourself with a bar of chocolate after each victory. Go for a run when you just don’t give a f*k anymore.

So how does this all tie in with learning how to code?

You have to be curious about the programmers and the programming world around you. This enables you to believe in yourself and have a goal in mind. Know where you are headed.

You have to overcome fear and pain of the brain becoming mushed after so much coding. When you are faced with a challenging concept don’t run away from it or distract yourself from it. Stay put.

You have to be consistent with your coding. Everyday for 30 minutes is better than 3 hours in the weekend. Make it a habit.

Reward yourself when you achieve a win. Do a monkey dance when you can get 1 + "1".to_i working. It’s actually a big step.

Coding is like learning to walk. First you got to crawl, stand and fall. Eventually you will get to stand and take a step forward before inevitably falling down again.


Crawl. Stand. Fall.

Today’s post was brought to you by the words pedagogy and andragogy.