Am I Too Old to Learn Programming?

No.

...

Wow, this was an easy blog post to write.

 

 

 

 

 

I suppose a longer answer would be more satisfying.

I have no idea how old you, the reader, are but that's irrelevant. No, you are not too old to learn programming. If you wonder if you are too old to become a professional software developer and are under the age of 50, the answer is still no. (And even above that age, the answer is merely "probably".)

But you might feel too old, or at least feel forever crippled because you didn't start coding the instant you developed fine motor skills. But I still assure you: You are not too old to learn programming.

"Software development, like professional sports, has a way of making thirty-year old men feel decrepit.

-Neal Stephenson, "Snow Crash"

I have a two stories to tell. The first involves me in high school. I was a nerdy teenager who wanted to become a "leet" computer hacker. I had rudimentary knowledge of Qbasic. I had started to make some GUI programs with my pirated copy of Visual Basic 4. I heard of 2600 magazine ("The Hacker Quarterly") and started going to the meetings on the first Friday of the month at the mall.

The first time I went, I felt like everyone was smarter and more knowledgeable than I was (and they were). I resolved to hit the books and study continuously so that for the next month's meeting, I wouldn't feel like such a noob.

This feeling did not go away by the next month's 2600 meeting.

This feeling did not go away for the next several dozen 2600 meetings.

Half the days I wake up, I still feel shockingly unprepared and ignorant about the skills that I am paid a salary for. That feeling is perfectly normal. Everyone in the universe has that.

Computing is a field that is effectively infinite. It is easy to despair that you will never reach the horizon no matter how long you travel but realize that this feeling like you're a clueless idiot, to a certain extent, is O-K. And don't forget about the many miles you can accomplish.

 

The second story is about how I first learned programming. I was one of those people who started learning programming in the third grade. My friend had found Fred D'Ignazio's book, "Invent Your Own Computer Games" at the school library, and this was the book that taught me programming in BASIC by making small games. I was already addicted to Nintendo, and immediately took a liking to programming and began to make a few of my own games.

Here's the thing though. Most of the games I made were just slight variations of games that I had already seen in D'Ignazio's book. And I never was able to wrap my head around the Tic Tac Toe AI he presented in that book. My programming aptitude for the next several years didn't really improve all that much. It was a fun hobby and maybe it did give me a slight edge, but looking back on it now I can't help but think, "You've been programming since you were 9? So what? All your programs back then probably sucked."

Mine sure did. The reason I wrote "Invent Your Own Computer Games with Python" was because there were so many different advanced concepts I would have been fully capable of learning, but I just didn't have access to approachable resources. I didn't even know what to look for. At this point though, the amount of programming knowledge I gained between the ages of 9 and 18 could be obtained by anyone with an internet connection who committed to study a couple hours a day for three or four months. Or even shorter if you find programming to be fun, because it's easy to kill a dozen hours coding on a weekend.

Those years of "programming since I was 9" didn't really matter that much in the long run. What difference it did have was it showed me that programming wasn't an impossible skill to acquire.

The reasons I market "Invent with Python" as a book for kids is because 1) kids, in fact, can learn programming and 2) so adults will think its possible for them to learn. There's a large mystique around software development that repels a lot of people who don't think they're qualified since they aren't silicon valley geniuses or because they say "oh, I'm not really good at math". The largest hurdle to programming that I've encountered in people isn't intellectual so much as psychological.

Learning to code is much like learning to play a musical instrument. Yes, it does take hours and hours of concerted practice. But even if you don't do it professionally, it's still fun and enriching. It helps to be Mozart and start at the age of five with a pushy composer father, but it is far from necessary. By the time you reach my level of experience and knowledge, you will realize how silly the "am I too old?" question is.

No, you are not too old to learn programming.

