3 ms·
I tend to be a bit of an evangelist in whatever endeavor I'm currently engaged. I'm a big mouth. There, I said it. With that out of the way, this tends to put m
by bradleyland 14y ago
I tend to be a bit of an evangelist in whatever endeavor I'm currently engaged. I'm a big mouth. There, I said it. With that out of the way, this tends to put me in the teacher's seat once someone says, "Ok, Brad, show me what's so cool about this thing you're always talking about."
What I've observed is that there are two types of learners. One set of learners starts from a set of instructions. These instruction sets are simple, enumerated lists. The learner executes the steps and looks at the outcome. As they advance, they might begin to explore deviations in the steps. Reasoning like, "What happens if I swap steps 2 and 3?"
The other type of learner cares less about the steps and more about the concepts behind the steps. They begin by asking, "Why do I do step 1" or "How does step 1 work?"
Everyone I've taken under my wing who engages in the enumerated list approach hits a wall at some point. When the complexity of the enumerated list extends beyond their ability to tweak inputs, they become frustrated, and ultimately give up.
The latter group tends to get further, but it's not a free pass to stardom. Many still hit a conceptual complexity wall where they fail to grasp some of the more abstract concepts.
The former group far outnumber the latter, in my experience. I'd posit that what makes learning to code so hard is that it is more accessible to a means of learning that fewer people possess.