Tuesday 5 May 2020

The Figure Eight Analogy

There are lessons in web development that one can glean from the simplest things, and today is one such example.

The Figure Eight Knot is as simple as they come. Primarily used by fishermen, it also has uses as a sailor's knot, mostly as a stopper. It's so simple that most people can probably figure (geddit?) out how to do it by referring to the illustration below.

The Figure Eight Knot.
"Probably" being the operative word. Some people have difficulty. It's not that they're unintelligent; more like their minds aren't really wired that way.

Back in my days as a low-ranking conscript in the Republic of Singapore Navy, I was once tasked to teach some newly-arrived seamen how to tie that knot (among other knots). So there they were, each with a length of rope, waiting for me to demonstrate. I had a cup of coffee in one hand and my piece of rope in the other, and proceeded to tie that knot using whatever I had at my disposal - that one hand.

One moment I was holding a rope end, and two seconds later, I was holding a Figure Eight Knot. If you didn't know better, it was like magic.

They asked me to do it again, slowly this time. I did so, several times, slowly. Still with one hand, as I contentedly sipped on my coffee.

That's when they got frustrated. They thought I was showing off. And they might be right, if I thought tying something as simple as a Figure Eight Knot, even one-handed, was anything to be impressed at. If they thought that was showboating, I wonder what they'd have thought if I started tying it while blindfolded.

Because that is certainly possible. More possible than most people probably realize. Why? Because once you get past the visual aspect of tying knots, you develop muscle memory and begin to be able to do it by feel. It's not a conscious thing.

But either way, they were barking up the wrong tree. They were supposed to be understanding how the knot is tied by observing where the end of the rope went in relation to the rest of the rope. They certainly weren't supposed to watch my hand, or fixate on the fact that I was tying it one-handed!

Now on to the web development equivalent...

Sometimes when learning code from a programming mentor, something similar happens. The programmer types really fast, not seeming to need to look at the keyboard as he or she produces large segments of code. It's not something for the trainee to emulate, because the programmer has already developed familiarity with the keyboard and that particular IDE, using customized shortcuts and personally-placed screen widgets.

The trainee should be focusing on the code produced on-screen and how it works. Not which fingers are pressing what buttons! You're learning how to code, not how to type!

Finally...

The lesson to learn here is, sometimes when trying to learn something, what's really important is the end result. How you get there is certainly negotiable. There are many ways to tie a Figure Eight Knot, and it doesn't really matter how as long as you get the end result.

Same with a typed segment of code. The compiler only cares about the code it's processing. It doesn't care how quickly you typed it, or if you used a few shortcut keys to copy-paste it, or if you used some fancy voice recognition parser to speak those commands.

Remember, focus. On the end result.

Gr8 seeing you, m8!
T___T

No comments:

Post a Comment