When I first wanted to learn to code, I went to a day-long event that aimed at teaching beginners Ruby on Rails. At the time, I didn’t know that it took A LOT LONGER than one day to learn to code. I guess I wanted to get through the learning part as fast as possible so I could go ahead and start making stuff. The one day Rails event perfectly catered to my desire to skip the learning and make stuff. After all, the goal of the workshop was to get everyone there to make a blog using Rails without any prior programming experience.
The workshop was run by developers who were giving back to the community, which I really appreciated. However, they were not teachers. Teaching is a skill. And just like with any skill, there are good teachers and there are bad ones.
The workshop was taught exactly like this. We first learned how to add x and y in the terminal and jumped straight into building a website by following a set of instructions.
I have no problems following instructions, so at the end of the workshop, I had a blog built. But when I went home that night, I was completely discouraged from learning to program. I just didn’t know where to go from where I left off in the workshop, and I didn’t understand how to build a blog (I just knew how to build it by following a specific set of instructions).
That experience of what I now recognize as bad teaching made me feel like I was too stupid to learn to program. It felt horrible, and I didn’t touch code until a few months later when I read a blog post suggesting I try out the Stanford CS106A course. That course changed my life.
The Stanford CS106A instructor, Mehran Sahami, is one of the best teachers I’ve ever had (even though I’ve never met him!). I was hooked on the first lecture. He explained concepts in a way that I could easily understand, and the homework was a perfect mix of building stuff while understanding the newly covered concepts. In other words, he made me feel smart instead of stupid. After a class with Mehran Sahami, I had no problem continuing my CS learning and have already built a few small apps all on my own. And not only that, but I LOVE programming. It’s what I live for now.
The point is that one bad teacher could have potentially prevented me from ever picking up programming again. It was only by luck that I stumbled on a blog post that pointed me to a really good teacher that I was willing to try out. If you don’t understand something, don’t blame yourself, you’re not stupid, they’re just a bad teacher.