The Case of the Connection Timeout
mysteries.wizardzines.com
mysteries.wizardzines.com
That's the difference between programmers and engineers.
Context is everything, and knowing your system and stacks rather than single tools is important. What this shows me is that partitioning of knowledge where only certain team members understand certain things is the real danger.
I have a pretty decent powershell script where they put their host name and port and the script will print out what it succeeds at and fails on.
I really enjoyed "The Case of the DNS Update that Didn't Work" because I've definitely experienced that exact scenario on multiple occasions (no spoilers).
People are asking me how I debug issues and how I can seem to be able to always find the cause and I always had trouble explaining the process.
I think it is a mix of being a detective and a scientist. Detectives work on clues about stuff that happened and usually can't do experiments and scientists are usually fixed on making predictions and repeatable experiments.
Whereas most people who complain they can't debug problems like that try to treat them as if it was about knowing how to solve it. "How did you know it?", "How did you know it is this parameter?", etc.
I think the two important abilities needed to be able to be good at debugging are:
1) be curious and comfortable to work with stuff you have no knowledge about -- learn as you go
2) have analytical approach to solving problems and especially understanding of logic
Discovering that the target machine is hosted on AWS halfway through reminds me of previous gigs .. revealing essential information about the infrastructure along the way.