Hacker News new | ask | show | jobs
by army 4101 days ago
If you're learning, it's really important to have the skill of narrowing down what it is you don't know and formulating a clear question about it.

I've seen all sorts of failure modes with that:

* People asking overly broad questions, e.g. if they are having trouble using, say, a dictionary class: "How do dictionaries work?" rather than "I'm trying to do x with a dictionary and I can't figure out how to make it work - I tried the put() method but it doesn't do what I thought." This makes it very difficult to dig into what's actually being asked and provide a relevant answer.

* People not admitting what they don't know. E.g. maybe they just don't have a clue what a dictionary is, yet won't admit it.

* People making a lot of assumptions and not articulating them. This tends to manifest as a really specific question that doesn't make sense. E.g. "I tried to build a spellchecker and dictionary is not returning the right thing." Then it turns out they assumed dictionary was prepopulated with the English language. This is even worse if the person can't/won't explain their thought process when prompted.

* Not reading any of the docs. I ran programming tutorials at one point and it was remarkable how many questions would have been answered by the introductory paragraphs of the tutorial if they'd read them instead of skipping it then spending 10 minutes struggling with a problem that didn't make sense to them.

* Unwillingness to talk through things systematically, e.g. explaining code line-by-line. It's surprising how often people will ask for help, then lose patience with you once you want them to spend any amount of time explaining things. This is enormously effective - half the time they realize their mistake on their own.