summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Kerr <dwmkerr@gmail.com>2018-01-25 10:57:03 +0700
committerDave Kerr <dwmkerr@gmail.com>2018-01-25 10:57:03 +0700
commit5de2a36cc12c1ca714596caf68a35c14628c407e (patch)
tree587182bf02fed6d01967f3dc639190f2e0bacbef
parent3303e28fd499490d50275bd4d444b2952c088731 (diff)
initial brain dump, I'd better get back to work now
-rw-r--r--README.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/README.md b/README.md
index a2ba3e7..b73ec4c 100644
--- a/README.md
+++ b/README.md
@@ -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.