Friday 26 May 2017

An Instructional Experience

Knowledge transfer is an oft-overlooked skill of developers. We're often so caught up in learning that we forget to engage in the process from the other perspective - that of the teacher. Doing so can yield dividends, for in the process of imparting concepts, one's own understanding often increases as well.

Also, teaching someone to write code is basically communication, and the importance of that in any developer cannot be overstated.

Before becoming a web developer; indeed, before even starting life as a tech professional, as a teen I was giving tuition to kids to offset the costs of schoolbooks. This was a purely one-on-one gig, and it would be many years before I actually conducted a class in an actual classroom.

The year was 2001, and I had just graduated with a Bachelor's Degree in Information Technology. The economy was facing a downturn and jobs were not forthcoming. I made ends meet by taking on freelance assignments and teaching weekend and evening classes.

Weekend classes were Computer Literacy, and my youthful patience was severely and repeatedly tested teaching senior citizens how to use the Internet. If it wasn't for the fact that I was starving, I would have quit after the fifth geriatric used his mouse upside down and wondered why it wasn't working.

For evening classes, I taught SQL, a subject in which I had done reasonably well in school. This didn't go well. I was too fresh-faced; too amateurish. I'd yet to actually accumulate any professional experience, and it showed. My late grandmother (bless her) encouraged me to keep at it and assured me that looking young wasn't a crime. Little did she know how much I detested the act of imparting skills I had yet to earn.

Grandma's little babyface

Fast forward ten years later, I was a full-fledged tech professional with six years of desktop support and four years of web development under my belt. My then-boss sent me to a client to deliver a course in MVC. That was the first time I had heard of MVC. I spent the entire weekend on a crash course learning the subject. You bet your ass I was nervous... but to my surprise, not only did the tech professionals in the classroom show me an unprecedented amount of respect, they actually thought I knew my shit. One of them even privately approached me with an eye for poaching an experienced professional with MVC skills!

What the actual fuck?!

More substantial teaching experience

Another year later, an ex-colleague introduced me a pro bono gig at the Muscular Dystrophy Association of Singapore, teaching PHP to members. For those not in the know, Muscular Dystrophy is a degenerative disease that causes the victim's limbs and organs to be underdeveloped. My students were wheelchair-bound and extremely slow typists. However, up there, they were perfectly healthy.

Before I continue, I want to stress that this wasn't an altruistic act of nobility on my part, nor do I have some bombastic virtue-signalling reason behind doing this gig. My motivations were completely selfish. You see, I am a web development enthusiast. That's how I've been able to stay in the game this long. And like most enthusiasts, I'm perfectly happy to share with people who are interested. And nothing spelled interest like a bunch of guys in wheelchairs painstakingly making their way down to MDAS every week, rain or shine, to learn the stuff. If someone could display that much commitment, I was more than willing to take half a day off every week to teach them. The fact that they were guys in wheelchairs did not matter. They could have been rich privileged kids for all I cared.

Also, as mentioned before, teaching hones the skills in the subject you are teaching. And as a tech professional, I was all for it.

The weeks went by as I brought them through the concepts of Client-server Architecture, variables, operators, conditionals and iterators. The going was slow. Real slow. Having underdeveloped limbs, they simply could not type as fast as the average programmer. Sometimes even using special characters like curly braces and quotation marks was a chore. It was from this, that I learned. I saw how they got around these limitations with various devices such as special keyboards, styluses and touch-screens. One of them even drove. I had the good fortune to help her move some stuff to her car, and witnessed the way she hauled herself into the driver's seat and tucked her wheelchair into the back all by herself. I saw the way the brake and accelerator were rigged just below the steering wheel to account for her abnormally short legs. Before this, in all my ignorance, I'd never even heard of a disability vehicle. My eyes were being truly opened.

The icing on the cake came around the last few weeks of the course, while I was taking them through the concept of arrays. Every time I made a mistake in the code, they would call me out on it. Not just syntax errors, but logic errors. After every lesson, I had been providing them links to follow for further reading and revision. And they had done their reading and revision. Instead of me pointing out their errors, these little devils were now pointing out mine. It's really hard to describe the overwhelming pride I felt that day.

Epilogue

My primary motive had been to share. I won't claim that I taught them extremely well, but somewhere along the way, I had helped fan the flame of my enthusiasm and it was starting to spread. And sometimes, transfer of enthusiasm is more valuable than the transfer of knowledge.

Soon, I changed jobs and my new employer no longer allowed me to spend my leave in regular half-days. At that point, I was no longer able to schedule classes. However, since then, I've started this blog and put up web tutorials. In some form or other, I want to continue sharing.

Now that was a really classy experience!
T___T

No comments:

Post a Comment