On The Mastery Of Teaching

TeachThey say that those who can – do, and those who can't – teach. This makes me sad for two reasons. Firstly, the general standard of teaching these days is abysmal. From pre-school all the way to university, it just doesn't seem like the people who teach are the best and brightest any more. Sure there are still occasionally some brilliant people doing the job, but overall the profession is not in a good place, or is this just an illusion? It's actually worse than that, especially at higher levels where people go into academia to do research (or whatever) and treat teaching as an annoying distraction they have to deal with, so that they can get back to their pet projects. And this I think is the real problem – at least at the higher education level. It's not that the people who teach are not smart enough; it's just that they approach the act of teaching in a half-arsed fashion. They have skills/knowledge of their subject matter, but have no teaching skills and don't really want to develop any. Of course, the students can only judge their teachers by how well they teach and so we end up with the current sad state of affairs (where just about everyone can relate to sayings like the one above) and this is the second reason why I am sad.

I've been reading Polya's "How To Solve It" and it got me thinking about what it takes to be a good teacher (and a good student, but I will leave that for another post). I've talked about mentoring and software apprenticeships before, but that was more of an on-the-job deal. What I'd like to do is focus purely on the skills you need to be a great teacher in the true sense of the word.

By the way If you haven't read "How To Solve It", I highly recommend you pick up a copy, not only will it help your math skills (infact it takes the number 2 spot on my list – which I am yet to finish writing :) – of books a programmer needs to revive his math skills), it will jazz up your general problem solving abilities and as developers, we can never have too much of that.

Being A Great Teacher

Many people are of the opinion that as long as you know the subject matter, you can teach it. Nothing could be further from the truth. Having programming knowledge doesn't make you a good developer and this goes double for teaching. I see a good teacher as an extremely well-rounded individual, knowledgeable, passionate, a showman with excellent interpersonal and communication skills. Consider that the job is to impart knowledge and teach the student how to solve problems. Not solve the problem FOR the student, but equip them with the ability to solve the problems themselves. This often requires extreme patience and the ability to put yourself in the student's shoes (i.e. empathy) no matter how many times you have been over the same material. Just think about how you would explain a subject that you know really well, to a person who knows nothing about it (like explaining software to a business person, for example). There is a reason why every company wants developers who can talk business language, because most people find it really hard to explain their professional domain in layman's terms. For a teacher, this is a core part of their job. So, good people skills to be able to understand the student and good communication skills to convey the material, but why showmanship?

A teacher is basically a public speaker, it is just that they mostly speak in the same place and usually do it far more often than your regular speaker. It doesn't matter who your audience is, whenever you speak in front of people it is your job to keep them entertained and take them on a journey. They should be excited about what you have to say, a good speaker can do this with the most boring of subjects. But a teacher's job is even harder than that because you want to keep the students interested enough so that they are eager to come back week after week. You think this is a bit overkill just to read a few lectures? Well, we are talking about being a good teacher not a mediocre one, there are plenty of those around, I should know I've slept through most of their lectures and that's when I was actually there in the first place, instead of at the pub :).


What about passion and knowledge? I do believe the knowledge part is obvious, hard to teach something well if you have no clue, but passion is also paramount. You can never really convey to a student how important or interesting a subject is, when you clearly would rather be doing something else yourself. I think we've all had the experience of listening to a boring lecturer droning on and on, monotonously. Did it energise you into further study? Quite the opposite probably, it made you want to do something else, just so you don't accidentally turn out like that guy. Contrast that with a guy who seemed really into what he was saying, he may even have been saying it badly and you didn't really get it, but at least it sounded like it SHOULD be interesting, maybe even worth looking into further.

So, we have knowledge, professional skill, passion, communication skills etc. In short all the same skills that a good developer needs to succeed. What this tells me is that a good teacher CAN do, but they CHOOSE to teach. I really don't understand managers who don't try and build their management skills. I also don't understand programmers who don't try to build their programming skills and in similar vein, I don't understand teachers who don't try to build their teaching skills. You aren't born with elite teaching ability, just like every skill you need to practice and develop. Repeatedly doing something badly, just to get it over with, is not practice.

I guess my point is this. If you're ever in a situation where you have to teach others what you know, approach it like you would approach learning any new skill (like a new programming language). Get the basics down, practice, draw on your existing skills and knowledge, practice some more, prepare, research and follow that with more practice. Don't give your students a reason to think that you couldn't cut it in the "real world".

