## Metadata
* URL:: [link](https://specbranch.com/posts/expensive-abstraction/)
* Publisher:: [[specbranch.com|Specbranch]]
* Tags::
## Highlights
* Every project is built with a set of assumptions, requirements, and values.
* Even abstractions that are well-aligned at the outset of a project can see themselves becoming the wrong choice. Usually, the change comes from either the underlying assumptions changing or your values changing.
* You can’t avoid abstractions as a software engineer - software itself is an abstraction. In a way, software engineers are professional abstraction wranglers. The only thing we can do is stay on top of our abstractions, the underlying assumptions they make, and their implications.