software design
1:01:40A Philosophy of Software Design | John Ousterhout | Talks at Google
547K views • 8 years ago
Talks at Google
John Ousterhout, Stanford professor and creator of Tcl, presents the ideas of his book A Philosophy of Software Design in a Talks at Google session. He covers managing complexity, deep modules and interfaces, and what he teaches in his Stanford software design course.
37:15Stuart Halloway - Narcissistic Design
29K views • 9 years ago
Reaktor
Stuart Halloway's satirical talk describes how to protect yourself from industry change by spreading complexity through systems while following idiomatic practice. It uses this inversion to catalog software design anti-patterns.
1:00:19How To Design A Good API and Why it Matters
453K views • 19 years ago
Google TechTalks
Joshua Bloch's Google Tech Talk on how to design good APIs and why it matters, with concrete principles and examples. It treats every programmer as an occasional API designer.
36:42Bottom Up vs Top Down Design in Clojure - Mark Bastian
29K views • 10 years ago
ClojureTV
Mark Bastian contrasts top-down object-oriented design with bottom-up, data-oriented design in Clojure. He models a board game as plain data plus small composable functions and compares it with a roughly 22-class OOP version.
58:39Robert C Martin - Clean Architecture and Design
285K views • 12 years ago
gnbitcom
Robert C. Martin (Uncle Bob) talks about clean architecture and design, including keeping the database and frameworks out of the center of an application. It is an hour-long conference talk.
1:01:39"Simple Made Easy" - Rich Hickey (2011)
219K views • 5 years ago
Strange Loop Conference
Rich Hickey's Strange Loop 2011 keynote distinguishing 'simple' (not intertwined) from 'easy' (familiar or near at hand). It argues that software complexity comes from complecting things and that we should pick simple constructs.
Topic match · Software architecture & design
1:01:39"Simple Made Easy" - Rich Hickey (2011)
434K views • 5 years ago
ClojureTV
Rich Hickey's Strange Loop 2011 keynote separates 'simple' (not intertwined) from 'easy' (familiar or near at hand) and argues that software complexity comes from complecting things. It offers a vocabulary for judging designs and abstractions.
Topic match · Software architecture & design
1:06:59Music Software & Interface Design: Steinberg's Dorico
949K views • 6 years ago
Tantacrul
Tantacrul critiques the UX and UI of Steinberg's Dorico music notation software, comparing it with Sibelius and user testing it with real musicians alongside his own attempt to compose in it.
21:35Music Software & Bad Interface Design: Avid’s Sibelius
1.7M views • 7 years ago
Tantacrul
Tantacrul dissects the UX and UI of Avid's Sibelius music notation software, going through a long list of bad design choices. The review is both a comic rant and a practical lesson in interface design.
33:39Music Software & Interface Design: MuseScore
959K views • 7 years ago
Tantacrul
Tantacrul gives a detailed UX and UI design review of the MuseScore 3 notation software and compares it with Sibelius. It examines visual appeal, navigation and notation quality.
46:33How We Made MuseScore 4 - Music App Design is Challenging!
814K views • 3 years ago
Tantacrul
Tantacrul walks through how the MuseScore 4 team was built and how design decisions were made for the overhaul of a huge legacy notation app. It covers playback and engraving quality improvements.
44:03Google Developers Day US - Python Design Patterns
90K views • 19 years ago
GoogleDeveloperDay
Alex Martelli's Google Developers Day talk on classic design patterns (creational, structural and behavioral) and how they appear in Python. He stresses that patterns must be studied in the context of the implementing language.
1:07:58Software Art Thou: Glenn Vanderburg - Real Software Engineering
35K views • 8 years ago
Zendesk
Glenn Vanderburg asks whether software development can be real engineering, surveying other engineering disciplines and decades of programming experience. He envisions what a software engineering worthy of the name might look like.
35:33Visualising software architecture with the C4 model - Simon Brown, Agile on the Beach 2019
553K views • 7 years ago
Agile on the Beach
Simon Brown's Agile on the Beach 2019 talk presents the C4 model, a lightweight approach to diagramming software architecture with a shared vocabulary and simple notation.
41:47Glenn Vanderburg of LivingSocial on why software development is an engineering discipline
17K views • 11 years ago
O'Reilly
Glenn Vanderburg argues at the O'Reilly Software Architecture Conference that software development is an engineering discipline, even if immature. He contends the discredited body of knowledge called software engineering has led people to wrongly reject the label.
1:03:14Category Theory, The essence of interface-based design - Erik Meijer
74K views • 11 years ago
FooCafe
Erik Meijer argues that category theory is the mathematicians' version of interface-based design. He shows that Java 8 lambdas and method references form a Cartesian closed category.
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
862K views • 12 years ago
CppCon
Mike Acton of Insomniac Games argues that a program's purpose is transforming data, and shows how common C++ approaches work against that in performance-critical game development. He covers cache behavior, data layout and the limits of compilers.
1:02:50The Language of the System - Rich Hickey
174K views • 13 years ago
ClojureTV
Rich Hickey's 2013 talk applies language-design thinking to whole systems, covering names, queues, data, failure, and the interfaces between programs. It ends with a call to action for building systems holistically.
Topic match · Software architecture & design
50:01Simplicity Ain't Easy - Stuart Halloway
24K views • 13 years ago
ClojureTV
Stuart Halloway argues that simplicity is objective, with a definition and etymology useful to programmers, rather than a subjective buzzword. He shows how this view informs Clojure's design and how to make programs simpler.
Topic match · Software architecture & design
1:00:46"Design in Practice" by Rich Hickey
65K views • 3 years ago
ClojureTV
Rich Hickey's Clojure Conj 2023 talk on design in practice, covering problem statements, decision matrices, choosing precise words and making decisions in a team.
39:49Hammock Driven Development - Rich Hickey
333K views • 13 years ago
ClojureTV
Rich Hickey's philosophical talk from the first Clojure Conj in 2010. He argues that good design comes from deliberate, away-from-keyboard thinking, and describes how to feed the background mind so it solves problems.
Topic match · Software architecture & design
1:01:59TigerStyle! (Or How To Design Safer Systems in Less Time) by Joran Dirk Greef
87K views • 3 years ago
TigerBeetle
Joran Dirk Greef's Systems Distributed '23 talk on TigerStyle, the engineering methodology behind TigerBeetle. It covers designing safer systems in less time through up-front design, assertions, and deterministic simulation.
51:40Constraints Liberate, Liberties Constrain — Runar Bjarnason
44K views • 10 years ago
Scala World
Runar Bjarnason's Scala World talk argues that restraint and precision in components beat power and flexibility. Constraints on parts make them easier to compose into systems.
Topic match · Software architecture & design
46:40Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
415K views • 2 years ago
ChimiChanga
Andrew Kelley, creator of Zig, presents practical data-oriented design techniques for shrinking memory footprint and making programs cache friendly. He ends with a case study of how these ideas sped up the Zig compiler.
1:00:46CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
271K views • 8 years ago
CppCon
A CppCon 2018 talk arguing that OOP has failed to deliver on reuse and performance, and presenting data-oriented design for C++ with practical worked examples from real systems.
1:23:35Bob Martin SOLID Principles of Object Oriented and Agile Design
517K views • 11 years ago
People career
Robert C. Martin (Uncle Bob) gives a talk on the SOLID principles of object-oriented and agile design, in the context of encapsulation and clean code.
48:04Greg Young — A Decade of DDD, CQRS, Event Sourcing
190K views • 10 years ago
Domain-Driven Design Europe
Greg Young, who coined CQRS, looks back on a decade of domain-driven design, CQRS and event sourcing at DDD Europe 2016. He discusses where event sourcing applies and how simple its core can be.
Topic match · Software architecture & design
53:25The Only Unbreakable Law
487K views • 4 years ago
Molly Rocket
Casey Muratori's lecture, originally given at the Technical University of Madrid, arguing that Conway's Law is the only viable candidate for a true law of software architecture. He explains how software mimics the organization over time, using examples like Windows' multiple volume controls.
Topic match · Software architecture & design
1:04:41Jonathan Blow - Preventing the Collapse of Civilization (English only)
268K views • 7 years ago
bus
Jonathan Blow's DevGAMM 2019 talk argues that software knowledge is being lost between generations and that growing layers of abstraction could lead to a decline in technological civilization.
Topic match · Software architecture & design
1:12:02Java on a 1000 Cores - Tales of Hardware / Software CoDesign
23K views • 17 years ago
Google TechTalks
Cliff Click of Azul Systems gives a Google Tech Talk on running Java business applications on a machine with about a thousand cores. He covers hardware and software codesign, including garbage collection hardware and the JIT.
50:23Old Is the New New • Kevlin Henney • GOTO 2018
125K views • 8 years ago
GOTO Conferences
Kevlin Henney's GOTO 2018 talk argues that much of what looks new in software is a recycling of concepts with long histories. It draws on history to show the slow, steady current beneath constant churn in frameworks and trends.
Topic match · Software architecture & design
1:01:33A Possible Future of Software Development
82K views • 18 years ago
Google TechTalks
Sean Parent of Adobe argues that object-oriented frameworks ultimately fail to deliver scalable, high quality software and proposes combining generic and declarative programming instead. It draws on Stepanov's Elements of Programming.
19:44Mountain West Ruby 2012 Capability vs. Suitability by Gary Bernhardt
22K views • 14 years ago
Confreaks
Gary Bernhardt argues that software history moves in reactions to earlier tools, and that new tools are not simply better in every way. He distinguishes capability (what a tool allows) from suitability (what it fits), and warns against repeating past mistaken reactions.
Topic match · Software architecture & design
1:10:02Building Software at Google Scale Tech Talk
58K views • 14 years ago
Google TechTalks
Google engineers describe Google's internal build system, a unified, language-agnostic system used across the company. It was presented as a 2012 NYC tech talk.
42:21Where Does Bad Code Come From?
282K views • 5 years ago
Molly Rocket
Casey Muratori's invited lecture on where bad code comes from, rebroadcast from a Twitch stream. He critiques conventional wisdom such as SOLID and Clean Code and argues about how those habits lead to slow, poorly structured software.
Topic match · Software architecture & design
45:42Scala Collections: Why Not?
43K views • 12 years ago
InfoQ
Paul Phillips, a Typesafe co-founder and prolific Scala committer, explains why he walked away from Scala. He critiques the Scala collections library and presents his own design focused on immutability, performance and correctness.
Topic match · Software architecture & design
2:27:34Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
926K views • 1 year ago
Better Software Conference
Casey Muratori's two-hour talk tracing the history of object-oriented programming back to the 1960s and examining how its ideas, and later entity component systems, came about. It is followed by a Q&A.
Topic match · Software architecture & design
27:36Why Western Designs Fail in Developing Countries
1.8M views • 2 years ago
Design Theory
A design essay on why products designed in Western contexts often fail when deployed in developing countries. It covers expert blindness and cultural assumptions, with examples such as malaria nets and the One Laptop Per Child project.
1:07:26Alan Kay - Normal Considered Harmful
60K views • 14 years ago
powerfuloutlet
Alan Kay's 2009 UIUC talk arguing that computing is more a pop culture than a science and that ignoring history and fundamentals leads to inferior solutions. He touches on the history of interactive environments and what the web should have been.
Topic match · Software architecture & design
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
176K views • 9 years ago
ClojureTV
Rich Hickey's talk at Clojure's tenth anniversary on the kind of programs Clojure is designed for. He argues for situated programs that deal with changing requirements, and for dynamic typing and data over static types.
Topic match · Software architecture & design