If the read-memorise-repeat method of Kenyan schools never worked for you, try these alternatives: project-based learning (build something to understand a concept), spaced repetition (review material at increasing intervals), teaching others (explain concepts to solidify understanding), visual mapping (draw diagrams instead of writing notes), and physical engagement (walk while listening to tutorials). Many people who struggled in school thrive in coding because it rewards problem-solving and building over memorisation.
In a Kenyan classroom, the learning method is fairly uniform. The teacher talks. You listen. You copy notes. You go home and read those notes. You memorise key points. You sit an exam. You reproduce what you memorised. If you do this well, you score highly. If you do not, the system labels you as someone who "does not perform."
But "does not perform in this specific format" is not the same as "cannot learn." There are people who struggled through every KCSE paper but can strip and rebuild a car engine from memory. People who failed history but can navigate Nairobi without Google Maps because their spatial memory is extraordinary. People who could not sit still in class but can code for six hours straight because their brain needs to build, not listen.
The system was not designed for you. That does not mean learning is not designed for you. It means you need a different door into the same building.
Coding, as it happens, is one of the most forgiving fields for people who learn differently. It does not care whether you can memorise dates. It cares whether you can solve problems. And problem-solving is a skill that many "struggling students" are secretly excellent at.
Learning science has moved beyond the simple "visual, auditory, kinaesthetic" framework, but the core insight remains true: people process and retain information through different channels, and using the right channel makes a massive difference.
If you learn by doing (kinaesthetic): You cannot learn from a textbook. You need to type the code, break it, fix it, and see the result. Skip video tutorials that are longer than 10 minutes. Instead, find interactive platforms like freeCodeCamp where you write code in every lesson. Build something after every concept. Do not just read about arrays. Use an array to solve a real problem immediately.
If you learn by seeing (visual): Draw diagrams of how data flows through your application. Use colour-coded notes. Watch animated explanations of algorithms on YouTube. Use tools like Excalidraw or even a notebook to sketch your component tree before writing React code. The visual map helps your brain organise what text-based documentation cannot.
If you learn by talking and hearing (auditory): Listen to coding podcasts during your commute. Explain concepts out loud to yourself while walking. Record yourself talking through a problem and play it back. Find a study partner and talk through your code together. The Rubber Duck Debugging technique (explaining your code to an inanimate object) works because vocalising forces your brain to structure its thinking.
If you learn through patterns and systems: Look for the underlying logic behind every concept. Do not memorise syntax. Understand why it exists. When you learn a new method in JavaScript, ask "what problem does this solve?" and "where have I seen a similar pattern before?" Building mental frameworks helps you remember without memorising.
Get weekly developer tips
Join 25,000+ developers. Practical guides, job tips, and new content — straight to your inbox.
No spam. Unsubscribe anytime.
The most effective learning method for coding is also the simplest: build something.
When you are learning about JavaScript objects, do not read the documentation five times. Build a simple phone book app where each contact is an object with name, number, and email properties. When you are learning about arrays, build a shopping list that lets you add, remove, and sort items. When you are learning about API calls, build a weather app that shows the temperature in your town.
The project does not need to be impressive. It needs to use the concept you are learning in a real context. The act of building forces you to confront every gap in your understanding. Documentation alone lets you nod along without truly comprehending. Building does not allow that luxury.
A practical approach:
This cycle, learn, build, struggle, refer, finish, is how lasting knowledge forms. It is slower than watching tutorials back to back. It is also ten times more effective.
You learned about the reduce method in JavaScript last Tuesday. By Friday, you have forgotten it. This is normal. Your brain is not broken. It is doing what brains do: discarding information it has only encountered once.
Spaced repetition fights this. The idea is simple: review a concept at increasing intervals. First the day after you learned it. Then three days later. Then a week later. Then two weeks. Each review takes less time because the concept is more familiar, and the increasing gaps train your long-term memory.
Practical tools:
Spaced repetition is backed by decades of cognitive science research. It works for language learning, medical school, and it works for coding. The ten minutes you spend reviewing each morning saves hours of re-learning things you forgot.
The best way to find out if you truly understand something is to explain it to someone else. If you can teach a concept clearly, you own it. If you stumble, you have found your gap.
You do not need a classroom or students. You need one person who knows less than you. A friend who is curious about coding. A younger sibling. A study partner who is one lesson behind you. Explain the concept to them. Use analogies from everyday life. When they ask questions you cannot answer, you have found exactly what you need to study next.
This is called the Feynman Technique, named after the physicist who used it. The steps are:
Many McTaba students discover that writing a quick blog post or Twitter thread about what they just learned helps them retain it better than re-reading documentation ever could. The act of structuring your knowledge for someone else forces your brain to organise it properly.
There is no single "best" way to learn coding. There is only the best way for you, and you find it by experimenting.
This week, try three different approaches to learning the same concept:
Notice which method made the concept stick. Notice which one felt the least frustrating. Notice which one you would actually do again tomorrow. That is your method. Build your study habits around it.
If the Kenyan school system made you believe you are a bad learner, the first project you build and deploy will prove it wrong. Your brain works. It just needed a different input format. Coding might be the one that fits.
Create a free McTaba Academy account. Access starter lessons, join the community, and explore at your own pace.
Create Free Account