This is the last week I will be teaching at bloc.io. It’s been over 3 years since I’ve been at Bloc and it feels like the end of an era. I’ve learnt a lot since being here, mainly about myself and how to be a better teacher. I’ve taught 50 students since I’ve been at Bloc, many of which have gone off to be programmers all over the world. Knowing that I’ve made a different in someone’s life by teaching them a skill they can make a living from is a great feeling. There are a few things that I’ve learnt since I’ve been here.
##Patience
Everyone learns at different speeds, and everyone learns differently. Being a teacher you have to be that medium between the material and the student. But to be that medium you need to figure out how to translate that material to your student. It can be frustrating to find the same wave length so it takes an incredible amount of patience to be a teacher. There are some students that you click with immediately, but there were many that really took me to my limits. In general I’ve become a more understanding and empathetic person that can see things from other people’s perspectives.
##Metaphor everything
As an ‘expert’ in your field, you have the advantage of being used to the jargon that we use as programmers. As a teacher you realise that most of this jargon is harmful to the learning process. Of course it is important to learn these terms as we use them everyday in our line of work, but when you are introducing people to a new skill it is often more beneficial to explain things as simply as possible and in a paradigm they underestand. One of my favourite metaphors for explaining the frontend langauges is a house metaphor. The HTML is the structure, the bricks, the foundations and the rooms. The CSS is the interior design, the wallpaper, the paint, the doors, the windows. And the Javascript is technological enhancements, your NFC door, the security system, the electric blinds. It’s not a perfect metaphor, but at least it gives an idea of what they are. From this metaphor you can assert, you don’t actually need Javascript to have a very simple webpage, and similar you don’t even need CSS if you just needed the bare minimum. Metaphors not only bring colour to your teaching, but also allow a more manageable approach to the learning process. You simply cannot teach effectively without these kinds of simplified visualisations.
##Frameworks fade, but fundamentals remain
Since I’ve been working at Bloc (winter 2014), we’re gone from Angular 1 to React in our syllabus. We’ve also had a Meteor course that hasn’t been released. However no matter what language or frameworks we teach, the fundamentals of a programmer still remain. We are problem solvers, we make things automated, we create modular applications that can be reused, we write DRY code. It doesn’t matter which language or framework you use to learn these principles. They will always be the fundamentals of software engineering. So as a teacher I’ve learnt to enforce the fundamentals above all else and keep reiterating them until it sticks. That’s not always gone down well with all my students, but the ones that have stuck with have thanked me after.
##I love teaching
Lastly, I’ve realised I love teaching and being a teacher. You learn a lot from teaching and from each and every student. Each person you meet teaches you something new. You take your subject manner from so many different angles as every person sees things differently. I’ve learnt to appreciate programming so much more now that I have seen that lightbulb moment dozens of times. I’ve taken my ability to teach over to all sectors of my life, from climbing, to explaining cryptocurrencies to newbies. Teaching is about being human. We teach as parents to our kids, as siblings, as friends. Appreciating the teaching process has empowered all of my relationships, not just professional. It has become a part of me