14 comments.

  1. I actually just found this website after doing a search for ‘recursive fill’ in Python and finding your article on the subject, which was outstanding by the way. I wanted to thank you for this post though. I’m 33yo and back in school for the second time. I decided that I wanted a new challenge and career, and since I have a decent aptitude for technical subjects and an obsession for all things computerized, I figured what better than a degree in computer science. Unfortunately though, I’ve been feeling especially discouraged lately as it’s been a real struggle for me to keep up in class and with these 18yo kids who probably already have a decade of experience under their belts. It’s certainly not easy, and overwhelming would be an understatement at times, but I really do enjoy muddling my way through these trivial little programs that we code for class. Anyways, I just wanted to say that I appreciate your encouragement as it’s very easy to get down on myself when I’m struggling.

    Cheers, Jason

  2. Hello!
    I’m learning python at Coursera’s “An Introduction to Interactive Programming in Python”, and while searching for python and game development I came across your books. Anyway..
    I just want to ask if you are planing to make a third book about 3D games in the future. Are you?

    Reply from Al: Hey Tessiof, after the cryptography book I’m currently working on, I plan on doing a book for Java or Scratch, and perhaps making a MMO 2D Zelda-clone. I don’t have any plans to do 3D. I have played around with Ogre, which seems to be pretty good for doing 3D with Python. http://www.ogre3d.org/tikiwiki/PyOgre

  3. Thanks a lot! I will have a look at Ogre3d.
    And let me say that a MMO 2D Zelda-clone sounds awesome!

  4. I am 57 years old and learning Python to finally implement some programming ideas that have been hanging in my head for years. I was curious if you might try writing a book on Python and the 3d graphics program Blender (which I am learning, as well).

  5. Hi, Al.

    47-yr-old here. Just ordered “Invent Your Own” from amazon & printed the first 50 pp from the pdf file to get a headstart.

    Thanks for your efforts! I will keep you posted on my progress.

  6. 43 year old. Inspiring comments make me start again.

  7. Nice article. I took up Programming at the age of 41 (last year) just because I wanted to learn. I’ve learned several languages, although I’m not an expert in any of them. I consider Python my favorite, and also the one I’m the best at. Your book helped me tremendously learning Python, so I thank you!

    I’d love to see you do a book (Python) that focuses on small programs/projects that do a little something useful. I can’t think of any examples, and that’s exactly why I want you to write it, lol! Say a little program that writes data to files, for instance. Just something simple and slightly useful, written in Python. Games are great, I love ‘em, but I’m not interested in making them. . .Thanks again for the help and the book!

  8. Nice. I fully support anything that can be done to crush the notion that learning requires anything other than effort. Love your blog. Such a great matter of fact, supportive site. I keep finding links to it all over the place so that has to be good.

  9. 40 years old here. I originally began looking into Python to build tools to help me with my work. I found the traditional learning path/process VERY dry and had a difficult time absorbing the material. Your books, tutorials, code examples and blog have been an inspiration. I’ve moved beyond string manipulation and utilities for work and into more enjoyable subjects. In addition, my son is a CS student in college and we’ve found another topic to bond over. I can’t thank you enough, your efforts have helped me professionally and personally.

    With respect,

    Chuck

  10. Really good post!
    I’m 20 years old and I really felt like being too old to learn programming.

  11. Hi Al,

    I’m a recovering 17 year-old. Calendrically speaking, I’m 54! My body tells me age is not just an attitude, but my mind says otherwise. I appreciate your efforts. It’s really fun, and that’s important for learning anything.

    Thanks, Rob.

  12. Dude, I’m 29 and I am starting to learn..I can’t find words to thank you for this blog. Thank you!

    GOD bless you!

  13. I’m 48, and took a Pascal classes ages ago as a (liberal arts) undergraduate. I’ve been thinking about making some games with Python, but was worried that I was just too old… So, Thank You! for your blog :-))

  14. I’m too old to get a job as a programmer, so I thought there was no point in learning programming. I’m 56, female, and a bit math phobic. I’ve been interested in programming since before I knew what it actually was. I’ve never gotten past anything but the most rudimentary equations in beginning algebra despite remedial college courses, but when I learned that I could still learn to write code despite my limited algebra, I decided to try Python. I’m fully aware that a 56 year old woman cannot break into a young, male-dominated field. There may be one or two very talented exceptions to this rule, but this would be rare. I’ve decided to learn Python for my own benefit. I’ve been taking a free Udacity course online for programming and so far, I haven’t reached any math stumbling blocks.

Post a comment.