|#Hacktoberfest left me feeling mushier than this plate of potatoes and mystery green goo. I want to give a group hug to the world! (Image credit: Flickr user russeljsmith shared with a Creative Commons license)|
People are makers. We can’t help it. But why? Why do people write, bake, program or paint?
Here's my best guess: Our minds are lonely places where our thoughts languish. Until, that is, we can turn them into essays, pies, code, pictures -- something another human being can interact with. Making -- whatever it is you make -- is a way of connecting.
Once we know how to make something, we understand it better. We understand the person who made it better. And we understand ourselves better. By learning new ways to make things, we expand what we are able to imagine. The world of possibilities explodes.
Let me defer to my favorite episode of Radiolab to explain. Words. Go listen to it. Right now. Please.
For those of you disregarding my advice...shame on you! But here’s a quick summary: Words aren’t just words -- they are ideas. Before we have the words for a concept, we don’t have the ability to understand it. This has been shown with spatial concepts, time, empathy, all kinds of things. Our ability to think is inseparably bound to language.
What does this have to do with programming? At last week’s hackfest, I realized that programming is the same as writing. Or rather, I was able to map the programming process -- which, previously, I'd found daunting and unwelcoming -- onto a process of making that I find intuitive: writing.
Writing is thinking. And so is programming.
Language expands our capacity to understand and interact with the world as beings who can write and speak. And new skills -- for example, programming -- expands our capacity to understand and interact with the world as beings who can make and create. Last week, by getting better acquainted with some of the basic building blocks of a program -- code, logic, how different elements interact -- I was able to imagine possibilities that I couldn’t before.
And that’s why I want to learn more. Now I’m hooked.
I’m inspired to continue to expand my skills as a programmer -- which is really just expanding my skills as a thinker and a maker. So what are my next steps?
- I started an intro to computer science class from MIT’s open courseware. I really enjoyed the first problem set. A lot a lot. But then I stopped. So I’m going to finish it.
- I want to apply what I’m learning through real projects. For me, that probably means data visualization.
I’m amazed the diverse backgrounds of the #hacktoberfest participants. As Nicola mentioned in her blog, many people who are verifiable coding ninjas don’t have any formal background in CS or don’t work as programmers. So, it’d be interesting to, as a way of motivating others to take the plunge, collect stories about how people got into programming.
Here comes the audience participation part:
- How did you first learn to code?
- What was the first piece of code you wrote that you were really, truly proud of?