I love analogies; but only when I can relate to them. It’s not just a matter of whether or not I know them, but rather if I can relate to them on a deeper level.
Analogies can be detrimental. I’m not a fan of American Football. I’ve tried watching the Super Bowl three times, two of them with someone explaining to me what was going on. It has put me to sleep every single time (sorry, folks). When I read a book or watch a video where people heavily draw comparisons to that sport, talking as if everybody can relate 100% to what they’re saying, as if everybody cared, I get very frustratred and usually give up on the content.
I love analogies that allow me to lean on my pre-existent knowledge to learn something new. If I need to learn two new things at the same time (whatever the topic at hand is, plus the analogy being used), I lose interest and move on.
A lot of computer people immediately assume other computer people’s level of nerdiness is high, so they draw comparison to nerdy things. Those usually don’t work for me, either.
For example, the first couple of times I’ve heard software developers say “we’ll practice TDD using the Game of Life as an example”, I thought they meant the Game of Life board game. After listening to the conversation and realizing that my understanding of the Game of Life didn’t align with what they were describing, I did some research and found out they were referring to Conway’s Game of Life, which I had never heard of before. Yup, I guess I’m not the typical computer nerd. 🙂
So, beware analogies.