The Best Way to Learn Programming
A lot of people may have different opinions about how best they learn.
In my opinion, however, the best way to learn is through teaching. How best can you commit a newly learnt concept or skill to memory than through sharing this knowledge over and over again with different people under diverse circumstances.
A couple of years ago, I was fresh out of university and about to be deployed for the mandatory NYSC programme in Nigeria. Computing in general really fascinated me. I wondered how people were able to create very useful tools with strange looking text(code). It was amazing. At this time, I had a degree but nothing relating to science or computing.
Surfing the internet one day, I googled “Top skills to Learn” and somewhere on the list was “Programming”. The author mentioned it would take a while to learn to code but anyone could learn if they put in the time required. “I could learn to code and build amazing stuff too”, this was good news, I was determined to get this done….and so the journey began. I downloaded a ton of books on different programming languages. There were recommendations online for beginners to start out with html and so i started with that. Soon after, I moved unto css, then to C# and then I got stuck, it seemed really difficult. I decided I was going to sign up at a computer institute where I would be given proper guidance and help. I did.
Some months into my service year, I discovered there were so many great tutorials available on youtube. I learnt about web, mobile and stand-alone applications and decided I would focus on web development.
After my service year, I got a job as an instructor at a computer institute. It was a great start that further registered the belief that I could make a career in I.T without a computing degree.
Now back to my point…The best way to learn is through teaching”
I told this story because I wanted to point out that I had tried learning through different means. I had read books, watched tutorial videos, and built stuff and yet, I still believe teaching is the best way to learn.
In the course of teaching, I had to make sure I knew as much as I could about the topic I was going to teach, and also know about other related topics students could possibly ask questions about.
I had to learn super fast, on the fly and yet relay the newly acquired knowledge like a professional.
I experienced a lot more difficulties and bugs which had to be fixed.
Imagine a scenario where you are to teach 4 students in a class. Two of them use windows OS, One uses a Mac, and the last uses Ubuntu. Its a NODE JS class and they are all trying to install the necessary packages to build a web application. If they aren’t using an web based IDE such as C9 (which a lot of nigerians generally avoid because of accruing internet costs), They’ll each follow different processes and you have to be familiar with all these different processes. This is what being an instructor exposes you too.
You learn how to solve problems faster and also you get exposed to diverse problems which make you an all round better developer.
The best way to learn is through teaching.