How I Teach My Son
Being a dad is a journey that doesn’t come with a manual. There’s no single proven way to be a perfect father, and every kid is born different, so I end up experimenting a lot with how I raise mine. Most of those experiments get dropped. The ones that keep working all come down to the same thing. I give him room to try things and let him run into the problem himself. I never hand him the answer directly, but I never refuse his question either (that part is harder than it sounds). I let the curiosity float around in his head for a while, and then I show him what his work actually did.
I try my best to follow this every time, but I never had good words for it. Today I found them in a 2019 Hacker News comment on the “Ask HN: How to Teach Coding?” thread. It’s about teaching people to program, not raising kids, but it describes what I’m trying to do at home almost exactly:
Tell them what to do but do not tell them how to do it. (Just give a few pointers otherwise they’ll be lost.)
Give them a playground to fail - Offload any non-business critical tasks and let them make mistakes. No one I know ever learnt programming without making any mistakes. Immediately tell them about best practices and how to avoid such mistakes in future.
Show them the impact of their work - There’s nothing more motivating than seeing the impact of one’s work.
Build curiosity - Answer as many questions as you can answer. Admit when you don’t know any answers and start looking it up on the web right in front of them. People pick habits by looking at their superiors.