Sitting in any tech classroom today for upgrade training as a student, I’m reminded of my experiences as a teacher. I remember the first time I had to teach a class and how all of my assumptions and expectations for my students were just …wrong. My initial approach was that I had some information to bring to them and all I had to do was lay out the steps to connect students to that new knowledge. I took the stance that they were there to see *me*, that I was the star of the show being the teacher and all with this great store of knowledge that they could tap into. I expected overall that my role was to challenge them and let them teach themselves.
Given that, telling a student to google for solutions was irresistable. Yet, this was probably one of the worst things I did to them. There’s all kinds of assumptions I made going into that situation about the importance of self-learning and driving my students to discovery. It wasn’t until I received formal training that I truly understood that while I was a subject matter expert, I wasn’t very good at teaching. Two very, very different things. Even more different than we think even after we *know* those are very different.
It’s true, I wanted to encourage my students to explore subjects on their own, to not rely on me to give them every answer. I still believe in that last part, but how I go about this will determine the quality of their education. As a teacher, it’s my responsibility to provide the foundation and framework for what my students learn. It’s the only way I can know that they’re learning the right lessons and the only way I can know what to teach them next. I had to learn to engage with student on their level so that I could meet them at the intersection of their ignorance and my expertise. I continue to use the internet as a major tool for encouraging students to push themselves and explore their curiousity, but I’m long past the days of expecting that to be sufficient and wary of the dangers my students run if they rely to heavily on their own amateur understandings of things. That last bit is where the role of the teacher emerges.
The Vast Web of Education
The internet age has empowered all of us to share our knowledge whether through tutorials, blogs, and even online courses. This is a beautiful thing, but it comes with it’s own risks. With everyone claiming themselves an expert, good information can get confused and even lost in the vastness of the web. Just google any topic you want to learn and attempt to compare the vast and varying tutorials you’ll find about it. They range from phenomenal to harmful.
Among coders of any stripe there’s also the idea of the self-taught programmer, the bootstrapper who doesn’t have a need for teachers or mentors. It’s the lone coder who sits in front of their computer, taking their education into their own hands by clever use of Google and various online resources.This completely self-reliant creature is a myth and even as we know that, we tend to set our expectations here anyway. There’s a misguided faith placed in this kind of activity, one which fosters a disdain for the role of the student and undervalues the role of the teacher. The field of tech isn’t a self-perpetuating thing. It’s propelled by our ability to continue to produce quality programmers at a rate that meets our demand for more programmers. In that context it’s not so difficult to see the extreme limits of self-education. Even coders need teachers.
When I decided to attend a coding camp last year, some of the things that lead me to do so were those shortcomings of self-education. It can be intimidating to switch careers, because it can feel like you’ve got so much knowledge to catch up on that you wind up feeling inadequate even when you’ve learned a lot. But all of us have been much better for having teachers in our lives and we wouldn’t be here without their guidance.
Imagine a parent telling an infant to potty train themselves by simply showing them a toilet, demonstrating it’s use and then expecting the baby to understand what just happened. It would take a considerably longer amount of time for that kid to learn how to use the bathroom. Again imagine a parent teaching their toddler a new word and then becoming frustrated when the kid can’t string together a coherent sentence on their own. Observational learning is important, but it’s not sufficient on it’s own. The student is not the teacher. Nothing new here, right? So why do we expect this of programmers?
Tech needs a pedagogy for education. It can be borrowed from the many institutions of learning around the world, shaped by the needs of our field and served to any curious mind that wants to become a professional. Computer Science has been taught in classrooms for decades, so we certainly have the know-how and some very good places to start. What seems to be missing is an interface, an API if you will, for connecting students with what they need to be quality engineers.
There’s good reason we use teachers in the classroom. Guided, careful instruction is irreplaceable. Just imagine where the human race would be if we relied on each individual to teach themselves.