Learning to program isn’t the hard part

Posted: February 10th, 2012 | Author: | Filed under: Code, Random Musings, Web | 8 Comments »

Via Murat on twitter, I saw this article today about Kaitlyn Trigger, the girlfriend of Instagram co-founder Mike Krieger. She wanted to understand more about his world and so she set herself a challenge to learn to code. With some friends she came up with this super cute idea – Lovestagram

She spent weekends and countless hours learning Python and how to make the idea a reality. She is obviously a smart lady and huge props to her for not giving up. But the thing (for me) that was the really *really* telling and interesting part, was this quote.

“Learning to program isn’t the hard part. The biggest challenge is figuring out how all the moving parts of a web application fit together. There’s no book for that.”

This is so spot on. The coding of the frontend is one matter. The backend is another. Linking the APIs together. Then it’s buying a domain. Setting up the domain. Ftping the files in. Testing it out across all your web browsers and phones. Making sure all that stuff works. This is what making things for yourself and putting them live in the real world teaches you. It opens questions that you hopefully can answer but trying it out. As Aristotle put it -

For the things we have to learn before we can do, we learn by doing.

It also highlights the slight problem I have with ‘learning to code’ initiatives like Codecademy. Don’t get me wrong in any way. Getting people to learn to code is awesome. But having been through a heck of alot of the exercises on that site, I’m just not sure it is really that useful. On one hand the exercises are not really task based but syntax based. E.g. learning the syntax of a ‘for’ loop.

The other issue for me is that they teach you javascript – the client side scripting language created for web, yet they teach you no practical web based tasks.

A better approach in my opinion is to set clear fun tasks and you learn to code by proxy. So to try to answer this question, I’m going to commit myself to developing a short set of tutorials that will try and teach some practical code by recreating art. Because I believe this is a really easy metaphor to understand, and people respond really well to visual outputs of coding.

I’ve already sketched out a few tutorial ideas so hopefully these will start rolling out in a few weeks.

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.


  • Anonymous

    Excellent. I’m one of the non-coders going through the Codecademy lessons and while I really like them for at least taking me through the paces, I do feel the lack of task-based work.

    • Anonymous

      Nice one A. Did you have any programming experience before?

  • Anonymous

    I’ve been trying to learn jQuery with the Head First book, but I find the exercises too long and discursive. Succint and one major thing to remember from each exercise would be better IMHO. I’ve heard good things about the JavaScript Enlightenment books – less chummy but possibly a little more memorable? So looking forward to your tutorials :)

    • Anonymous

      This is great info. Like you said, I’m going to try to break down an exercise into learning one major concept. This will be a little tricky as there is so much to learn first.

      Can I ask why you’ve jumped into learning jQuery? Have you got something you need to do or are you just trying to expand your knowledge?

      • Anonymous

        I’m a web designer & front end developer – javascript really is pretty mandatory for contract work, hence learning jquery. 

        Good luck with the tutorials

  • Lori Miller

    I took a Ruby class last month as it was touted to be the “programming language for non programmers”  I’ve always been that intermediary between end users and programmers and thought this would help me from both sides. The moving parts factor is definitely huge but understanding format was a building block that was important. Still not sure that programming is something I’d like to get involved in further though because what it expects you to ‘just know’ seems awfully presumptive and overwhelming.

  • http://experiential.philmang.com philmang

    Couldn’t agree more. When I was coding all the time I found that I never fully processed code theories until I had to use them for something. So much so that later in my coding life (and today when I find myself coding something for myself or a prototype) I generally researched while working.
    I guess I have the advantage of architecture and the like is something I think about even on projects I’m not coding, but the model of learning and building to fit the idea is definitely still the key part.

  • Pingback: “The coding of the frontend is one matter. The backend is another. Linking the APIs together. Then…” « Ent!