Computer networks. For years I was dumbfounded how IP addresses, VPN, ports, etc, all worked and tied together. Then, when I was interning as a software developer a fair while ago, a colleague drew the analogy of "IP address" = house on street, "port" = something you ask for when you knock on the door of a house.
Then it all just clicked. I still remember that day all these years later.
Other notable mentions, in no particular order:
* Perfect is the enemy of good enough. Did n't really appreciate this idea until around 2 years into my career.
* How to be professionally displeased at something. Early on my career I would get way too angry at incompetent colleagues peeing in the pool, e.g. bad code, design, management, etc. I would complain quite a bit! It only clicked ~2-3 years later into my career when I figured that one's displeasure at a situation should be a function of both how bad the situation is and how able you are to improve it. When you offer constructive solutions to incompetence (suggest alternative algo, management style, library, tool, etc) whilst not actually mentioning what is wrong, instead of just fruitlessly reminding people of what they did wrong, people become far more cooperative and receptive, etc.
My tin-foil-hat pet-theory is that the relatively recent tyranny of low expectations and "participation award" society has on average made younger people much more sensitive to negative comments about their work. The extension of that is that people end up robbed of more detailed reasoning about what they did that was wrong.
> Then, when I was interning as a software developer a fair while ago, a colleague drew the analogy of "IP address" = house on street, "port" = something you ask for when you knock on the door of a house.
Hey thanks for sharing! Can you maybe expand on this in any form? I'd love to get that kind of analogy. Maybe you have a blog post about it? That'd be amazing!
One of the canonical computer networking texts, Kurose and Ross's Computer Networking: A Top-Down Approach, is chock-full of these sorts of analogies and metaphors.
I think “door” works better because any function can be behind any port, and it is a matter of convention, not of asking for a specific thing. I.e. when you connect to port 80 you don’t ask for HTTP, you just hope that’s what’s available at that port.
Then it all just clicked. I still remember that day all these years later.
Other notable mentions, in no particular order:
* Perfect is the enemy of good enough. Did n't really appreciate this idea until around 2 years into my career.
* How to be professionally displeased at something. Early on my career I would get way too angry at incompetent colleagues peeing in the pool, e.g. bad code, design, management, etc. I would complain quite a bit! It only clicked ~2-3 years later into my career when I figured that one's displeasure at a situation should be a function of both how bad the situation is and how able you are to improve it. When you offer constructive solutions to incompetence (suggest alternative algo, management style, library, tool, etc) whilst not actually mentioning what is wrong, instead of just fruitlessly reminding people of what they did wrong, people become far more cooperative and receptive, etc.
My tin-foil-hat pet-theory is that the relatively recent tyranny of low expectations and "participation award" society has on average made younger people much more sensitive to negative comments about their work. The extension of that is that people end up robbed of more detailed reasoning about what they did that was wrong.
People are interesting!