eddorre

The Git Parabale – My Take

Tom Preston-Werner, one of the founders of GitHub, recently posted an article titled The Git Parable.

His assertion is that most people teach the functions of Git incorrectly, or in his words, Most people try to teach Git by demonstrating a few dozen commands and then yelling “tadaaaaa.” I believe this method is flawed. Such a treatment may leave you with the ability to use Git to perform simple tasks, but the Git commands will still feel like magical incantations.

He offers an alternative solution, which happens to be the rest of his article — all 4,126 words of it. There is nothing wrong with his article, but using it to teach Git? No way. If anything, it should be the 4th step in teaching Git; definitely not the first.

There seems to be a fundamental misunderstanding about how information is consumed and retained (retained being the most important piece) by people. Let me explain.

Let’s say that you’re being taught how to do something. For the sake of the argument, you’ll want to choose something that’s out of your comfort zone. So if you’re a programmer that doesn’t know anything about knitting, you’d choose that. If you’re a chef that doesn’t know anything about programming, you’d choose that, etc.

Rank the following in how you like to learn about this new skill.

  • I want to read about it
  • I want to talk to someone about it
  • I want to see someone do it
  • I want to be hands on and do it

How did you do?

Most people retain information using the following method:

  • I want to see someone do it
  • I want to be hands on and do it
  • I want to talk to someone about it
  • I want to read about it

Notice where reading is. Notice where seeing is. This is one of the reasons that screencasts, cooking TV shows, and pair programming are so popular amongst neophytes. See and then do. Reading is usually reserved for reference; “I know how to do the basics of this skill, but I want to expand upon it.”

Of course, this is predicated on the person’s learning style. If you chose “reading first” and then “doing” then Tom’s article, The Git Parable, would be right up your alley but it’s been my experience that most people simply do not learn in this fashion. In a very non-scientific and informal poll of people in the audience at Todd Hudson’s talk on Design for Effective Knowledge Transfer at WebVisions people overwhelmingly chose “seeing”, “doing”, “talking” and finally “reading”.

Interestingly enough, people also like the ability to be able to “switch” into the different learning modes as quickly as possible. Anything that prevents that this “learning switching” is going to detract from the end goal of information retention and knowledge transfer. An example of this? Let’s say that I’m watching a 20 minute screencast on how to get started with jQuery. I may watch the first 5 minutes of it, then immediately switch to trying to do it and then when I get stuck, I might want to go back to watching the rest of the screencast or I might try asking a co-worker or a friend. This is where most online learning goes wrong. It doesn’t allow the user to experience knowledge transfer in the way that they need to. Therefore retention of information goes down.

Based off of this information, the way to teach Git is not by reading a 4000 page article first. In fact, you’re most likely going to lose people and discourage them from learning the material in the first place.


Comments

Add Your Comment