Comment by nucleardog
2 days ago
I've had this same policy since before AI. I kind of formalized it for myself (and this team) after enough instances of "I'm trying to do X. It's not working. Help." type messages.
You need to put as much effort into the question as you expect someone to put into the answer.
It's not "fairness" or "AI" or anything else, it's that doing this any other way fundamentally fucks up the team dynamics.
You have a problem. You want someone's help. If the cost to you is effectively nil (or negative, since you're asking someone to do your job for you), but the cost to the other person is non-zero, then incentives aren't lining up here. Pretty quickly that person is going to start carrying too much load and become a bottleneck.
It can also mask that the context of the work is too concentrated in one person, and does little to nothing to help build that elsewhere in the team.
The other end of this is exactly what you're saying--put as much effort into the answer as they put into the question. You're not doing anyone a service by taking their low effort input and giving them high effort output, least of all yourself. If someone asks "how do I X", that's low effort. If you happen to know the answer off the top of your head, spare a few sentences to explain or point them where in the code they need to be. If you don't know, don't go track it down for them.
I intuitively put this much effort into asking good questions when I need help, and what I often find is that by spending time to formulate a question that makes it easy for others to help me I end up discovering the answer for myself or identifying a much more salient problem that I should be asking instead.
In this way, putting more effort into the question ends up putting me closer to the answer without actually receiving help.
I’d add that it’s basic respect and decency for your fellow humans who are paying for the attention with their own life.
Yeah, that's a reason to do it too! And one I'd hope would land with most people, but "respect and decency" aren't universal unfortunately.
> after enough instances of "I'm trying to do X. It's not working. Help." type messages.
Related to this, I will never for the life of me understand why people think it's okay to say "I get an error" without saying what the error is.
I don't expect a non-technical person to understand the error, but I do expect a non-technical person to know that what the error message is is useful to the person trying to help you and to proactively provide the contents of the error message, even if it's a shitty cell phone picture of the error.
The thing is, they've still taken the time to actually write "I get an error". So by principle of reciprocity, you can just take 2 seconds to say, "What's the error?" Usually that won't lead anywhere; but as long as you don't spend more time than they are, you aren't really wasting much time; and they can't exactly complain that you weren't helpful. And occasionally it will lead somewhere, in which case it's a win.
Because modern tech and modern tech support has a terrible UX in general built by engineers around their engineering heuristics.
By the time a non-tech user reaches the point of seeing an error they are cognitively overloaded and since the errors are pretty much incomprehensible to the users, the user doesn’t get the feeling of it being anything that’s tied to their actions. It’s just anxiety-inducing noise, it never registers as something that has a meaning, so even copying and pasting an error feels like a meaningless step that their overloaded and already anxious brains skip.
If errors are meant to be shared with tech support, the UX should reflect that (and some interfaces do that where you just have a button to send the crash report or smth). If errors are meant to give users agency to solve the problem on their own, the UX should reflect that too.
I don’t formalize anything that extreme for my teams because I can’t diagnose people, but I know that things like anxiety, imposter syndrome and a whole wack of things that aren’t related to work get involved. It’s acceptable to ask for help. I like to know what people have tried but sometimes they don’t know how to start. And that’s a great place to start.
I guess we all have different styles but some may be more inclusive than others.
How the problem and request are presented matter. "I don't know where to start" is a different problem than "I've done nothing, just solve this for me." And how someone shows an effort was made will vary person to person, so I agree a strict formalized set of rules doesn't make sense. The concept boils down to "expect people to put forth some effort of their own"
"Teams" are also going to have different dynamics than "strangers on a help forum."
Yeah, after the dozenth time with the same person where the "help" is "playing 20 questions to finally get the stack trace out of them which they should have sent in the first place and then then error explains exactly what is wrong and what they need to look at next" you might feel a little different about it. Or not.
End of the day, though, there's a huge, obvious difference between "asking for help" and "asking for someone to do all my thinking for me".
As a _person_, I'm very sympathetic to why that might be happening. I will do everything I can to help. And sometimes it does feel like I'm bordering on practicing psychology without a license.
As someone responsible for making sure _everyone_ is getting paid this month so they can keep a roof over their head and their kids fed, I do need to be mindful of and address issues that are dragging the entire team down. Regardless of why it's happening, if we're in a situation where you are doing the more company more good by _not showing up to work_ (you're contributing negatively), we have a problem and it needs to be addressed. We can work together on addressing it, but we can't ignore it.
For whatever it's worth, every single person on the team I manage says one of the things they love most about working here is how helpful and cooperative everyone is. Everybody's always happy to hop on a call and work through stuff together and really has a mindset of a rising tide lifting all boats--people are always volunteering to pitch in and help others before being asked. I like to think I've had some part in creating that environment. I am _more_ than happy to _help_. I had to starting making a distinction between "helping" and "doing someone's work for them" because I was getting burned out from overwork. I made it "formal" because I work with the kind of people who really appreciate clear rules and guidelines for things, including communication
When I'm a newbie at things, I tend to have the opposite problem: I can overthink things to Hell and gone, but since I don't know what I'm doing, I focus on the wrong things and 80% of my effort is worthless. Like trying to make a multithreaded GUI in tkinter in Python: I tried to find a good way to do it, but the answer is a brief "Don't do that, use root.after() instead so your worker function can run in the main thread without blocking the event loop." I just had the wrong mental model and put forth effort an expert would have avoided entirely.