Beyond the Horizon

Blog of Spencer Magnusson

The Problem of Problem solving

A brief ode to my dad

July 22, 2026 | 5 minutes


Recently I read an interesting article about learning, particularly in helping others learn:

“Effective tutors are highly empathetic to the level of motivation of their student, and they quickly adjust the lesson to that. That’s it. That’s the main thing good tutors do differently. If motivation decreases, they switch to lighter content, or even transition into non-lesson conversation. If motivation increases, they ramp up the difficulty of the lesson. Tutoring is, say, 80% motivation management.” - Enthropic Thoughts, “Understanding Systems”

The article talks about a couple things to be an effective teacher:

  1. Pick an exercise from the textbook, workbook, whatever
  2. Watch the student work through it
  3. Ask them to verify their own solution

The end goal is to help the student reveal a new frame of mind: understanding why it all works the way it does, including their mistakes. Highly recommend the article.

The article reminded me of my dad. Whenever I got stuck in my homework, he came to my room right before or after dinner to help.

He is a slow and methodical teacher. Having already spent at least an hour on the math problems before evening, I had little patience for explanations. But I have grown to appreciate why he did it the way he did: re-read the problem, have me explain or redo my work, and ask for further help.

The focus wasn’t on his knowing the answer, it was instilling how I could find the answer like he did.

1. Re-read the problem

Sometimes, this alone made me realize my wrong: “oh, that was what I missed.”

Along with critical reading skills, it practiced clearly understanding what you know. We make a lot of assumptions and judgments every time. Sometimes, those are correct. But you have to be able to separate them from what’s given to you.

In many cases, you have to validate the truth for yourself. As a TA for a coding class, students told me, “Well, I coded it right, so it shouldn’t be doing that.” …right, but it’s doing that nonetheless. Something may not be as true as you think. Either your claim is false, or we are missing some information.

Understand the problem so well that the solution becomes clear.

2. Have me explain myself (or do it all over)

If I did it wrong, and he couldn’t see how I went wrong, sometimes he’d have me redo the problem again. Or explain my solution.

In programming, this is often called “rubber ducking,” where the process of talking out your issue often brings clarity on how to solve it.

I remember explaining the problem to him, “and so it comes out to 3.2 meters per second… wait, why am I using centimeters?” I’d look at him, dumbfounded and embarrassed. And then he’d just smile. I wasn’t as amused. But it taught me that mistakes are less of a big deal than we often pretend they are.

It is just a math problem for a nonexistent situation, after all.

Yes, we all have those “I accidentally took down the production database” moments. As I’ve said in a previous article about learning, it’s important that learning happens in a safe, low-risk environment.

But there is power in not taking yourself seriously, sometimes. “Whoops, I made a typo. Silly me.” Even after doing something for years, you’ll be surprised the number of times you fall for a “silly little mistake.”

Funny enough, that’s how my programming is nowadays. The actual structure and design, I often get right from the get-go. But I still find myself debugging an issue for hours. Turns out the fix is changing a single line. Or updating a library to a newer version.

3. Ask for Help

If my dad and I still find ourselves stumped, he told me to leave my problem as-is, and ask the teacher about it the next day. Not every math class is merciful, but thankfully most of mine took time to go over homework problems.

It’s frustrating to end the night knowing my problem isn’t solved. But such is life. Many problems cannot be solved in a day, let alone a few hours. We must learn to be able to sleep nonetheless.

In class the next day, I often learned that a dozen other students were also stumped on the problem. I rarely struggled with an issue alone. And in a couple cases, turns out the answer given in the back of the book was incorrect. So no one could have gotten it if we hadn’t asked.

There is a balance to this, how much to ask for help. Refusing to ask for help often means wasted time, struggling with a problem that someone else or some webpage could help you fix in a matter of minutes. Asking for help too often prevents you from learning the discipline of problem solving on your own.

I believe having a closed window of when to ask and receive help gave me that balance. I could only ask my dad for help late at night. So if I could solve the problems myself before dinner, all the better.

In relation to Blender, my parents limited screen time for me (outside of screen time needed for homework, of course). This ironically made Blender forums less useful to me. I likely wouldn’t see an answer to any post I made until the next day anyway. Might as well try to figure it out first before posting.

I’m grateful for the ability to ask questions and receive help often within hours (thanks social media and Stack Exchange!). But I do hope the rising generation understands the power of being able to obtain answers by yourself, even if that means taking longer than a Google search.

Your ability to learn and problem solve is powerful. Don’t abandon it in this world of fast searches and AI “summaries.” I’m glad my dad had the patience to teach me to problem solve, even when I really didn’t want to do more math homework that night.