Learning to Program is Learning to Think

Those of you who read this blog know I am a nut amount continuous self-education. I won’t stop. It feeds my brain and keeps me sharp. Right now, I am more focused than I have ever been on learning how to program.

I was initially interested in programming because I love the idea of building something using nothing but characters in a text file. It’s powerful. I was attracted to the romantic, creative side. But, as I have learned more, I love programming for one major reason:

Learning how to program is learning how to think. It forces you to break down a problem into it’s simplest parts, work on them one small step at a time, and connect each piece together into a solution.

I believe programatic thinking is the literacy of the near future. I want my kids to learn it and practice it. Since my wife and I home school our kids, it has become a practice what I preach situation. After all, how am I going to be able to help them learn to program without actually knowing myself.

After working through most of the free and cheap tutorials I could find online and in books, I have chosen the Launch School curriculum as the course to finally take me to proficiency. One of the things that I love about the program is how it focuses on the struggle of figuring something out on my own instead of a series of step-by-step tutorials. It’s not a “learn programming quick” course, and they try harder to square you out of starting their program than actually signing up.

I also love what Launch School has to say about a “programmer’s disposition” or the way they face a problem. The natural frustrations is to through your hands in the error and get pissed off when something isn’t going well. But…a “programmer’s disposition” will lead you to stay calm, pay attention to what the failures and errors are telling you, consult the support documents, and reframe the problem.

So much of learning to program is learning how to break habits and learn newer, more productive ones. It is teaching me to find the smallest problem I can solve and solve that first, to take action instead of pulling back, and to keep pushing through the hard stuff until it becomes second nature.