<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui" -->

---
title: The 20 Software Engineering Laws | daily.dev
description: A curated overview of 20 foundational software engineering laws that explain why projects fail, systems grow complex, and teams slow down. Covers laws grouped...
canonical: https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The 20 Software Engineering Laws | daily.dev
og:description: A curated overview of 20 foundational software engineering laws that explain why projects fail, systems grow complex, and teams slow down. Covers laws grouped...
og:url: https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui
og:image: https://api.daily.dev/og/posts/OwJ1EUvuI.png
og:image:alt: The 20 Software Engineering Laws
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The 20 Software Engineering Laws

**[Tech World With Milan](https://daily.dev/sources/techworld-with-milan)** · 27 min read · 72 upvotes · 7 comments

## Summary

A curated overview of 20 foundational software engineering laws that explain why projects fail, systems grow complex, and teams slow down. Covers laws grouped into six themes: how systems get built (Gall's Law, KISS, Conway's Law, Hyrum's Law, CAP Theorem, Zawinski's Law), how teams lose speed (Brooks's Law, Ringelmann Effect, Price's Law), why plans drift (Hofstadter's Law, Dunning-Kruger Effect, Parkinson's Law), how metrics distort work (Goodhart's Law, Gilb's Law), what breaks under load (Knuth's Optimization Principle, Amdahl's Law, Murphy's Law, Postel's Law), and how to judge better (Sturgeon's Law, Cunningham's Law). Each law is explained with real-world examples from software history and the author's personal career. The post also promotes the author's book covering 56 such laws.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://newsletter.techworld-with-milan.com/p/the-20-software-engineering-laws>

## Community discussion

Top comments from developers on daily.dev.

**@khauma** · 2 upvotes

> Dope!

**@confused\_snake** · 1 upvotes

> Postel's Law is prescriptive, not descriptive and it doesn’t fit the list. It also directly contradicts Hyrum's law.

**@petroff** · 0 upvotes

> wow extensive and awesome!

## Similar posts on daily.dev

- [What I learned from the book Software Engineering at Google](https://daily.dev/posts/what-i-learned-from-the-book-software-engineering-at-google-i6xedpxus) · Tech World With Milan · 132 upvotes · 0 comments
- [Learning Software Architecture](https://daily.dev/posts/learning-software-architecture-wad8q2niq) · matklad · 109 upvotes · 1 comments
- [A complex system designed from scratch never works](https://daily.dev/posts/a-complex-system-designed-from-scratch-never-works-e1zyzvm5v) · The Art of Simplicity · 17 upvotes · 2 comments
- [Code Master Blog: Andy's Laws of AI in Software Engineering](https://daily.dev/posts/code-master-blog-andy-s-laws-of-ai-in-software-engineering-fh24wj7k8) · Ruby Flow · 0 upvotes · 0 comments

---

Tags: [#career](https://daily.dev/tags/career), [#architecture](https://daily.dev/tags/architecture), [#productivity](https://daily.dev/tags/productivity), [#leadership](https://daily.dev/tags/leadership)

[View this post on daily.dev](https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The 20 Software Engineering Laws","url":"https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui"},"datePublished":"2026-04-23T15:08:39.869Z","dateModified":"2026-04-23T15:09:05.096Z","description":"A curated overview of 20 foundational software engineering laws that explain why projects fail, systems grow complex, and teams slow down. Covers laws grouped...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/71d3fe335afb37a369e2320ddc344634?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/71d3fe335afb37a369e2320ddc344634?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Tech World With Milan","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Tech World With Milan","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/737f436491ef436dba1bbab9052e4a04","url":"https://daily.dev/sources/techworld-with-milan"},"commentCount":7,"discussionUrl":"https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":72},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":7}],"keywords":"career,architecture,productivity,leadership","timeRequired":"PT27M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tech World With Milan","item":"https://daily.dev/sources/techworld-with-milan"},{"@type":"ListItem","position":3,"name":"The 20 Software Engineering Laws"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/the-20-software-engineering-laws-owj1euvui","comment":[{"@type":"Comment","text":"Dope!","datePublished":"2026-04-23T17:43:05.394Z","url":"https://daily.dev/posts/OwJ1EUvuI#c-U1JbvwTte","author":{"@type":"Person","name":"Kahlil Wallace","url":"https://daily.dev/khauma","image":"https://media.daily.dev/image/upload/s--QvppE9Ip--/f_auto/v1767378558/avatars/avatar_7eQFeSQRDx0muV3n92gxT?_a=BAMAK+ZW0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"Postel’s Law is prescriptive, not descriptive and it doesn’t fit the list. It also directly contradicts Hyrum’s law.","datePublished":"2026-05-01T05:13:43.130Z","url":"https://daily.dev/posts/OwJ1EUvuI#c-K5yzUzVgV","author":{"@type":"Person","name":"A","url":"https://daily.dev/confused_snake","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"wow extensive and awesome!","datePublished":"2026-04-30T22:18:41.879Z","url":"https://daily.dev/posts/OwJ1EUvuI#c-o9D6aw4IV","author":{"@type":"Person","name":"Bojan","url":"https://daily.dev/petroff","image":"https://lh3.googleusercontent.com/a-/AOh14GjJTnKljsF_nPJ4Df4nbq66qqMt1xUYbZ1H09sKPQ=s100"}}]}
```

