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. ;)
Custom problems in Emacs seem to have mysteriously disappeared in last night’s CVS. Yay open source!