Deserialization is the process of taking a serialized format, like JSON or XML, and turning it back into a rich object hierarchy your program can use. It's the opposite of serialization, which is like packing all your stuff into boxes before a move, while deserialization is like unpacking everything and putting it in its proper place in your new digs.
I spent all day debugging an issue that turned out to be due to deserialization barfing on some malformed JSON from the new intern's API.
After getting paged at 3am because deserialization was failing in prod, I decided it was time to update my resume and look for a new gig without so much technical debt.
Martin Fowler has an insightful article on the pitfalls of automatic deserialization and the benefits of hand-coding it instead to avoid tightly coupling services:
Enterprise Integration Using REST
For a deep dive into how deserialization is handled in popular binary formats like Avro, Protocol Buffers, and Thrift, check out this post that compares how they handle schema evolution:
Schema Evolution in Avro, Protocol Buffers and Thrift
And if you really want to nerd out on deserialization patterns, Fowler's site has a whole collection of articles on topics like refactoring serialization code, dependency injection, and domain-driven design:
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.