Ask any software engineer about difficult bugs they've faced and they'll
always have a story to tell you: the bug that took weeks to track down, the
bug that was affecting millions of customers but could not be reproduced by
any of the development team, or the bug that brought the entire system
grinding to a halt that turned out to be due to a single misplaced comma.
Of course, some bugs - the vast majority - are easily tracked down and fixed.
But as software systems get more advanced and complex, bug hunting becomes
much more of a skill. Some software engineers enjoy the bug hunt, and become
experts at chasing down the clues and collecting evidence before eventually
determining the root cause of the problem and how to fix it; for many more,
though, debugging is simply a... (more)