Hacker News new | ask | show | jobs
by Kranar 1923 days ago
Learning is only a frustrating struggle if you do it the way most students are taught to do it at school, mostly through rote memorization and very boring repetition. But there are other effective ways of learning that are not frustrating and that allow people to explore and be creative.

What I try to teach developers is how to learn things without getting frustrated. Usually people get frustrated because they don't have to right process in place for learning things, they try bolting solutions onto existing code and try fitting a square peg into a round hole. They get massive compiler errors or stack traces that are hard to isolate from the specific problem they're having and it feels like in order to solve one problem they need to solve a dozen other tangentially related problems.

That's overwhelming and frustrating, but it need not be that way.

I teach people how when they come across a challenge, how to learn to come to a solution from first principles; how to create a minimal project isolated from the rest of what they're working on and experiment. I try to emphasize the importance of having various different mental models of how a computer works and how to apply those models to have a better understanding of what's happening beneath the hood.

> I haven't fully understood why not

Because working in my industry isn't a matter of knowing answers to questions. It's about the process of knowledge discovery and that process comes with experience and practice. I really don't need anyone to be a glorified typist... if you need to take an entire day to really understand how to solve a problem, even if it's a trivial problem I could solve in a minute, then take the day. That's an investment I'm willing to make now while you're a junior and I am in a position to fully understand the problem you're facing, compared to 10 years from now when I won't be able to fully understand the problem and then we're really screwed.

2 comments

I've been at this for 8 years now and I think you're dreaming if you believe you'll ever get to the point where you're never just beating your head against the wall with something frustrating and non-obvious, no matter how great your learning or deduction skills are. Either that or you're much better at it than I am.
FWIW I've been doing this for 20 years now and I completely agree with you. Knowing when to get a fresh perspective on a problem is a part of learning healthy problem solving skills, and it's not often that banging your head against a problem for a full day with no progress is better for your skills development than asking for help after, say, an hour or two.

And it's not like you're going to someone more senior and saying "I'm stuck; do my work for me". Ideally you're just getting a strong hint as to the right approach to take, and can make progress with that.

> But there are other effective ways of learning that are not frustrating and that allow people to explore and be creative.

Like... asking for help and having a chat with a mentor who has relevant experience.

(Most) people don't do that easily and are likely to have already spent time and effort formulating the question.

Asking them to go away and spend more time on their own is interrupting an effective way of learning.