The reason I got into programming in the first place was to be able to build my own things. I had an itch to scratch and I went from there. I created something out of nothing with nothing more than my mind, a terminal, Sublime Text 2, and Heroku. Those of you who know how to program understand the feeling of being able to build any idea you can think of. For those of you just starting to learn, that feeling is waiting to come out and you just have to find it.
Programming — and the Web for that matter — is unique in that very few other forms of creation require zero raw materials. Want to build a house? You need wood, mortar, brick, tools, and so much more. Want to build a car? You need plastic, steel, glass, rubber, and so on. Want to build a smartphone? You need glass, metal, and many tiny parts. Want to paint a picture? You need a canvas, paint, brushes, and more. Programming is different. Programming requires only your ability to learn, stay persistent, and to be hungry to create something.
I guess that’s why I’ve always loved building things for the Web. In my mind it’s so much easier than building anything for the “real world”. The techniques are all fairly simple to learn, ideas are relatively easy to test, you don’t need any raw materials, and you can do it all with no additional costs other than your time.
When I go about thinking through an idea I want to program, it’s like starting to write. It’s all about getting the first words on the page. Getting into the flow. Creating something out of nothing can be scary. You can feel the weight of an empty “rails new” project and not know where to begin. But any experienced programmer will tell you that starting with an untouched project is often more exhilarating than working on legacy code. You get to start from nothing. You get to shape the foundation.
If you’re like me, when the next person asks you why you learned to program, tell them that you did it because you like making things, and the Web allows you to build whatever you can think of out of nothing. Then smile and tell them “no,” that doesn’t mean you want to build their next Big Idea.