Images by foxypar4 and cindy47452

  • Great post! We have many of the same feelings on the issues of formal education, especially at the higher levels. I was a student at Indiana University Informatics/Computer Science (may not be MIT but the Info department is one of the highest rated nation-wide, not that means much either) and was constantly. Perhaps it was because I learned most of what I know by simply being thrown into the fire (a family friend gave me an apprenticeship at his software firm in high school and I never looked back), but courses there rarely fulfilled my needs and left me with many more questions than answers.

    I really believe a true test of your knowledge in a subject is how well you can teach it. In that respect I have found tutoring others to be one of the best tools for strengthening my skills.

    • Hi Jordan,

      Teaching is definitely the best way to learn something really well, but it should be done in your personal time, it is important to remember that as a teacher/tutor you’re not there to improve your own knowledge, but rather help your students improve theirs.

  • Great article Alan.

    I recently finished a semester teaching as an Adjunct Professor (http://simplechatter.com/2010/04/reflections-of-an-adjunct-professor/) and the amount of time devoted to preparing for a class astounded me.

    I went into the class thinking “I know this subject in and out, how hard can it be?” There is a serious art of communicating to others in a way that they are able to learn that humbled me.

    • Hi Zach,

      It is pretty amazing isn’t it? I did a lot of tutoring myself when I was at university (not personal tutoring, but classes of students for specific subjects) and it really amazed me how much time you need to devote to preparation if you want people to get the subject.

      And despite how hard you try there still people who don’t get it, you end up thinking “how can you possibly explain it more simply than you already have” and have to rethink your strategy for next time. It is especially hard since you have to fit into a time frame. Once you start thinking about it you realize layers there are when it come to teaching well.

  • My thoughts exactly. I couldn’t agree more with you on this topic.

    I have been teaching some technical subjects to college students for the last couple of years, and I go into the assignment with the same attitude as you mention in your article. The feedback that I (and the other college staff) have gathered so far from the students has been overwhelming. I documented my first experience on my blog –

    I’ve always believed that in teaching, the art of imparting knowledge or making learning seem fun is far more important than possessing the knowledge. Cultivating the ‘attitude’ in the students is necessary, and it does take a lot of practice, good communication skills and ‘showmanship’ to reach that goal. Of course it helps if your understanding of the subject is thorough but the fact is that you can literally learn something a week before you are scheduled to take its lectures and still succeed if you know how to convey the information in a proper way.

    The point is to never forget how it felt to be a student, sitting in front of a total stranger, and as you said we’ve all been through that stage. What’s interesting is that the basic logic about good teaching remains same wherever you lecture – whether to school kids in a classroom or corporates in a boardroom!

    Scott Berkun’s book ‘Confessions of a Public Speaker’ helped me a lot in my various teaching jobs.
    Amazon Link –

    Do check it out if possible.

    • I am actually reading ‘Confessions of a Public Speaker’ right now :).

  • This is entirely false:
    “it is important to remember that as a teacher/tutor you’re not there to improve your own knowledge, but rather help your students improve theirs.”

    Teaching is a two-way street. You learn by teaching at the same time that you help someone else improve their own knowledge and skill.

    You’re there for yourself as well as for your student.

    • Hi Rakesh,

      Not true, you’re there completely for the student or you should be. If you happen to improve your knowledge as a result that’s a nice bonus, but it is not a goal or at least shouldn’t be. Of course almost always, you will learn and understand more as a result of teaching, but don’t make that your primary focus.

  • Sam

    Sorry about reviving old topics, but there’s so much great material on your blog and I feel I have to comment on some of them.

    I think it is great that you point out that people doing higher level education probably can do, and usually have the technical skills for doing it themselves. I can offer one explanation of why their teaching becomes half-arsed, despite them having the technical skills: if you are a researcher and plan to remain a researcher you need 1) tenure; 2) funding. No funding means no research, no research means no tenure, and no tenure means you’re out of a job just in time for your fortieth birthday. Teaching does not really come into the equation, except as something that prevents you from doing research.

    The public speaking skills are tremendously important for researchers in other ways than teaching though, so it is really strange that so many researchers are so bad at presenting things, even to their peers! The good news is that presentations are changing, and the new researchers have more learning material available about presentation skills than their supervisors did 30-40 years ago. You’ve already mentioned the Berkun book, and there’s also Garr Reynolds and Nancy Duarte doing great things to convey their experience.

    On top of all this there’s the curse of knowledge, so you don’t realize what is difficult and not for a newcomer. Finding someone who is closer to their level, but still understand the concept they are struggling with, might be a way to understand exactly what part is difficult for the student. All this takes time though, which again is in severe shortage for people in general, and also researchers.