# Optimized for Change

DevFeed: [Optimized for Change](<https://devfeed.tech/articles/optimized-for-change-36186.md>)

Original publisher: [Read original article](<https://overreacted.io/optimized-for-change/>)

Published: 2018-12-12T00:00:00Z

Content type: opinion

Language: en

Sources: [Dan Abramov](<https://devfeed.tech/sources/dan-abramov.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>)

Tags: [api-design](<https://devfeed.tech/tags/api-design.md>), [apis](<https://devfeed.tech/tags/apis.md>), [change](<https://devfeed.tech/tags/change.md>), [code](<https://devfeed.tech/tags/code.md>), [developer](<https://devfeed.tech/tags/developer.md>), [optimized](<https://devfeed.tech/tags/optimized.md>)

## AI overview

The article argues that good API design must account not only for readability, correctness, and performance, but also for how API consumers' code will evolve. It calls this "second order" API design and says APIs should accommodate changes such as moving, renaming, generalizing, optimizing, and fixing code.

## Source excerpt

What makes a great API?