Fundamentals: from karate to programming, no base means you get stuck
When I started karate, the first thing I learned wasn’t a technique: it was the line. Everyone lined up, punches and kicks repeated, an instructor checking every movement. In Japanese these fundamentals are called kihon.
A fundamental isn’t static
What I like about kihon is that it isn’t a beginner’s drill you drop once you level up. A white belt and a black belt throw the same punch, the same kick. What changes is precision, power, body awareness. The fundamental grows with you, from kihon to kata, all the way to kumite.
I see the same in taiko: timing, position, speed. The same three things a beginner gets wrong and a master keeps refining for a lifetime.
The foundations of a house
Try building a house without foundations and see what happens a few years later. Studying works the same way: without solid basics you get to a certain point, and you can’t push past that threshold. You can be good at kata, decent at kumite, but if the kihon isn’t there, sooner or later it shows.
From assembler to today
The same goes for programming. I started from math, physics, processors and assembler: stuff that today feels miles away from a framework or a prompt written to an AI agent, but that gave me a much higher ceiling than someone who starts straight at the “high” level. When something breaks underneath, knowing what’s down there makes the difference.
Fundamentals are boring too
I’ll admit it: fundamentals often bore me. Repeating the same punch for the hundredth time, or the same basic exercise in code, isn’t the fun part. My recipe is to do a bit of everything: the basics, the forms in a controlled environment, and then the confrontation with reality. In programming, that’s called production. The magical production.
Where have you studied fundamentals? Let me know in the comments on the video.