How to ask for help... the frustrating way
For a long time I've been helping people online. From public grassroots coding groups to my local linux user group and several local meetups; I enjoy helping people through problems. Recently a pattern has emerged that most people don't seem to want or know how to be helped.
It's really frustrating, both because they've wasted both our time, but also because they don't seem to understand; things will never change if they don't put in more effort than simply asking, then not fully participating.
The pattern
- Person needing help: "wondering if you could help?"
- Me: A seemingly well defined problem. Agreement to try to help. Some initial thoughts.
- Person needing help: Lack of willingness to try to inspect process.
- Me: I need to know more. Ask questions.
- Person needing help: Gradual bleeding of detail over and over, or asking me to prove they are not right... That is not how the world works, and you are the person that needed help, not me.
- Me: I lose the will to help.
Why offer to help then?
I fully believe in the powerful role of community in improving outcomes for learners.
Formal education is only as good as the diversity of teachers available. I may not be able to help you learn something I try to help with, but without me attempting to help, you'd have been stuck anyway.
Non-commercial help is part of that wider community involvement in improving outcomes, but lets be clear, any participant can and should leave any time they feel uncomfortable.
I'm just as frustrated and disappointed if a commercial client asks for help, but turns out to not want to follow a logical process to get there, or doesn't bound their support request; it's just that they are providing me with something I can use anyway.
Sometimes it's that what you are asking would require more time than we could reasonably have. I'll generally point you to someone else that has solved the problem, and be upset if you insist on trying to solve on your own.
I do also get annoyed at people who's goals are way off although that is not part of this post. Being asked to create an entire piece of software without a healthy budget, is just fooling in my opinion. Many people create great software for no cost, and as OpenSource. They generally don't do it upon someone else whim.
My resolution
Going forward if you exhibit any of these patterns, even one time when I'm trying to help you; I'm going to stop helping you.
Not only is it a waste of both our time, the only thing you secure is my complete and total lack of respect for you for at least a short time.
Some things to do differently
- Try to re-create the problem or share some context
- OS name & release
- Language / Runtime & release
- Libraries & Frameworks with release
- Specifications Adhered to
- Technologies used / desired
- Try to explore the issue
- Create a test-case
- Drop to a debugger
- Use a REPL
These are ALL essential information and can present fun opportunities for growth. Here are some things I think are not as helpful.
- Have you tried {Alternate technology, specification, library, framework}
- Pointing at an irrelevant part of a specification or technology
- Making fun of people
- Time / Commercial restraints
The time and commercial constraints are two serious cases for friction when I'm at work. I'm aware unlimited time and resources are not possible; but I also like to help colleagues. Sometimes this leads to me being short with one side or another. Time, Money and correctness are your variables here, and like CAP there is no evidence you can have all three, so pick the most important and communicate them to all of us.