The metaphors we use to explain problems influence the way we thing and solve them.
- thinking of database replication as of gossip helps understand it. re-framing it as epidemics also allowed to apply mathematical theory of epidemics
guest/host relationship. when designing API or any software, think of it as of host treating the guest (user)
[…] a very good, thoughtful host, all of whose energy goes into trying to anticipate the needs of his guests. […] We decided that this was an essential ingredient in the design of a building or a useful object. —Charles Eames
- Software as labyrinth. You can thing of software as labyrinth. While you develop a solution, you explore and discard many adjacent avenues, but only one route is cast in the code. i.e., you loose the reasoning why you chose that solution. and that’s why it’s important to preserve it
- git blame is kinda the bad the name
- Sprint metaphor in scrum
- Muscle metaphor for non-physical skills, will, energy levels