diff options
author | Dave Kerr <dwmkerr@gmail.com> | 2018-01-25 10:57:03 +0700 |
---|---|---|
committer | Dave Kerr <dwmkerr@gmail.com> | 2018-01-25 10:57:03 +0700 |
commit | 5de2a36cc12c1ca714596caf68a35c14628c407e (patch) | |
tree | 587182bf02fed6d01967f3dc639190f2e0bacbef | |
parent | 3303e28fd499490d50275bd4d444b2952c088731 (diff) |
initial brain dump, I'd better get back to work now
-rw-r--r-- | README.md | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -1,2 +1,24 @@ # developer-laws + Laws, Theories, Patterns and Ideas that all developers should know about! + +There are lots of laws which people discuss when talking about development. This repository is a reference and overview of some of the most common ones. Please share and submit PRs! + +I have tried to use a star rating for how 'important' a law is. The more stars, the more likely you are to hear the law referred to, and therefore the more potentially useful it is to know about it. Of course this is highly subjective, I am open to other suggestions. + + +## ⭐⭐ Conway's Law + +[Conway's Law on Wikipedia](https://en.wikipedia.org/wiki/Conway%27s_law) + +This law suggests that the technical boundaries of a system will reflect the structure of the organisation. It is commonly referred to when looking at organisation improvements, Conway's Law suggests that if an organisation is structured into many small, disconnected units, the software it produces will be. If an organisation is built more around 'verticals' which are orientated around features or services, the software systems will also refelect this. + +See also: 'The Spotify Model'. + +## ⭐⭐⭐ The Unix Philosophy + +[The Unix Philososphy on Wikipedia](https://en.wikipedia.org/wiki/Unix_philosophy) + +The Unix Philosophy is that software components should be small, and focused on doing one specific thing well. This can make it easier to build systems by composing together small, simple, well defined units, rather than using large, complex, multi-purpose programs. + +Modern practices like 'Microservice Architecture' can be thought of as an application of this law, where services are small, focused and do one specific thing, allowing complex behaviour to be composed from simple building blocks. |