I live in Cambodia, a country where a Westerner can get a job teaching English within 24 hours without qualifications or experience. Most Westerners have a TEFL (Teaching English as a Foreign Language) certification before entering the country, just in case.
I don’t have any of that.
Teaching programming as a foreign language?
Isn’t it? Why else would developers talk about syntax and grammar when discussing their “language”? The rules that we use in constructing sentences now get applied to programming constructions. And like any language the earlier we start learning, the easier it is to “speak”.
I got a rather late start to programming – not because I’m lazy but simply because my parents are slightly techno-phobic and I was sans computer until I was 18. As such I don’t consider myself a natural programmer in just the same way as I struggle to speak French or Spanish (or pretty much any language except English). I’m less a digital native and more a digital immigrant.
Teaching programming in a foreign language?
This can make for some interesting classes.
But there are some benefits that I’ve found to teaching.
First, being a developer (and thus deeply anti-social), I’ve had to reach into my very limited social skills to interact multiple times per week with my students.
Second, I’ve found a new appreciation and drive to learn more about my own profession (that’s developing and not teaching).
And third is confidence. The confidence to talk about a subject. The confidence to correct mistakes, the confidence to beat “impostor syndrome” – at least for a few hours a week.
There are challenges to the teaching – apart from the language barrier. Creating lesson plans, for one. The hours of research and agonizing over what to teach in which order. I really like doing things properly – so much so that I sometimes overthink things. Analysis Paralysis indeed.
The other challenge is definitely a cultural barrier. Cambodian students see nothing wrong with taking phone calls in class (even during a test) or live streaming on social media.
And now it’s over.
And now my time as a teacher is over. I’ve spent three months with eight young adults attempting to help, cajole and push them. And honestly, I probably haven’t done a great job at it. I’m a firm believer in self-study and that may have contributed to my feelings on the matter of any good I may have done (or not).
It was difficult, frustrating and time-consuming. It was also surprising, exacting and lent me fresh eyes on programming.
But I probably won’t teach again.