I'm back from holidays today, and trying to settle into the ramp-up phase of the winter 2009 semester.  It's going to be a lot of fun, as I take Mozilla students from 0.4 to 1.0 with their projects, Fardad and Jordan introduce courses on and Eclipse WTP, Chris begins the new Software Build and Release course, and LUX continues.  With a second cup of coffee for the day in my hand, I'm taking a moment to reflect on a talk I need to give tomorrow, the goal of which is to energize and motivate the new open source students.

So back to my holidays for a minute--they only ended yesterday, so allow me some latitude.  One of the things I did over the break was to finally read Gladwell's newest book, Outliers.  I've discussed it previously, based on excerpts I'd read.  The rest of the book was equally, if not more enjoyable.  I'd go so far as to say it's one of the best books I've read for a while, certainly the best I've read in 2009 :).  If I hadn't already lent it to Luke, I'd be tempted to talk about a bunch of things in it, but that will have to wait.  Instead, I want to tell you a story that the book brought back to mind, and in so doing, share something with these new students.

My education began the first day of university at 8:00 am.  That was the moment that I found myself in P. Kingston's GREEK 1Z06 - BEGINNER'S INTENSIVE GREEK.  On paper I was an English Lit major, also hoping to do Computer Science.  But I needed a second language, and there was Classical Greek.

The course was unlike anything I'd taken before, and almost totally different from anything else at the university.  For starters, it was held 5 days a week at 8:00 am.  That's easily the least attractive schedule one can have, but I agreed to do it.  On the first day I remember walking into the room and seeing 30-40 others sitting in the class.  It was a startling experience, though, since I was easily the youngest person in the room.  As I would later find out, many of the students were Ph.D. or D.Min students, others were philosophy students in 4th year, or Classics students in second year.  There was no logic to the group: it was simply "those who wanted to learn Classical Greek," which turns out to be a fairly small and eclectic demographic.

By the second day we'd learned the alphabet (alpha-beta!) and were beginning words.  By the end of the first week we had some basic declensions and a couple of word lists to memorize.  I remember early on having Kingston tell us that we weren't allowed to write anything during class: "You don't learn that way, you need to be here."  This baffled me.

The weeks went on and the amount of homework grew and grew until it was by far my heaviest course, requiring daily work, and usually hours of daily work.  Skipping ahead 4 years I can tell you that it never got any lighter.  I graduated with a minor in Greek Philology, and can remember spending 6-8 hours translating readings for 1 hour classes.  There was never a time in university that I wasn't taking a Greek reading course (Homer, Herodotus, Plato, Aristotle, New Testament, Plutarch, etc.), and I did it at least twice during the summer so I could fit it in with my English + Comp Sci courses.

The work was grueling, relentless, and offered brief glimpses of understanding so splendid you wondered why you had cursed it previously.  I can remember being reduced to tears on the phone with my then-girlfriend-now wife.  I was preparing for a third year reading course final exam.  The exams were always the same: you read (i.e., translate) as much of an author as you can during the term, and the exam is you being expected to translate at sight a few pages taken at random from the book.  To prep for that exam, you basically have to re-translate the entire book, because you know that the one page you don't prepare is the one that he'll choose.

I not only learned to read Classical Greek, but I also learned a number of things that have profoundly affected my life and teaching.  As I was reading Gladwell, I encountered some of them, and as I prepare this lecture I'm thinking of others.  For the benefit of myself and my students, I want to lay them out:

  1. Learning to do something like Classical Greek takes a tremendous amount of time and effort.  I spent at least 2-4 hours a day on Greek that first year, and a lot more as the years progressed.  I'm convinced that learning to work on something like Mozilla/Eclipse/ is no different, based on my experience.
  2. You have to be willing to not know what you're doing for a long, long time, and not let this affect your motivation or willingness to continue.  I can't tell you how far alpha-beta is from The Poetics.  It simply takes a tremendous amount of work to get from one to the other...10,000 hours perhaps.  I rememer taking an entire night to translate a half page of Herodotus and feeling like I was pathetic.  It's no different for students who are suddenly asked to build multi-million line codebases on 3 platforms and write patches to bugs that involve code they can't hope to understand in full.
  3. "You can't learn with a pen in your hand."  This seems to go against so much educational theory until you realize that what it really means is that you can't look at class time as when you learn; rather, it is when you talk about what you've already learned on your own the night before.
  4. Being in a class of students consisting of first-years all the way to Ph.D.s was very humbling.  I was never the best student in the class, and this helped to push me.  I see many students comig into our big open source courses who are way behind others.  Interestingly enough, at the end of the course it is often the students who knew the least at the start who end-up doing the best, as they get shocked into working the hardest; and, since hard work is what gets you somewhere, they do amazing things.
  5. Reading in Greek taught me to slow down and really focus on small units.  I never got so I could sit down and just casually flip through an ancient text: it was always constant back and forth between the text, my lexicons, grammars, etc.  You have to learn to appreciate success no matter how small.  I've found large scale software development the same: you work in very small units of work despite the scale of the actual project.
  6. Similar to 5., you have to be willing to work at something for a long time and not give up because it's taking you "too long."  Gladwell has a great discussion late in the book about a woman learning to calculate the slope of a line and trying to determine the slope of a vertical.  She spends more than 20 minutes before she gets it, and that patience and determination is what gets her there vs. an innate ability to do math.  "Most students would have give up in 30 to 90 seconds."  It's not as important to be gifted as it is to be willing.
    My coffee is gone, and I should get back to work.  But I wanted to be sure to thank Gladwell for his book, Kingston for teaching me how to learn, and my students for being willing to follow me into the unknown.  I hope I'm able to offer the same sort of transformative experience Kingston gave me.  More than anything to do with software, that's my real goal.  Wish me luck.
Show Comments