serde
Computing metaphors are often stretched a bit thin, but one of my favorites that I find myself returning to over an over is serialization. When machines need to exchange information that is being actively processed, they need to first structure and then write out that information in a format that can be transmitted over some medium in a way that another machine can read it in and get to work. This happens constantly - when you save your spreadsheet to disk, or click "buy now", or upload a selfie.
People who write computer software for a living (or for fun) often do this implicitly when they are describing systems. We all have a working model of whatever we're working on in our heads whether or not we're aware of it. One becomes acutely aware of the model when trying to articulate it into words and/or diagrams for the purposes of documentation or collaboration, which is generally more challenging and time-consuming that initially anticipated. Bugs and inconsistencies in the model are often revealed while the model is being serialized from working memory into speech. "But it makes sense in my head" is not good enough if you want people to understand you, which you should.
Computers, like humans, became infinitely more effective and powerful once they could communicate. Computers, like humans, must be taught how to serialize the contents of working memory, and to deserialize the byte stream output of previously serialized models. Fortunately for computer programmers, serialization / deserialization routines are often implemented in existing libraries. For humans, this arduous process is the essence of education.