Learning to Learn
The more that I try to wrap my head around loops, variables and conditions the more I realize that coding is an art. Most people have assumed that the advent of the computer age would usher in a new era where robot-speak would be the norm and people would be shunned for their creative expressions.
In my experience, it is just the opposite. Learning to code has been one of the most eye-opening experiences of my life because I’ve never considered how much we rely on understood social norms when communicating. When we our friend a simple question, there is so much meaning that’s understood by both parties which we take for granted. Chris Pine in his classic book “Learn to Program” points this out perfectly when he asking a friend to make a peanut butter & jelly sandwich. Even if your friend has never stepped into a kitchen before, its really simple to instruct someone to make you a sandwich. Computers are not like that at all. You can instruct your friend to “spread the peanut butter” but if you tried that with a computer you would get an error. Why? Because what does spread mean? Spread with what? How to spread? Where does the peanut butter go? All of these simple understood norms go away when you’re dealing with a computer.
This is why the most difficult and challenging part of learning to program is learning how to express yourself. When learning your first language, you’re learning to learn. Once you can express yourself in the way that a computer understands, it doesn’t really matter all that much when you have to use curly braces, awkward syntax or parentheses. Those can be learned and most experienced programmers can pick up a new language quickly because they understand the fundamentals of speaking to a computer. I’m hoping that my time at the Flatiron School allows me to learn to learn.