Live data from Hacker News

Help me ask why you didn't just

blog.plover.com

41–50 of 363 posts

Re: Help me ask why you didn't just

#41
Here's the suggestion: don't ask! What are you going to do with the information? If you ask and the answers are reasonable, then ... so what? What have you meaningfully learned? You've learned that an existing solution does not completely solve a problem.

Now you understand the problem a little better, and you understand the shortcomings or deficiencies of a pre-existing solution a little better, but you're signalling to the person you're asking that you're looking to second-guess their judgment or wisdom before you even understand the problem that was trying to be solved. Why didn't you wait until you understand the problem well enough such that you'd be able to see (along with them) why an off-the-shelf solution wouldn't work? Asking why a specific off-the-shelf solution wasn't chosen is a way of signalling to someone else "hey, I don't understand the problem very well but I'm sure that I have a better solution". So don't ask why a technology wasn't chosen; ask questions about the problem domain until you understand why - WITHOUT asking.

Here's the other scenario: you know for a fact that an off-the-shelf solution would've been a better choice than what someone else did. In that case - guess what? Don't ask: tell. Don't patronize someone by saying "why didn't work here in a case where it obviously was a smarter choice"; instead, have the courage to say "I think that a better use of time would've been doing research and seeing if was usable." Because if you're trying to tell someone that they made a mistake by reinventing the wheel, asking them why they reinvented the wheel rather than telling them they did so will probably be seen as patronizing or dishonest.

Either understand why the first thing that popped into your head doesn't work without having them tell you why that's the case, OR be so certain that the first thing that popped in your head does work that you're willing to declare that. Anything else is inviting people to believe that you're trying to "stump-the-chump", so to speak.

Re: Help me ask why you didn't just

#42
“What problem does this solve that existing tools don’t?”

Something that gives them an opening to explain why they went down the path they went down. Bonus - if they didn’t actually think of using sshd, this can lead to a gentle way of bringing it up.

Re: Help me ask why you didn't just

#43

“What problem does this solve that existing tools don’t?” Something that gives them an opening to explain why they went down the path they went down. Bonus - if they didn’t actually think of using sshd, this can lead to a gentle way of bringing it up.

Or maybe just “what was wrong with existing tools?”

Re: Help me ask why you didn't just

#44

Really, let's be honest; we want to show off how we would have done it. That's all. How about: > That's an interesting solution! I don't know whether I would have thought of that. My first thought was to use sshd. Can I show you something?

It's possible that this would be an okay tone to use toward a junior developer or an intern. Could it sound patronizing toward a peer, or a more senior developer?

Re: Help me ask why you didn't just

#46
The last two proposed options — "Naïvely, I would think that sshd would work for that" or "So, I probably would've tried using sshd here. Would that not work out?" — sound pretty reasonable to me. It makes it clear the implication is that the questioner assumes that the problem is likely more complex than is obvious on the surface and is curious, as opposed to passive-aggressively implying the author is an idiot.

I used to work in infra at $LARGE_TECH_COMPANY, and while it's true that sometimes people meant the type 2 "I genuinely am curious" question, there was often a deluge of type 1 "you're an idiot why didn't you do X" for specific decisions that we'd made that made sense at the scale we operated at, but where the problems we encountered with the "simple" approach wouldn't show themselves at small scale (and thus most engineers wouldn't encounter e.g. in side projects or if they'd worked at smaller companies) — especially because these kinds of questions often arose when someone was frustrated and having issues with something we built or maintained. It's not so much that maintainers are overly sensitive with the "just do X" type questions; it's that maintainers pattern-match against the large number of "you're doing it wrong" versions of the question and the few genuine ones have a hard time differentiating themselves. Either of the last two do a good job differentiating themselves from the noise, I think.

Re: Help me ask why you didn't just

#47

Here's the suggestion: don't ask! What are you going to do with the information? If you ask and the answers are reasonable , then ... so what? What have you meaningfully learned? You've learned that an existing solution does not completely solve a problem. Now you understand the problem a little better, and you understand the shortcomings or deficiencies of a pre-existing solution a little better, but you're signalli…

Here's the suggestion: don't ask!

This is bad advice and I hope nobody takes it. We learn from each other. I've very glad I didn't have to learn everything I know first-hand.

Personally I am honored when people think highly enough of me to feel like they can learn from my experience. I also like learning new things, so if there was some obvious answer that I just missed of course I want to know about it!

The correct answer is first form a relationship, then ask. The author worries:

I have realized I honestly don't know how to express my question to make clear that I mean #2, without including a ridiculously long and pleading disclaimer before what should be a short question.

It's perfectly ok to have that long preface the first time you ask this kind of question. "Sorry to be long-winded, but since we don't know each other that well yet I just want to be clear: I don't understand why you didn't choose XYZ? I'm interested in learning about this but I haven't spent as much time on it as you have. I would have tried XYZ but I'm assuming there was some issue. What was the issue?"

In general over time people will learn your character and your intention. If you are truly humble and trying to learn they will come to expect that attitude of humility from you and the long preamble won't be necessary.

In situations where you don't have the opportunity to build a continuing relationship just accept that the verbosity of your question is the price of clear communication without the context of an existing relationship.

But please, please keep asking questions, even if they seem obvious. That's how we grow.

Re: Help me ask why you didn't just

#49

Here's the suggestion: don't ask! What are you going to do with the information? If you ask and the answers are reasonable , then ... so what? What have you meaningfully learned? You've learned that an existing solution does not completely solve a problem. Now you understand the problem a little better, and you understand the shortcomings or deficiencies of a pre-existing solution a little better, but you're signalli…

On large projects, it becomes impossible for anyone to understand how each line of code works and what the best solution should look like. In such a complex area, assertive code review comments could be counter-productive.

In most cases, showing curiosity and asking questions in code reviews goes beyond educating yourself: it's also about providing "self serve" context for future developers who need to understand why a specific decision was made.

This context can also, for example, prevent future developers from trying to refactor or rewrite entire pieces of a program to follow "what first comes to mind".

I'm curious to know about the kind of projects you work on and how you've seen the approach of asking fail there.

Re: Help me ask why you didn't just

#50

"have you tried xyz?" The problem with the other approaches is that they imply that you are judging the person. This one only implies something that they may have missed.

Unfortunately, if "xyz" is one of the approaches they did already try/dismiss, it still comes across as patronising.

Really? I've never considered it patronising.

"Have you tried x?"

"Yes, that's the first thing I tried."

"Hmm, how about y?"

"That too."

"Well that has me beat. Unless maybe you tried something crazy like z..."

"Actually, with a slight modification that might just work well enough for this!"

Post reply on HN