A guide to the patterns that shape software systems, teams, and decisions, by @milan_milanovic.

Every senior engineer learned these the hard way. Conway's Law. Brooks's Law. Hyrum's Law. 63+ principles that shape every system, team, and decision. One book, so you don't pay the same tuition. lawsofsoftwareengineering.co…
1
3
92
Laws of Software Engineering retweeted
𝗧𝗵𝗲 𝟭𝟬 𝘀𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗲𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗯𝗼𝗼𝗸𝘀 𝗜 𝗸𝗲𝗲𝗽 𝗿𝗲𝗰𝗼𝗺𝗺𝗲𝗻𝗱𝗶𝗻𝗴 Before you pick your next book, ask yourself what your biggest issue is right now. I have used all ten and already recommended them in private. Here they are, by the problem each one solves: 1. 𝗕𝗲𝗰𝗼𝗺𝗶𝗻𝗴 𝗺𝗼𝗿𝗲 𝗽𝗿𝗼𝗳𝗲𝘀𝘀𝗶𝗼𝗻𝗮𝗹 𝗶𝗻 𝘆𝗼𝘂𝗿 𝘄𝗼𝗿𝗸 → The Pragmatic Programmer by David Thomas and Andrew Hunt 2. 𝗠𝗲𝘀𝘀𝘆, 𝗵𝗮𝗿𝗱-𝘁𝗼-𝗿𝗲𝗮𝗱 𝗰𝗼𝗱𝗲 → A Philosophy of Software Design by John Ousterhout 3. 𝗧𝗲𝗮𝗺 𝗼𝗿 𝗽𝗿𝗼𝗷𝗲𝗰𝘁 𝗱𝘆𝘀𝗳𝘂𝗻𝗰𝘁𝗶𝗼𝗻 → Laws of Software Engineering (my book) 4. 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲 𝗱𝗲𝗰𝗶𝘀𝗶𝗼𝗻𝘀 → Fundamentals of Software Architecture by Mark Richards and Neal Ford 5. 𝗕𝗿𝗲𝗮𝗸𝗶𝗻𝗴 𝗮𝗽𝗮𝗿𝘁 𝗮 𝗺𝗼𝗻𝗼𝗹𝗶𝘁𝗵 → Software Architecture: The Hard Parts by Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani 6. 𝗗𝗶𝘀𝘁𝗿𝗶𝗯𝘂𝘁𝗲𝗱 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 𝗱𝗲𝗰𝗶𝘀𝗶𝗼𝗻𝘀 → Designing Data-Intensive Applications, 2nd Edition, by Martin Kleppmann and Chris Riccomini 7. 𝗕𝘂𝗶𝗹𝗱𝗶𝗻𝗴 𝗔𝗜 𝘀𝘆𝘀𝘁𝗲𝗺𝘀 𝗶𝗻 𝗽𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 → AI Engineering by Chip Huyen 8. 𝗪𝗿𝗶𝘁𝗶𝗻𝗴 𝘁𝗲𝘀𝘁𝘀 𝘁𝗵𝗮𝘁 𝗵𝗼𝗹𝗱 𝘂𝗽 → The Art of Unit Testing by Roy Osherove with Vladimir Khorikov 9. 𝗖𝗵𝗮𝗻𝗴𝗶𝗻𝗴 𝗲𝘅𝗶𝘀𝘁𝗶𝗻𝗴 𝗰𝗼𝗱𝗲 → Refactoring by Martin Fowler 10. 𝗖𝗮𝗿𝗲𝗲𝗿 𝗴𝗿𝗼𝘄𝘁𝗵 → The Software Engineer's Guidebook by Gergely Orosz If you ask me for one book, that would be definitely The Pragmatic Programmer. This is a must-read for every professional developer out there. The full issue has more books, and my notes on them: newsletter.techworld-with-mi… Back to you, which book had the most impact on you?
5
14
52
2,736
Laws of Software Engineering retweeted
Conway's Law at its best
Microservices are what happens when your organization has communication problems and you decide the architecture should have them too.
1
1
8
2,056
Laws of Software Engineering retweeted
I was a guest on Software Engineering Radio, the IEEE podcast, talking about my book 𝗟𝗮𝘄𝘀 𝗼𝗳 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 Episode 738 is out. Host Giovanni Asproni and I went through the 63+ laws in the book. We talked about which ones are the most important, how to use them in a real project, and what they mean for teams that code with AI. I'm glad that I had the opportunity to talk with my colleague from one of my past companies. Link to the episode is in the first comment.
3
5
15
2,608
Laws of Software Engineering retweeted
My book sold 1,500 copies in 4 months and one pattern: Europe still likes paper more Four months after publishing my book Laws of Software Engineering, here are some data that surprised me: - Amazon Germany sold 87 print and 24 Kindle editions - Netherlands 30 print and 3 Kindle - Spain 23 print and 1 Kindle - United States 205 print and 209 Kindle European readers like to read more in paper, and I'm in the same bucket. After 20 years in software I expected much more people read ebooks, but it's still not the case. On Amazon 460 books sold in print vs 317 ebooks I assume people buy the book as a reference. And I do the same. I have a collection of 5000 books, but in print only ~200, as I keep only those ones I consider that will be helpful in the future. And I received a lot of great feedback on it (thank you!) In addition, Serbian edition already sold 600 in the first edition, and we are preparing second edition with 300 copies. Thanks to my publisher Kompjuter biblioteka on this.
3
5
28
2,719
Microsoft found that about 20% of bugs in Windows and Office caused 80% of all crashes One percent of them caused about half the errors Stop treating the backlog as a queue. The vital few go first
1
2
88
Microservices were going to fix scaling, then teams drowned in hundreds of them, and now we use them where they fit We overrate a technology in the short run and underrate it in the long run. The trough is where the useful ones mature
1
2
54
Goodhart says a measure stops working once it becomes a target Gilb says anything worth quantifying can be measured somehow Both hold, so metrics need replacing rather than defending Pick a rough number, watch it move, swap it when it gets gamed
1
2
43
"All models are wrong, but some are useful" George Box said that about statistics, and capacity planning proves it every quarter The model says the database does 10,000 queries per second. Production says 5,000, and production does not have to justify itself
1
2
32
Ten bugs in the first release, all of them in login A few releases later every login test passed and we called that quality Then messaging shipped with no new tests and users found the crashes for us A suite that never changes stops finding anything
1
2
31
Laws of Software Engineering retweeted
Software that reflects the real world cannot be finished The requirements move, the code moves, and every move adds complexity Lehman started counting in 1974 and reached eight laws by the 1990s. Adding a feature in year 25 takes longer than in year 5
3
2
4
338
An analytics platform is three things Something that ingests data, something that computes statistics, something that writes reports Build those in Python and you have 90% of the solution at a fraction of the licence fee The decomposition is free. The licence was not
1
2
33