Why I Am Learning Programming

Computer with Programming CodeI have not written many articles in the past six months. Part of that has been a busyness at work and family. Part of that is that I don’t value blogging as highly as I once did. I want to right fewer, better articles. I hope to write my first full-length book in the next two years.

And though I intend to write more articles over the next year than I did last year, there is another reason I have not written as much during the last few months: I have been teaching myself programming.

I am content where I am. I love my job. My family loves where we live and what I do. Though I had some twists and turns in my education, I don’t regret any of them. I am happy I have two degrees in philosophy: few things in life have brought me intellectual satisfaction like philosophy; nothing has trained my critical thinking abilities like philosophy.

Nonetheless, I do have one regret about my undergraduate. I wish I would have double-majored in philosophy and computer science.

But, luckily, computer programming is one of the best fields for autodidacts. So early last year, I decided that I should just teach myself computer programming. I have started with Python. I intend to focus on Python for the next year or two and use it to learn more about the language. Before I explain why I am learning computer programming, let me briefly explain how I have and am learning it:

  1. Worked through John Zelle’s Python Programming: An Introduction to Computer Programming.
  2. Working through FreeCodeCamp.com to learn front-end work, particularly jQuery, JSON, Angular, Javascript, and advanced work with CSS.
  3. Working through Professional JavaScript for Web Developer. (This and the last are being done at the advice of Derek Sivers.)
  4. Using Python, Flask, MySQL, a little JavaScript, and (of course) HTML and CSS to create http://www.jimbrink.org.

So why am I doing this? With a full-time ministry job, three young kids, other projects, and currently in graduate school part-time getting an M.Div., why am I doing this?

Here are a few reasons:

  • I am a nerd. Honestly, I never need any motivation to learn something. The idea of learning to program — particularly since learning to program gives me even more control of my electronic devices — is exciting to me.
  • An experiment in rapid learning. After I left college, I became interested in writers like (Scott Young)[http://www.scotthyoung.com] and (Cal Newport)[http://calnewport.com/blog], who right about efficient ways to learn a subject. So I have enjoyed having a concrete subject to which I can apply some of the advice on rapid learnin.g
  • My son enjoys it. My (almost) seven-year-old son has been obsessed with technology his entire life. He is already saying that he is going to teach college and be a computer programmer. I have already taught him a little Ruby. But since he enjoys it — and I enjoy it — it seems a good idea to learn a little computer programming.
  • Adding another skill. I don’t know enough yet to speak authoritatively about this, but it seems that computer programming would be a helpful skill to have. I have been convinced by Scott Adams that one way of maximizing one’s impact — short of becoming the best at one skill, which I am not in danger of doing — is to be good at a lot of different skills. I do not immediately see how programming could help me increase my influence, but it’s another skill to add. This increases my flexibility and opportunities.
  • Analytical thinking. I have always enjoyed analytical, logical type thinking. I spend a lot of my days writing, reading, and meeting with people. So it is an oddly relaxing task to try to figure out how to solve a particular programming problem.

Should You Learn Programming?

I plan to write more posts this year, so even if you don’t care about my programming but only my theology or philosophy articles, you will still get those articles. But I wanted to write this article so you would know why I did not write much during the last six months. But I wrote it for another reason. Some of you might be interested in learning a little about programming. (After all, if you use computers often, there’s no reason not to learn a little about it.) And though I am sure there are better ways to begin learning than the path I have taken, you might find what I have done useful.

(Photo by hackNY)

Join other dedicated readers of Thinking and Believing and subscribe to the email list. You'll receive every new post in your inbox, so you never have to worry about missing a post. Click here to subscribe.