You might hear someone with experience in the matter that teaching is one of the most enjoyable jobs anyone can do. It’s true.

Last year, some days short of the end of summer, I was being offered the possibility of teaching. The proposal came from Ironhack, a company that provides intensive programming courses for developers. They were looking for someone able to either teach Ruby or Ruby on Rails fundamentals, two topics I had been hands-on, full-time for almost four years.

Of course, this came as an amazing surprise to me! Apart from it being an honor, I had been flirting with teaching for some time, as I had trained several junior developers while being CTO at itnig and Quipu, but I never did that as my main activity. After thinking about it for a few days, I gladly accepted, then repeated last January, and will repeat again at the end of this month.

I have to admit I was a bit scared about being up to par. I was pretty confident about the technical and knowledge part, but I never really acted as such, as a real teacher. My doubts relied on my ability to successfully transmit concepts to the students, and help them towards the course goals. Particularly in the Ironhack case, the students were really forward, self-sufficient and had the abilities to learn programming but, contrary to what I was used to, they had no programming formation before.

This was one of the biggest challenges, and of the most amazing things I experienced. It meant they had no preconception on what they were going to learn before effectively doing it. No bad habits, no practices that could be improved. A blank sheet. For me, it turned into having to rethink and really know what I was talking about; otherwise, my teaching would have been void and quite futile.

Albert Einstein once said:

You do not really understand something unless you can explain it to your grandmother.

While I don’t really know if he could have been able to explain the Theory of Relativity to his grandmother, had she been alive at the moment, it is a good aproximation to the truth. You can have some knowledge, you can learn something and be pretty good at it, but the ultimate aim in order to master something is being able to teach it.

And when you do it, it is pretty awesome. Watching a student perform a task based on a knowledge you taught her is one of the greatest experiences when you do this job. The ability (and opportunity) to share your experience, to talk about your passion so it is of use from others. To make it not only worth it for you and your professional life, but also to others that can take what you did and improve it.

It is a unique feeling, a gift, and it humbles you beyond anything you could imagine.