I think, and here is the hard part to grasp, that learning to program computers is easy for so many and has become hugely popular with certain kinds of person, should tell us something. These days everyone thinks they want to program a computer. The computer is the ultimate friend to have, it never sulks and goes to play with other friends, its always there ,that cursor blinking gently on the screen, almost playfully. Why?
Well, it comes down to something I recently discovered, and it’s the mechanics of learning a “craft”. I meant to become a Craftsman (sic) Craftsperson or Grand Master (sic) Guru. To learn a craft, you must have a trainer who lets you watch, then lets you have a try , and lets you learn at your pace, but who is always there. A professional trainer who always gently corrects you so that you learn interactively, by doing, making small mistakes, correcting and doing again. Craftsmanship comes after thousands of hours, who can afford a trainer who can stick around for that long? Craftspersons, will learn each tool, one at a time, in a specific order, the tools of the programmer are using the keyboard, screen, some files and compiler. The trainer is the compiler error messages, and here is where the penny dropped for me.
The compiler is incredibly patient, it always tells you when you have gone wrong, it never ever makes mistakes in it’s instructions. As the learner move onto advanced tools like algorithms and patterns and 3rd party libraries, the trainer never leaves you alone. And it’s this way in which learning to program mimics the way that furniture crafting, architecture, art and so many disciplines used to work in the old days is so similar. It suddenly makes sense, why learning to program can be attractive once you think of it as a journey where you start with the basic tools and build up, working at your own pace and don’t just dive into the deep end.
I’m not saying it’s easy, but having an understanding of how humans are wired, and how you personally learn and progress at your best, is still important. The grand masters had a trick or two up their sleeves, it was patience.