Back to Browse

Hyrum's Law: Hyrum Wright on Programming over Time

3.0K views
Feb 17, 2021
30:37

Hyrum's law is important for anybody building software that is using or is used by other software (which of course means: for everybody building software). The law is as following: With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody. This is important to fully absorb in particular in environments where software dependencies are numerous and complex. The corollary is that any change has the potential to break somebody, no matter how well you plan for extensibility, forward-compatible changes, and management patterns such as semantic versioning. Hyrum Wright works at Google and thus works on what certainly must be one of the biggest code bases on the planet. Google famously uses a mono-repository, meaning that it is easier to investigate code, find dependencies, run tests, and generally manage the code base to minimize the risk of breakage, while still allowing for decentralized and frequent updates. Most practitioners in the API space will not work in ecosystems quite as complex and large as Google's. But they may face other challenges such as having less insight into the code base of the organization. And everybody faces the fact that breaks often do occur in surprising ways. In this conversation, we talk about Hyrum's law, but we also talk about the problem space in general, and about possible ways to mitigate the consequences of Hyrum's law. One such way for example is to avoid "haunted graveyards", i.e. which are parts of the ecosystem that everybody is afraid to touch because of unknown brittleness and dependencies. By being confident about how to manage and change every part of your ecosystem, the prospect of any part breaking becomes less risky because you have the practice to fix those breaks quickly. 👉 Book page: https://www.oreilly.com/library/view/software-engineering-at/9781492082781/ 👉 xkcd 1172: https://xkcd.com/1172/ 👉 Hyrum's law web page: https://www.hyrumslaw.com/

Download

0 formats

No download links available.

Hyrum's Law: Hyrum Wright on Programming over Time | NatokHD