Bonaventure OgetoBy Bonaventure Ogeto|

How to Study When You Learn Differently Than School Taught

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.

The System Taught You One Way. It Is Not the Only Way.

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.

How Your Brain Might Actually Work

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.

Project-Based Learning: Build to Understand

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:

  • Watch or read the tutorial for a new concept. Spend no more than 20 minutes on this.
  • Close the tutorial. Open your code editor.
  • Build something that uses the concept. Do not look at the tutorial while building. Struggle first.
  • When you get stuck, refer back to the tutorial for the specific thing you are stuck on. Not the whole tutorial. Just the part you need.
  • Finish the build. Deploy it. Move on.

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.

Spaced Repetition: The Science of Not Forgetting

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:

  • Anki: A free flashcard app with a built-in spaced repetition algorithm. Create cards for coding concepts, keyboard shortcuts, and syntax patterns. Review your deck for 10 minutes each morning.
  • A simple notebook: Write the concept, the date you learned it, and dates for review (tomorrow, +3 days, +7 days, +14 days). Check off each review as you complete it.
  • Mini-projects: Every time you review a concept, build a tiny project using it. A function, a component, a small tool. This combines spaced repetition with project-based learning.

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.

Teach It to Lock It In

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:

  1. Learn a concept.
  2. Explain it in simple language, as if teaching a child.
  3. Identify the parts where your explanation breaks down.
  4. Go back and study those parts.
  5. Explain again until the explanation is smooth.

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.

Experimenting With Your Own Method

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:

  • Watch a video tutorial. See how much you retain the next day.
  • Read the documentation and build a project without watching anything. See how that feels.
  • Explain the concept to someone (or record yourself explaining it). See what gaps appear.

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.

Key Takeaways

  • The Kenyan education system primarily rewards one learning style: auditory-linguistic memorisation. If you struggled in school, it may not be because you are a bad learner. It may be because the system did not match your brain.
  • Coding is uniquely suited to kinaesthetic (learn-by-doing) and visual learners because you build things, see immediate results, and debug through experimentation.
  • Project-based learning (building real things) teaches concepts faster and with better retention than watching tutorials or reading documentation.
  • Spaced repetition, reviewing a concept multiple times at increasing intervals, is backed by cognitive science and works better than marathon study sessions.
  • Teaching someone else what you just learned is one of the most effective ways to solidify understanding. You do not need to be an expert. You just need to be one step ahead.

Frequently Asked Questions

Can I learn to code if I was bad at school?
Yes. Many successful developers struggled in formal education because the read-memorise-repeat format did not match their learning style. Coding rewards problem-solving, building, and experimentation, skills that the school system often does not test for. If you learn by doing rather than by reading, coding may actually feel easier than school.
What is the best learning method for coding?
Project-based learning, where you build real things using the concepts you are studying, is consistently the most effective method. It forces you to confront gaps in understanding and produces tangible evidence of progress. Combine it with spaced repetition for retention and teaching others for deep understanding.
Why do I forget coding concepts so quickly?
Your brain discards information it encounters only once. This is normal, not a deficiency. Use spaced repetition to review concepts at increasing intervals: the next day, then 3 days later, then a week, then two weeks. Each review takes less time and builds stronger long-term memory.
Is watching coding tutorials a good way to learn?
Watching tutorials feels productive but often creates an illusion of understanding. You follow along and nod, but when the tutorial ends, you cannot reproduce what was taught. A better approach: watch for no more than 20 minutes, then close the tutorial and try to build the same thing from memory. The struggle of building without looking is where real learning happens.

Ready to build real-world apps?

Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.

Apply to the McTaba Marathon