When I was a young whippersnapper in the days before MMOs, I roleplayed on MUSHes, text-based multiplayer systems. They came with their own programming language and none of the fancy IDE support that beginning developers today take for granted. Here’s a small sample:
[pemit(#20, %2)][ifelse(gte(setr(9, mul(6, u(#513/data-autotf_per[ifelse(gte(%2, 30), cent, old)]_[first(%0, |)]))), 1), [round(%q9, 0)] hours, [round(mul(%q9, 60), 0)] min[ifelse(%1, utes,)])]
One missing or added ) would break everything, and not with a helpful error message. At most I could copy the code into an editor with brackets highlighting; later on there were smarter ways to write code with line breaks and indenting, then strip those out to import the code into the system.
Without an IDE (no highlighting, automatic indenting, or suggestions) I became very good at spotting this sort of bug. I’ve always been good at spotting typos, and I suspect bughunting builds on that. It’s another of those innate things that everyone can learn to some degree, but some people are always going to be really good at it because their brain is built that way.
Does it carry over into something wider? It’s tempting to proclaim that I am a true realist who sees what’s there, not what I expect to see; that may also be true to some degree, but I fail the invisible gorilla test just like half the people tested.
I think it’s pattern recognition. I have a terrible memory for events, but I’m great at subconsciously noting where stuff is and finding it fast. But if I’m looking for a yellow box of pills and I have forgotten that I recycled the cardboard box and only kept the pill sheet, I can look at that pill sheet ten times before I realize it’s what I’m looking for.
Aside: That's an actual example from last week. My wife laughed at me so hard; usually I'm the one finding stuff she's lost within a few seconds.