Why I Code

A former colleague, Tania Fuentez, has posted an article on her journalism site that looks at the advantages of young people acquiring technology skills. I was asked if I could provide some thoughts for the article on the importance of learning these skills. I have cleaned them up a bit and reposted them here.


Teaching myself to program computers has been the most rewarding experience of my adult life because it taught me logic and creativity skills that I did not learn from the standard math, science, art, and literacy courses I took in school.

At it’s heart, computer programming is not about any particular language, which operating system you use, or whether you can build a web page versus a mobile application. This type of knowledge is ephemeral and worthless. The most important thing about learning to program is that it teaches skills for mental exploration and problem solving in an interactive and engaging way. With a little bit of knowledge you can start building something that reacts to your input—a game, a web site, etc., and as you work at it you enter a positive cycle of feedback that can be as addictive as playing with certain ‘creativity toys,’ such as LEGO bricks.

If playing with LEGO bricks is about solving problems in a tactile way, then computer programming is the intellectual equivalent. The process of figuring out how to achieve a goal in either space involves thinking within constraints—pieces only fit together a certain way, of managing finite resources—you only have a certain number of bricks, and of putting together things in a specific sequence of steps—you must build a car’s chassis before adding the wheels.

The ultimate goal of learning programming skills is not to learn how to be a computer technician—you could, if you wanted to—but to learn a set of thinking skills that are the abstract underpinning of many professional fields, and to learn them in a way that feels less like Study & Hard Work, but that instead feels more like Play. I think this is key to inspiring people to pursue intellectual challenges that would otherwise turn them off.

Thanks for reading! Feel free to send me your thoughts or leave a comment below.


Got something to say? Feel free, I want to hear from you! Leave a Comment

  1. Bob Keeney says:

    Excellent post! I’ve been coaching First Lego League (FLL) robotics for 3 years and their goal is to get kids excited about science and technology. The Lego robot is the hook, and for many kids it’s the ‘fun’ part. However, I think that the research project and presentation are the ‘real’ learning tools

    What the kids (and sadly many FLL coaches) don’t realize is that the research project as well as the robot design and programming teaches critical thinking. Most of the kids I’ve coached will never become programmers or technicians of any sort, but they certainly know how to look at a ‘problem’ and think of ways to solve it.

  2. twobob says:

    Deep admiration for your works.

    An interesting portfolio of creations and an uplifting attitude to code.


Comments are now closed for this article.