ZH version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
13% Positive
Analyzed from 584 words in the discussion.
Trending Topics
#changed#change#code#something#anything#didn#asking#might#questions#issue

Discussion (10 Comments)Read Original on HackerNews
It's not fruitful every time, but the number of times you skip asking those questions and chase something around, only to realize that, actually, it _was_ the ridiculous/simple thing... well, it feels a lot better to realize it earlier :)
(personal footnote: do be mindful of the context you're asking in! I feel like in general those sorts of questions are _fairly_ well tolerated by technical people. Sometimes you feel a bit stupid asking the question, but many of the systems I've worked on are large and complicated enough that it's not that weird - and if there's downtime and a healthy team, people genuinely want to hunt every possibility down. People not used to that, though, will sometimes bristle a bit, thinking you're implying that they're stupid and don't understand the basics. There can be ways to be more tactful, but at the very least, it's worth being aware of that reaction so you can follow up with a "just making sure I understand!" or something like that.)
At most any given scope, "most" systems you interact with aren't under your own control. For this, consider: because that's true, the fault is yours for not grappling with that reality.
This has been written about before:
https://ruggedsoftware.org
But even that was missing a bullet:
- recognize that my code will interact with systems I cannot anticipate, that change in ways I cannot control, and become coupled more than ever intended
I commented back, maybe with a little too much confidence, that if their input file changes daily, then their program changes daily. That is, from one day to the next, it may take different paths (or a different combination of paths) through the code's logic. In that way, I claimed, her program was like a language interpreter, and her input files were like programs.
She didn't seem completely convinced, but apparently they got the job running again because there was no follow up on that particular issue.
I've seen this a lot.
A few examples:-
- this code isn't logging -> is logging broke -> code was never deployed - 500s are being thrown -> it's definitely not my code -> revert code 500s cliff face
Literally, every week there is a version of that. I have no idea why or how to tackle it but it is highly prevalent across skill set and roles.
Many of those are automated and usually escape proper review. And they can be minor or catastrophic.
I always try to look at "what changed that causes this failure?"
And do so blamelessly. Pointing fingers only gets disdain and blame.