I actually disagree, but think your analogy is perfect here. Most programmers (even good ones) don't really know how a computer works, but they have notions of how it does. As such, they have a good idea of what they think should work, but can still often be surprised by behavior that falls outside that expectation. There's a lot of computer behavior that's "weird" due to low-level quirks.