Abstraction in software systems

This post is a high-level explanation of _abstraction_ and why it's so important for software engineering.