PageSourceSearch

https://lawsofsoftwareengineering.com/book/

html lawsofsoftwareengineering.com collected 2026-10-03 21:40:24 UTC 48,699 bytes, 65 lines download raw bytes

1<!doctype html><html lang=en-us itemscope itemtype=https://schema.org/WebPage><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=5"><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=color-scheme content="light dark"><title>Laws of Software Engineering: The Book | Laws of Software Engineering</title><meta name=title content="Laws of Software Engineering: The Book | Laws of Software Engineering"><meta name=description content="A comprehensive guide to 63+ laws and principles that govern software development"><meta name=keywords content="software engineering laws,programming principles,Conway's Law,Brooks's Law,YAGNI,Hyrum's Law,software development principles,coding best practices,software architecture,engineering management"><meta itemprop=name content="Laws of Software Engineering: The Book | Laws of Software Engineering"><meta itemprop=description content="A comprehensive guide to 63+ laws and principles that govern software development"><meta itemprop=image content="https://lawsofsoftwareengineering.com/og/book.png"><link rel=canonical href=https://lawsofsoftwareengineering.com/book/><meta name=robots content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta name=author content="Dr. Milan Milanović"><meta name=generator content="Hugo 0.153.3"><meta property="og:type" content="books.book"><meta property="og:url" content="https://lawsofsoftwareengineering.com/book/"><meta property="og:title" content="Laws of Software Engineering: The Book | Laws of Software Engineering"><meta property="og:description" content="A comprehensive guide to 63+ laws and principles that govern software development"><meta property="og:site_name" content="Laws of Software Engineering"><meta property="og:locale" content="en_US"><meta property="og:image" content="https://lawsofsoftwareengineering.com/og/book.png"><meta property="og:image:type" content="image/png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Laws of Software Engineering: The Book"><meta property="book:isbn" content="978-969-9893-68-1"><meta property="book:author" content="Dr. Milan Milanović"><meta property="profile:first_name" content="Milan"><meta property="profile:last_name" content="Milanović"><meta name=twitter:card content="summary_large_image"><meta name=twitter:site content="@milan_milanovic"><meta name=twitter:creator content="@milan_milanovic"><meta name=twitter:title content="Laws of Software Engineering: The Book | Laws of Software Engineering"><meta name=twitter:description content="A comprehensive guide to 63+ laws and principles that govern software development"><meta name=twitter:image content="https://lawsofsoftwareengineering.com/og/book.png"><meta name=twitter:image:alt content="Laws of Software Engineering: The Book"><meta name=theme-color content="#8755FF"><meta name=msapplication-navbutton-color content="#8755FF"><meta name=apple-mobile-web-app-status-bar-style content="#8755FF"><meta name=mobile-web-app-capable content="yes"><link rel=icon type=image/png href=/favicon-96x96.png sizes=96x96><link rel=icon type=image/svg+xml href=/favicon.svg><link rel="shortcut icon" href=/favicon.ico><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=mask-icon href=/safari-pinned-tab.svg color=#8755FF><meta name=msapplication-TileColor content="#8755FF"><meta name=apple-mobile-web-app-title content="Laws of Software Engineering"><link rel=manifest href=/site.webmanifest><link rel=alternate type=application/rss+xml title="Laws of Software Engineering RSS Feed" href=https://lawsofsoftwareengineering.com/index.xml><link rel=alternate type=application/json title="Laws of Software Engineering API" href=https://lawsofsoftwareengineering.com/api.json><link rel=stylesheet href=/css/bundle.min.d5768d866974c521e781e24499d8c32d3f7d767f08d87c9086e920d853ec60eb.css integrity="sha256-1XaNhml0xSHngeJEmdjDLT99dn8I2HyQhukg2FPsYOs=" crossorigin=anonymous><link rel=preload as=font type=font/woff2 href=/fonts/dm-sans-normal-latin.woff2 crossorigin><link rel=preload as=font type=font/woff2 href=/fonts/crimson-pro-normal-latin.woff2 crossorigin>
1<script type=application/ld+json>{"@context":"https://schema.org","@type":"Book","name":"Laws of Software Engineering","description":"A comprehensive guide to 63+ laws and principles that govern software development","url":"https://lawsofsoftwareengineering.com/book/","isbn":"978-969-9893-68-1","author":{"@type":"Person","name":"Dr. Milan Milanović","url":"https://newsletter.techworld-with-milan.com/"},"publisher":{"@type":"Organization","name":"Laws of Software Engineering"},"inLanguage":"en","numberOfPages":300,"bookFormat":["https://schema.org/EBook","https://schema.org/Paperback"],"genre":"Software Engineering","about":{"@type":"Thing","name":"Software Engineering Principles"}}</script>
1<script src=/js/theme-init.min.33f03a04875c76138ea97a2b0e443ff9d7be02f9b4814db01f8d2ee6a65f1cd4.js integrity="sha256-M/A6BIdcdhOOqXorDkQ/+de+Avm0gU2wH40u5qZfHNQ=" crossorigin=anonymous></script>
1<script src=/js/site-exec.min.ee7c289957aed3fe1ce795c9178c698015f9c33e6ee39c7f1664cb70e839a744.js integrity="sha256-7nwomVeu0/4c55XJF4xpgBX5wz5u45x/FmTLcOg5p0Q=" crossorigin=anonymous defer></script>
1</head><body><noscript><div style=padding:1rem;background:#fff3cd;color:#856404;text-align:center>This site works best with JavaScript enabled. Search and filtering require JavaScript.</div></noscript><a href=#main-content class=skip-link>Skip to main content</a><header class=site-header><div class=container><nav class=nav aria-label="Main navigation"><a href=/ class=logo><img src=/images/logo.png alt class=logo-img>
2Laws of Software Engineering
3</a><button class=nav-toggle aria-label="Toggle navigation menu" aria-expanded=false aria-controls=nav-links>
4<span class=hamburger></span></button><div class=nav-links id=nav-links><a href=/newsletter/>NEWSLETTER</a>
5<a href=/info/>INFO</a>
6<a href=/book/ class=active aria-current=page>BOOK</a>
7<a href=/poster/>POSTER</a>
8<a href=/cards/>CARDS</a>
9<button class=theme-toggle aria-label="Toggle dark mode" title="Toggle dark mode">
10<svg class="icon-moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg>
11<svg class="icon-sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></div></nav></div></header><main><div id=main-content class=page-detail><div class=page-header><div class=container><a href=/ class=back-button-dark>← Back to Laws</a><h1 class=page-title>Laws of Software Engineering: The Book</h1></div></div><div class=page-content><div class=container><div class=content-wrapper><div class=book-hero><div class=book-cover><img src=/images/cover.png alt="Laws of Software Engineering Book Cover"></div><div class=book-intro><p>For the first time, over 50 years of software engineering wisdom is collected in one place. This 300-page book brings together 63+ empirical laws and principles that experienced engineers know, but have never been organized until now.</p><p>Each law is a standalone read with its origins, real-world examples, and connections to related principles. Some laws support each other, others contradict, and knowing when to apply which is what separates senior engineers from the rest.</p><p>Whether you're a developer, tech lead, or engineering manager, these laws will help you make better calls and avoid repeating old mistakes.</p><div class=book-cta><a href=#buy class=btn-primary>Buy the Book</a>
12<a href=/files/Look%20Inside%20-%20Laws%20of%20Software%20Engineering.pdf class=btn-secondary target=_blank>Read Sample</a></div></div></div><div class=foreword-section><h2>Foreword by</h2><div class=foreword-authors><div class=foreword-author><a href=https://www.linkedin.com/in/dr-rebecca-parsons/ target=_blank rel=noopener><img src=/images/reviewers/rebecca-parsons.jpg alt="Dr. Rebecca Parsons" class=foreword-image></a><div class=foreword-info><a href=https://www.linkedin.com/in/dr-rebecca-parsons/ target=_blank rel=noopener><span class=foreword-name>Dr. Rebecca Parsons</span>
13</a><span class=foreword-title>CTO Emerita at Thoughtworks, Co-author of Building Evolutionary Architectures</span></div></div><div class=foreword-author><a href=https://addyosmani.com/ target=_blank rel=noopener><img src=/images/reviewers/addy-osmani.jpg alt="Addy Osmani" class=foreword-image></a><div class=foreword-info><a href=https://addyosmani.com/ target=_blank rel=noopener><span class=foreword-name>Addy Osmani</span>
14</a><span class=foreword-title>Engineering Director at Google Cloud AI, Author of Leading Effective Engineering Teams</span></div></div></div></div><div class=toc-wrapper><h2 id=whats-inside>What&rsquo;s Inside</h2><p>The book is organized into seven parts, each covering a different aspect of software engineering:</p><div class=toc-grid><div class=toc-section><h3>Part I: Architecture & Complexity</h3><ol class=toc-list><li>
14Gall's Law</li><li>Law of Leaky Abstractions<span class=sidenote-ref>+ George Box's Law</span></li><li>Tesler's Law</li><li>CAP Theorem</li><li>Hyrum's Law</li><li>Second-System Effect</li><li>Fallacies of Distributed Computing</li><li>Law of Unintended Consequences</li><li>Zawinski's Law</li></ol></div><div class=toc-section><h3>Part II: People, Teams & Organizations</h3><ol class=toc-list start=10><li>Conway's Law<span class=sidenote-ref>+ The Spotify Model</span></li><li>Brooks's Law<span class=sidenote-ref>+ Little's Law</span></li><li>Dunbar's Number</li><li>Ringelmann Effect<span class=sidenote-ref>+ The Two-Pizza Rule</span></li><li>Price's Law</li><li>Putt's Law</li><li>Peter Principle</li><li>Bus Factor<span class=sidenote-ref>+ The Dead Sea Effect</span></li><li>Dilbert Principle</li></ol></div><div class=toc-section><h3>Part III: Time, Estimation & Planning</h3><ol class=toc-list start=19><li>Hofstadter's Law</li><li>Parkinson's Law</li><li>The Ninety-Ninety Rule</li><li>Goodhart's Law<span class=sidenote-ref>+ The Cobra Effect</span></li><li>Gilb's Law</li><li>Knuth's Optimization Principle</li></ol></div><div class=toc-section><h3>Part IV: Quality, Maintenance & Evolution</h3><ol class=toc-list start=25><li>Murphy's / Sod's Law</li><li>Postel's Law</li><li>Broken Windows Theory</li><li>The Boy Scout Rule</li><li>Technical Debt</li><li>Linus's Law</li><li>Kernighan's Law</li><li>Testing Pyramid<span class=sidenote-ref>+ The Beyoncé Rule</span></li><li>The Pesticide Paradox</li><li>Lehman's Laws</li><li>Sturgeon's Law</li></ol></div><div class=toc-section><h3>Part V: Scale, Performance & Growth</h3><ol class=toc-list start=36><li>Amdahl's Law</li><li>Gustafson's Law</li><li>Metcalfe's Law<span class=sidenote-ref>+ Sarnoff's & Reed's Laws</span></li></ol></div><div class=toc-section><h3>Part VI: Coding & Design Principles</h3><ol class=toc-list start=39><li>DRY Principle</li><li>KISS Principle</li><li>YAGNI</li><li>SOLID Principles</li><li>Law of Demeter</li><li>Principle of Least Astonishment</li></ol></div><div class=toc-section><h3>Part VII: Decision-Making & Biases</h3><ol class=toc-list start=45><li>Dunning-Kruger Effect<span class=sidenote-ref>+ Impostor Syndrome</span></li><li>Hanlon's Razor</li><li>Occam's Razor</li><li>Sunk Cost Fallacy</li><li>The Map Is Not the Territory</li><li>Confirmation Bias</li><li>Hype Cycle & Amara's Law</li><li>Lindy Effect</li><li>First Principles Thinking</li><li>Inversion</li><li>Pareto Principle</li><li>Cunningham's Law</li></ol></div></div></div><h2 id=how-to-read-the-book>How to Read the Book</h2><p>The book is organized into seven standalone parts, each tackling a different dimension of software engineering:</p><ul><li><strong>Part I: Architecture & Complexity</strong> - the fundamental forces that shape how we design systems.</li><li><strong>Part II: People, Teams & Organizations</strong> - how humans work together (and why it&rsquo;s often harder than the code).</li><li><strong>Part III: Time, Estimation & Planning</strong> - the art and science of predicting what we can&rsquo;t predict.</li><li><strong>Part IV: Quality, Maintenance & Evolution</strong> - keeping software healthy as it grows and changes.</li><li><strong>Part V: Scale, Performance & Growth</strong> - what happens when things get big, fast, or both.</li><li><strong>Part VI: Coding & Design Principles</strong> - timeless guidance for writing code you won&rsquo;t regret.</li><li><strong>Part VII: Decision-Making & Biases</strong> - thinking more clearly when the pressure is on.</li></ul><p>This is a book you&rsquo;ll come back to. Start with the laws you already recognize, then dig into the ones that matter most for what you&rsquo;re working on next. It&rsquo;s designed as a reference you reach for often, not something you read once and shelve.</p><p>Of course, you can read this book from cover to cover, for a complete understanding, but you may find it more useful to go directly to the section that addresses your needs at the moment. Are you building a distributed system? Part I is where you need to begin. Is your team experiencing friction? Part II will assist you. Are you struggling with estimates? Part III has some advice.</p><p>Here&rsquo;s something worth knowing: these laws don&rsquo;t live in isolation. Some back each other up, others pull in opposite directions. Learning when to reach for which one is often what sets experienced engineers apart. The &ldquo;Related Laws&rdquo; sections throughout the book show you how these ideas connect and sometimes clash.</p><p>Even if you&rsquo;ve been in the industry for years, you might find fresh angles on laws you thought you understood. A junior developer and a staff engineer will read Conway&rsquo;s Law differently, and that&rsquo;s the point. These principles reveal new layers as your perspective grows.</p><p>One more thing: how these laws show up in practice varies a lot depending on where you work. A scrappy startup and a large enterprise will feel Brooks&rsquo;s Law in very different ways. The real skill isn&rsquo;t memorizing these laws. It&rsquo;s recognizing which one applies to your situation right now.</p><div class=book-callout-section><div class=book-callout-inner><div class=book-callout-icon><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><line x1="20" y1="4" x2="8.12" y2="15.88"/><line x1="14.47" y1="14.48" x2="20" y2="20"/><line x1="8.12" y1="8.12" x2="12" y2="12"/></svg></div><div class=book-callout-text><strong>Free printable card deck</strong><p>The laws as printable flashcards to go with the book. Print them double-sided at home, cut them out, and you have a deck to flip through or quiz a teammate with.</p></div><a href=/cards/ class="btn-primary book-callout-btn">Print the card deck</a></div></div><div class=section-divider></div><h2 id=reviews>Reviews</h2><p>The book was written with significant input and reviews from 20 experienced engineers, architects and managers. Thank y
14ou!</p><div class=reviews-grid><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Laws of Software Engineering collects the most profound and impactful observations on the dynamics of software and how it evolves in a single volume. Dr. Milan's book is more than a mere collection of wisdom. He also adds real-world industry cases that exemplify each law in practice. Laws of Software Engineering is an invaluable book that should be on the shelf of any technical leader, architect, or aspiring senior developer.</p></div><div class=review-author><a href=https://www.linkedin.com/in/adam-tornhill-71759b48/ target=_blank rel=noopener><img src=/images/reviewers/adam-tornhill.jpg alt="Adam Tornhill" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/adam-tornhill-71759b48/ target=_blank rel=noopener><span class=reviewer-name>Adam Tornhill</span>
15</a><span class=reviewer-title>Founder at CodeScene, Author of Your Code as a Crime Scene</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>A delightfully compact book infused with hard-earned lessons of wisdom. You can either spend decades discovering these laws through the scars of experience, or allow Milan to unlock their secrets in a single weekend.</p><br><p>Choose wisely.</p></div><div class=review-author><a href=https://www.linkedin.com/in/maarten-dalmijn/ target=_blank rel=noopener><img src=/images/reviewers/maarten-dalmijn.jpg alt="Maarten Dalmijn" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/maarten-dalmijn/ target=_blank rel=noopener><span class=reviewer-name>Maarten Dalmijn</span>
16</a><span class=reviewer-title>Author of Driving Value with Sprint Goals</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Milan has done the community an invaluable service by compiling these timeless laws into one accessible resource. What sets this book apart isn't just its comprehensiveness, it's that each law is presented with the clarity and context needed to actually apply it. I wish I'd had this compilation twenty years ago, it would have saved me from learning some of these lessons the hard way.</p></div><div class=review-author><a href=https://www.linkedin.com/in/matthias-patzak/ target=_blank rel=noopener><img src=/images/reviewers/matthias-patzak.jpg alt="Matthias Patzak" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/matthias-patzak/ target=_blank rel=noopener><span class=reviewer-name>Matthias Patzak</span>
17</a><span class=reviewer-title>CTO, Author of "All Hands on Tech," Executive in Residence at AWS</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Domain-driven design teaches us that the most effective way to tackle complex systems is to work with multiple models, each fine-tuned to address a specific problem. This book takes the same approach at a higher level of abstraction: it provides a catalog of effective thinking models for system design, organizational dynamics, project management, and other aspects of software engineering. Laws of Software Engineering won't make decisions for you, but will provide the clarity to make them deliberately.</p></div><div class=review-author><a href=https://www.linkedin.com/in/vladikk/ target=_blank rel=noopener><img src=/images/reviewers/vlad-khononov.jpg alt="Vlad Khononov" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/vladikk/ target=_blank rel=noopener><span class=reviewer-name>Vlad Khononov</span>
18</a><span class=reviewer-title>Author of Balancing Coupling in Software Design and Learning Domain-Driven Design</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>I love a great reference book and this is one! A single place to learn and remind yourself about the 'laws' and patterns that help us steer software projects toward success. What makes this collection truly great is the inclusion of all the 'socio' patterns, as well as the technical ones. The humans who use and create software systems are the most important part. This book will become a well-thumbed reference on my shelf.</p></div><div class=review-author><a href=https://www.linkedin.com/in/jacquelineread/ target=_blank rel=noopener><img src=/images/reviewers/jacqui-read.webp alt="Jacqui Read" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/jacquelineread/ target=_blank rel=noopener><span class=reviewer-name>Jacqui Read</span>
19</a><span class=reviewer-title>Lead Technical Architect, Author of Communication Patterns: A Guide for Developers and Architects</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>I've been collecting mental models from tech for 20 years, Conway's Law here, Hyrum's Law from a Google talk, Tesler's Law from the guy at Xerox. They lived in different c
19orners of my brain, never talking to each other. Milan put them in the same room. What struck me wasn't learning new laws, I'd heard most of them. It was seeing them together. That kind of clarity only comes when someone does the hard work of finding the original sources, tracing the connections, and putting them in a sequence that actually flows.</p><br><p>If you've been in tech long enough to learn these lessons the hard way, through failed projects and late-night debugging sessions, this book will feel like someone finally organized your messy notes. Useful whether you're a developer, a manager, or a co-founder. The laws don't care about your title.</p></div><div class=review-author><a href=https://www.linkedin.com/in/thiagoghisi/ target=_blank rel=noopener><img src=/images/reviewers/thiago-ghisi.jpg alt="Thiago Ghisi" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/thiagoghisi/ target=_blank rel=noopener><span class=reviewer-name>Thiago Ghisi</span>
20</a><span class=reviewer-title>Director of Engineering, ex-Nubank, Apple & American Express</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Author has produced something genuinely useful: a Rosetta Stone for the shared vocabulary of experienced software engineering. The book's greatest strength is its curation. Assembling laws that span systems architecture, organisational dynamics, cognitive biases, and coding principles under one roof, and organising them in a way that mirrors how real problems actually emerge in engineering work. As a "shared language" resource to hand to your team - especially one with mixed experience levels - it's hard to beat.</p></div><div class=review-author><a href=https://www.linkedin.com/in/alexrashkov/ target=_blank rel=noopener><img src=/images/reviewers/alex-rashkov.jpg alt="Alex Rashkov" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/alexrashkov/ target=_blank rel=noopener><span class=reviewer-name>Alex Rashkov</span>
21</a><span class=reviewer-title>Engineering Leader at Meta</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Dr Milan Milanovic does an excellent job describing each law, with a good eye for concrete examples and for the places where multiple laws might relate to each other. This book is both a fun read cover-to-cover and a useful piece of reference material for professionals who are looking for guidance in their day-to-day work.</p></div><div class=review-author><a href=https://au.linkedin.com/in/sean-goedecke-5495a7137 target=_blank rel=noopener><img src=/images/reviewers/sean-goedecke.jpg alt="Sean Goedecke" class=reviewer-image></a><div class=reviewer-info><a href=https://au.linkedin.com/in/sean-goedecke-5495a7137 target=_blank rel=noopener><span class=reviewer-name>Sean Goedecke</span>
22</a><span class=reviewer-title>Staff Software Engineer, GitHub</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Milan's book is one of those rare "long time no see" reads. It took me back to my early days as a programmer, when I read every book I could find, not just to learn concepts, but to discover guidance grounded in real-world experience. This book captures exactly what I loved about my favorite technical reads from that time: practical wisdom delivered without unnecessary complexity.</p></div><div class=review-author><a href=https://www.linkedin.com/in/marvinferreira/ target=_blank rel=noopener><img src=/images/reviewers/marvin-ferreira.jpg alt="Marvin Ferreira" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/marvinferreira/ target=_blank rel=noopener><span class=reviewer-name>Marvin Ferreira</span>
23</a><span class=reviewer-title>Engineering Manager, Uber</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>This book is ideal for those early in their software careers or looking to strengthen their foundational knowledge, it offers a carefully structured and thoughtfully categorised introduction to core software engineering concepts, enriched with interesting references to established laws.</p></div><div class=review-author><a href=https://www.linkedin.com/in/lucamezzalira/ target=_blank rel=noopener><img src=/images/reviewers/luca-mezzalira.jpg alt="Luca Mezzalira" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/lucamezzalira/ target=_blank rel=noopener><span class=reviewer-name>Luca Mezzalira</span>
24</a><span class=reviewer-title>Principal Solutions Architect, Amazon</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>There's a career's worth of wisdom here. Milan is an experienced engineer who has encountered these patterns many times over, and it shows. If you want a practical reference for the forces that shape software systems and team
24s, this is it.</p></div><div class=review-author><a href=https://www.linkedin.com/in/lewisowain/ target=_blank rel=noopener><img src=/images/reviewers/owain-lewis.jpg alt="Owain Lewis" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/lewisowain/ target=_blank rel=noopener><span class=reviewer-name>Owain Lewis</span>
25</a><span class=reviewer-title>Director of Software Engineering at Oracle</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Laws of Software Engineering does a great job of turning a broad set of familiar ideas into something practical and genuinely useful. What stood out to me is that it does not treat these laws as rigid rules, but as context-dependent mental models you can use when real engineering trade-offs show up, whether that is architecture, delivery, quality, or team design. It feels less like a book you read once and more like a reference you come back to when you are making decisions in the real world.</p></div><div class=review-author><a href=https://www.linkedin.com/in/ryansmurphy1/ target=_blank rel=noopener><img src=/images/reviewers/ryan-murphy.png alt="Ryan Murphy" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/ryansmurphy1/ target=_blank rel=noopener><span class=reviewer-name>Ryan Murphy</span>
26</a><span class=reviewer-title>Engineering Manager at Yelp</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>I enjoyed reading this book, because it distills decades of software engineering reality into a compact, structured reference. It is a practical catalog of laws and principles you return to when systems grow, coordination costs rise, and trade-offs become unavoidable.</p></div><div class=review-author><a href=https://www.linkedin.com/in/romanoroth/ target=_blank rel=noopener><img src=/images/reviewers/romano-roth.jpg alt="Romano Roth" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/romanoroth/ target=_blank rel=noopener><span class=reviewer-name>Romano Roth</span>
27</a><span class=reviewer-title>Global Chief of Cybernetic Transformation, Zühlke Group</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>As AI transforms the very nature of software engineering, this timely collection of enduring principles gives practitioners both the theoretical grounding and the practical toolkit they need to understand their systems and navigate what comes next.</p></div><div class=review-author><a href=https://www.linkedin.com/in/annievella/ target=_blank rel=noopener><img src=/images/reviewers/annie-vella.jpg alt="Annie Vella" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/annievella/ target=_blank rel=noopener><span class=reviewer-name>Annie Vella</span>
28</a><span class=reviewer-title>Distinguished Engineer at Westpac New Zealand</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Product teams inevitably fall into traps. Work becomes more complex than necessary, progress slows, and delivering real value starts to feel impossible. While proven practices exist to get teams unstuck, they are scattered and hard to apply in the moment. This book brings them together. It is a practical companion that helps teams break free from the maze and operate as true value maximisers.</p></div><div class=review-author><a href=https://www.linkedin.com/in/davidavpereira/ target=_blank rel=noopener><img src=/images/reviewers/david-pereira.jpg alt="David Pereira" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/davidavpereira/ target=_blank rel=noopener><span class=reviewer-name>David Pereira</span>
29</a><span class=reviewer-title>Product Leader, Author of Untrapping Product Teams</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Reading the book felt like touring an almanac of software engineering history. It will help any tech leader formulate a useful abstraction of their viewpoint, while also giving beginners a roadmap to the set of assumptions that define our work today.</p></div><div class=review-author><a href=https://www.linkedin.com/in/cukalovic/ target=_blank rel=noopener><img src=/images/reviewers/jovan-cukalovic.jpg alt="Jovan Cukalovic" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/cukalovic/ target=_blank rel=noopener><span class=reviewer-name>Jovan Cukalovic</span>
30</a><span class=reviewer-title>Senior Director of Engineering at Nutanix</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>What makes this book good is that it captures those patterns clearly and without fluff. It's easy to read, easy to understand, and immediately applicable to real work. Each chapter gets to the point, explains why the law matters, and shows how it appears in modern software systems and team
30s. An absolute must-read for any tech professional, whether a manager or an engineer!</p></div><div class=review-author><a href=https://www.linkedin.com/in/fiodar-sazanavets/ target=_blank rel=noopener><img src=/images/reviewers/fiodar-sazanavets.jpg alt="Fiodar Sazanavets" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/fiodar-sazanavets/ target=_blank rel=noopener><span class=reviewer-name>Fiodar Sazanavets</span>
31</a><span class=reviewer-title>Senior AI Engineer, ex-Microsoft</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>High-performing teams are defined by a culture of shared practices. For those in an early growth phase, this book bridges that gap perfectly. It isn't just a manual on syntax, but a strategic compass for new tech leads and engineering managers. If you approach it with an open mind and consult it when things get "sticky," you'll leverage a massive reservoir of industry experience to navigate your team toward success.</p></div><div class=review-author><a href=https://www.linkedin.com/in/upopovic/ target=_blank rel=noopener><img src=/images/reviewers/uros-popovic.jpg alt="Uros Popovic" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/upopovic/ target=_blank rel=noopener><span class=reviewer-name>Uros Popovic</span>
32</a><span class=reviewer-title>Staff Software Engineer</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>Laws of Software Engineering brings theory-heavy laws into practical context, helping readers understand the reasoning behind the decisions made when building software and teams. Milan brings together established principles and contextualizes them through years of real-world experience, translating abstract ideas into concrete examples drawn from delivery realities. The result is a grounded, credible perspective that resonates with engineers and leaders who operate under real constraints and trade-offs.</p></div><div class=review-author><a href=https://www.linkedin.com/in/tstrv/ target=_blank rel=noopener><img src=/images/reviewers/tosho-trajanov.jpg alt="Tosho Trajanov" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/tstrv/ target=_blank rel=noopener><span class=reviewer-name>Tosho Trajanov</span>
33</a><span class=reviewer-title>CTO & Co-founder, Adeva</span></div></div></div><div class=review-card><div class=review-quote-icon>❝</div><div class=review-content><p>This book cuts through architectural theory to focus on laws that describe how systems actually behave. Milan presents them clearly, without unnecessary complexity. Having built dozens of systems over the last 15 years, I immediately recognized the value of this book: it belongs on your desk, ready for reference, not gathering dust on a shelf.</p></div><div class=review-author><a href=https://www.linkedin.com/in/jedrzejewski-maciej/ target=_blank rel=noopener><img src=/images/reviewers/maciej-jedrzejewski.jpg alt="Maciej Jędrzejewski" class=reviewer-image></a><div class=reviewer-info><a href=https://www.linkedin.com/in/jedrzejewski-maciej/ target=_blank rel=noopener><span class=reviewer-name>Maciej Jędrzejewski</span>
34</a><span class=reviewer-title>Software Architect, Author of Master Software Architecture</span></div></div></div></div><div class=section-divider></div><h2 id=buy>Buy the Book</h2><div class=buy-options><div class="buy-card buy-primary"><div class=buy-badge>Most Popular</div><h3>eBook</h3><p class=buy-description>Get instant access in your preferred format</p><div class=buy-formats><span class=format-tag>PDF</span>
35<span class=format-tag>ePub</span></div><div class=buy-buttons><a href=https://techworldwithmilan.gumroad.com/l/lawsofsoftwareengineering class="btn-buy btn-buy-primary" target=_blank rel=noopener>Get it as ePUB and PDF</a><p class=buy-separator>On Patreon:</p><a href="https://www.patreon.com/posts/laws-of-software-155198996?source=storefront" class="btn-buy btn-buy-primary" target=_blank rel=noopener>Buy on Patreon</a><p class=buy-separator>On Amazon:</p><a href=https://www.amazon.com/dp/B0GXH5JYVP class="btn-buy btn-buy-amazon" target=_blank rel=noopener>Get it on Kindle</a></div><p class=buy-kindle-note>You can send the ePub version to Kindle via Amazon's <a href=https://www.amazon.com/sendtokindle target=_blank rel=noopener>Send to Kindle</a> tool.</p></div><div class=buy-card><h3>Print</h3><p class=buy-description>Physical copy shipped worldwide</p><div class=buy-formats><span class=format-tag>Paperback</span>
36<span class=format-tag>Hardcover</span></div><div class=buy-buttons><a href="https://www.amazon.com/dp/9699893680/?ref_=lse_bookpage" class="btn-buy btn-buy-amazon" target=_blank rel=noopener>Paperback on Amazon</a><p class=buy-separator>or</p><a href=https://www.amazon.com/dp/B0GXFCD1PT class="btn-buy btn-buy-amazon" target=_blank rel=noopener>Hardcover on Amazon</a></div></div><div class=buy-card><h3>Audiobook</h3><p class=buy-description>Narrated, 6 hr 9 min runtime</p><div class=buy-formats><span class=format-tag>M4B</span>
37<span class=format-tag>MP3</span></div><div class=buy-buttons><p class=buy-separator>Listen to a sample first:</p><audio controls preload=none class=audiobook-sample><source src=/files/Laws-of-Software-Engineering-Sample.mp3 type=audio/mpeg>Your browser does not support the audio element.</audio><p class=buy-separator>Then get the full audiobook:</p><a href=https://techworldwithmilan.gumroad.com/l/lawsofsoftwareengineering-audiobook class="btn-buy btn-buy-primary" target=_blank rel=noopener>Buy Audiobook</a><p class=buy-separator>Also available on:</p><div class=buy-retailers><a href="https://books.apple.com/us/audiobook/laws-of-software-engineering-a-guide-to-the/id6776807555?uo=4" class=btn-retailer target=_blank rel=noopener>
37<svg class="retailer-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12.152 6.896c-.948.0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831.0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"/></svg>
38<span>Apple Books</span>
39</a><a href=https://www.kobo.com/us/en/audiobook/laws-of-software-engineering class=btn-retailer target=_blank rel=noopener><svg class="retailer-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M21 4H3A1 1 0 002 5v14a1 1 0 001 1h18a1 1 0 001-1V5a1 1 0 00-1-1zm-9 13.5c-1.4-.9-3.2-1.5-5-1.5H4V6h3c1.8.0 3.6.6 5 1.5v10zm8-1.5h-3c-1.8.0-3.6.6-5 1.5v-10C13.4 6.6 15.2 6 17 6h3v10z"/></svg>
40<span>Kobo / Walmart</span>
41</a><a href=https://www.everand.com/audiobook/1047348389/Laws-of-Software-Engineering-A-guide-to-the-patterns-that-shape-software-systems-teams-and-decisions class=btn-retailer target=_blank rel=noopener><svg class="retailer-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M11.635.0C6.633.0 3.139 3.067 3.139 7.459v.06c.008.085.004.169.004.254.0 1.725.438 3.09 1.253 4.057s1.885 1.451 3.21 1.451c1.108.0 1.98-.336 2.617-1.008a3.384 3.384.0 00.955-2.412c0-.96-.308-1.715-.926-2.263-.618-.549-1.278-.823-1.979-.823a4.47 4.47.0 00-.859.112c-.344.086-.573.129-.687.129-.51.0-.764-.308-.764-.924.0-1.035.516-1.925 1.547-2.67.302-.218.612-.406.927-.568.907-.411 1.988-.637 3.198-.637 2.33.0 4.423.61 6.238 1.816l-1.004 1.602 1.893 1.248 2.205-3.303-.799-.644C17.75.987 14.878.0 11.635.0zm5.683 10.682c-1.108.0-1.98.336-2.617 1.007a3.384 3.384.0 00-.955 2.413c0 .96.31 1.715.928 2.263.617.548 1.276.823 1.976.823.217.0.503-.038.86-.112.344-.086.572-.129.687-.129.51.0.764.308.764.924.0.222-.025.436-.072.645-.849 2.079-3.022 3.267-6.166 3.267-2.671.0-5.233-.848-7.319-2.408l1.233-1.52-1.785-1.39L2.25 19.63l.783.703C5.673 22.698 9.114 24 12.723 24c.402.0.791-.018 1.172-.05 2.077-.094 4.15-.87 5.61-2.188 1.497-1.35 2.245-3.215 2.245-5.592.0-1.725-.407-3.07-1.223-4.037-.814-.968-1.884-1.451-3.209-1.451z"/></svg>
42<span>Everand (Scribd)</span>
43</a><a href=https://www.storytel.com/tv/books/laws-of-software-engineering-a-guide-to-the-patterns-that-shape-software-systems-teams-and-decisions-14527262 class=btn-retailer target=_blank rel=noopener><svg class="retailer-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3a9 9 0 00-9 9v6a2 2 0 002 2h1.5a1 1 0 001-1v-5a1 1 0 00-1-1H5v-1a7 7 0 0114 0v1h-1.5a1 1 0 00-1 1v5a1 1 0 001 1H19a2 2 0 002-2v-6a9 9 0 00-9-9z"/></svg>
44<span>Storytel</span></a></div></div><p class=buy-kindle-note>M4B with embedded chapters + per-chapter MP3s. DRM-free. All sales final.</p></div></div><h2 id=translations>Translations</h2><p>Laws of Software Engineering is available in other languages:</p><ul class=translations-list><li><strong>Serbian:</strong> <a href=https://knjige.kombib.rs/zakoni-softverskog-inzenjerstva target=_blank rel=noopener>Zakoni softverskog inženjerstva</a> (Kombib)</li></ul><h2 id=errata>Errata</h2><p>Corrections to the published editions are tracked on the <a href=/errata/>errata page</a>. If you spot a mistake in the book, that page explains how to report it.</p><div class=author-wrapper><h2 id=about-the-author>About the Author</h2><div class=author-section-large><img src=/images/Milan.png alt="Dr. Milan Milanović" class=author-image-large><div class=author-bio-large><p>I&rsquo;m a software engineer and CTO with over 20 years of experience, from startups to large enterprises, including big tech as a contractor. I hold a Ph.D. in Computer Science, have authored over 20 scientific publications with 440+ citations, and am recognized as a Microsoft MVP for Developer Technologies.</p><p>With each new role, from developer to architect to CTO, I encountered the same patterns. The same struggles. The same failures. The same hard-won insights that engineers keep rediscovering, often at great cost.</p><p>I started collecting these laws and principles for myself, then for my teams. When I started my <a href=/newsletter/>newsletter</a>, I shared them with the world. Today, my writing on software, architecture, and leadership reaches over 400,000 engineers.</p><p>This book represents everything I wish I&rsquo;d had when I started. I hope it spares you some of the pain I went through.</p><div class=author-links><a href=https://milan.milanovic.org/ target=_blank rel=noopener title="Personal site"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3.0 014 10 15.3 15.3.0 01-4 10A15.3 15.3.0 018 12a15.3 15.3.0 014-10z"/></svg>
45<span>Website</span>
46</a><a href=https://newsletter.techworld-with-milan.com/ target=_blank rel=noopener title=Newsletter><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1.0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1.0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg>
47<span>Newsletter</span>
48</a><a href=https://www.linkedin.com/in/milanmilanovic/ target=_blank rel=noopener title=LinkedIn><svg width="20" height="20" viewBox="0 0 24 24">
48<path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853.0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601.0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144.0-2.063-.926-2.063-2.065.0-1.138.92-2.063 2.063-2.063 1.14.0 2.064.925 2.064 2.063.0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225.0H1.771C.792.0.0.774.0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2.0 22.222.0h.003z"/></svg>
49<span>LinkedIn</span>
50</a><a href=https://twitter.com/milan_milanovic target=_blank rel=noopener title="X (Twitter)"><svg width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
51<span>X</span>
52</a><a href=https://github.com/milanm target=_blank rel=noopener title=GitHub><svg width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M12 0C5.374.0.0 5.373.0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931.0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176.0.0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221.0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"/></svg>
53<span>GitHub</span></a></div></div></div></div><p><em>Every senior engineer I know learned these laws the hard way. This book exists so you don&rsquo;t have to.</em></p></div></div></div></div></main><footer class=site-footer><div class=container><div class=footer-content><div class=footer-main><div class=footer-brand><a href=https://newsletter.techworld-with-milan.com/ target=_blank rel=noopener class=footer-brand-logo aria-label="TechWorld with Milan"><img src=/images/tech-world-with-milan-logo-white.png alt="TechWorld with Milan" class=footer-brand-logo-img></a><p class=footer-tagline>A collection of principles and patterns that shape software systems, teams, and decisions.</p></div><div class=footer-social><a href=https://milan.milanovic.org/ target=_blank rel=noopener aria-label=Website title="Visit Website"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3.0 014 10 15.3 15.3.0 01-4 10A15.3 15.3.0 018 12a15.3 15.3.0 014-10z"/></svg>
54</a><a href=https://newsletter.techworld-with-milan.com/ target=_blank rel=noopener aria-label=Newsletter title="Subscribe to Newsletter"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="M22 7l-10 7L2 7"/></svg>
55</a><a href=https://www.linkedin.com/in/milanmilanovic/ target=_blank rel=noopener aria-label=LinkedIn title="Connect on LinkedIn"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-2-2 2 2 0 00-2 2v7h-4v-7a6 6 0 016-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
56</a><a href=https://x.com/milan_milanovic target=_blank rel=noopener aria-label="X (Twitter)" title="Follow on X"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4l11.733 16H20L8.267 4z"/><path d="M4 20l6.768-6.768m2.46-2.46L20 4"/></svg>
57</a><a href=https://github.com/milanm target=_blank rel=noopener aria-label=GitHub title="Follow on GitHub"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"/></svg>
58</a><a href=/index.xml aria-label="RSS Feed" title="RSS Feed"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 11a9 9 0 019 9"/><path d="M4 4a16 16 0 0116 16"/><circle cx="5" cy="19" r="1"/></svg>
59</a><a href=/api.json aria-label="JSON API" title="JSON API"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3H7A2 2 0 005 5v5a2 2 0 01-2 2 2 2 0 012 2v5a2 2 0 002 2h1"/><path d="M16 3h1a2 2 0 012 2v5a2 2 0 002 2 2 2 0 00-2 2v5a2 2 0 01-2 2h-1"/></svg></a></div></div><div class=footer-bottom><p class=footer-copyright>&copy; 2026 <a href=https://milan.milanovic.org/>Dr. Milan Milanović</a> · <a href=https://creativecommons.org/licenses/by-nc-nd/4.0/ target=_blank rel=noopener>License</a> · <a href=/privacy/>Privacy</a></p><nav class=footer-nav><a href=/newsletter/>Newsletter</a>
60<a href=/info/>Info</a>
61<a href=/book/>Book</a>
62<a href=/poster/>Poster</a>
63<a href=/cards/>Cards</a>
64<a href=/errata/>Errata</a></nav></div></div></div></footer><button class=scroll-to-top aria-label="Scroll to top">
65<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 15l-6-6-6 6"/></svg></button></body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.