On helping people learn

One of the things I realized in school was that answering people's questions is not necessarily the best thing to do. ;) I started out being quite happy about answering people's questions. It gave me a warm and fuzzy feeling. Look! I'm one of the youngest, and my classmates are asking _me_ for advice. Wow. I felt pretty darn good. It was an ego thing. ;)

But when you think about it, that doesn't really work out. Sure, there are short-term benefits - people solve their problems quickly and stop asking you, and they go away impressed by your knowledge - but long-term, this just sucks. To be precise: other people become more reliant on you or on other gurus. They don't have the opportunity to develop their own skills and learn how to learn. They also come to see computer science as something they can't do on their own - something that they'll always need help with.

I don't know when my mindset shifted, but I found myself starting to ask questions instead of giving answers. I'd help people break their questions and problems down into smaller problems that they already knew how to solve. I'd point them to documentation that might be useful and help them understand the trickier parts. Although this approach initially frustrates people who just want an answer fast, I feel that this is, indeed, the only way to help them grow. Breaking problems down and helping them recognize the subproblems they can solve boosts their confidence while developing their problem-solving skills. Asking them questions challenges them to think.

If we always spoonfeed people, we risk making them dependent on us, and we are partly responsible for their inability to eat on their own. It's something to think about, isn't it? When you're taking care of babies, of course you don't give them solid food right away. You give easily processed food in small portions - a little bit at a time, so that they get used to it. However, they can't be spoonfed forever. You start introducing solid food in small bites. Then you teach them how to feed themselves - how to use a spoon, how to use a fork, and even how to use a knife to cut their own meat. Eventually they'll even figure out how to cook their own food. Some will even create entirely new recipes! Isn't that cool? =)

Besides, one has to keep in mind the reason why people ask questions. Is it a homework question? If they're doing it as part of a class, then the teacher would expect them to have done significant work. If you just give them the answers, then you're helping them deprive themselves of a good education. ;)