The rubber duck
Once upon a time there was a rubber duck! No seriously. We are programmers, we solve problems, and every now and then, we come across problems that we never had to solve before. Once in a while we need help. Maybe we don't have the know how to solve it. Maybe we're just too close to the project to even see the real problem. Or maybe, just maybe, we just need someone to talk to, share some ideas and the problem will solve itself.
So we use rubber ducks to solve problems.
Rubber duck debugging, rubber ducking, and the rubber duckie test are informal terms used in software engineering to refer to a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug his code by forcing himself to explain it, line-by-line, to the duck.
We should all have rubber ducks to talk to. Problem is: when we try to skip the rubber duck experience and jump right to the "I'll just ask someone on the Internet" we end up doing it wrong. We assume that everyone will know our project well, and we don't ask the right questions.
I know it's better to have a rubber duck that actually talks back at you, but you just have to make an effort to be helped and ask your questions the right way.