Best Software architecture & design Videos
The 177 Software architecture & design videos here were recommended by different people across different months. Choose by who it is for: 8 introductory, 132 intermediate, 20 for a general viewer, and 17 for someone who wants the harder derivation. Most of them are a talk. What they share is that one speaker finishes a claim, and the examples exist to hold that claim up. Channels you will keep seeing include ClojureTV, Confreaks, Strange Loop Conference.

RailsConf 2014 - All the Little Things by Sandi Metz
Sandi Metz takes an ugly section of conditional code and refactors it into a few simple objects, bridging object-oriented theory and practice.

"Simple Made Easy" - Rich Hickey (2011)
Rich Hickey's Strange Loop 2011 keynote distinguishing 'simple' (not intertwined) from 'easy' (familiar or near at hand).

"Making Impossible States Impossible" by Richard Feldman
Richard Feldman's elm-conf talk on designing models so that bugs from impossible application states cannot occur, using Elm's compiler and types.

How To Design A Good API and Why it Matters
Joshua Bloch's Google Tech Talk on how to design good APIs and why it matters, with concrete principles and examples.

The Value of Values with Rich Hickey
Rich Hickey's JaxConf 2012 keynote examines what values are and why immutable values matter as information systems grow more complex and data gets bigger.

Overwatch Gameplay Architecture and Netcode
Blizzard's Timothy Ford explains in this 2017 GDC session how Overwatch uses an Entity Component System architecture for layered gameplay.

Solving Problems the Clojure Way - Rafal Dittwald
Rafal Dittwald's Clojure/north talk shows how to move from writing Java-style code in Clojure to thinking in data-driven, functional terms.

Lecture 1A: Overview and Introduction to Lisp
The first lecture of MIT's 6.001 (SICP) with Abelson and Sussman, giving an overview of the course and an introduction to Lisp.

Alan Kay - Normal Considered Harmful
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.

A Philosophy of Software Design | John Ousterhout | 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.

"Uncle" Bob Martin - "The Future of Programming"
Robert C.

Effective Programs - 10 Years of Clojure - Rich Hickey
Rich Hickey's talk at Clojure's tenth anniversary on the kind of programs Clojure is designed for.

Brian Goetz - Stewardship: the Sobering Parts
Java Language Architect Brian Goetz talks at a Clojure conference about the challenges of evolving a mature language like Java while preserving compatibility with existing code and developer expectations.

Ruby Midwest 2011 - Keynote: Architecture the Lost Years by Robert Martin
Robert C.

RustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
Catherine West's RustConf 2018 closing keynote on building a game in Rust and organizing a large codebase.

Hammock Driven Development - Rich Hickey
Rich Hickey's philosophical talk from the first Clojure Conj in 2010.

Jonathan Blow - How to program independent games - CSUA Speech
Jonathan Blow speaks at UC Berkeley's CSUA about how to program independent games.

Ruby Conf 12 - Boundaries by Gary Bernhardt
Gary Bernhardt's RubyConf 2012 talk on testing in isolation without mocking everything.

The Only Unbreakable Law
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.

"Simple Made Easy" - Rich Hickey (2011)
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.

Spec-ulation Keynote - Rich Hickey
Rich Hickey's keynote on software versioning, arguing that breaking changes are the real problem and that libraries should only grow by providing more and requiring less.

CppCon 2014: Mike Acton "Data-Oriented Design and C++"
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.

How I program C
Eskil Steenberg's two-hour talk on his personal approach to writing C, covering code style, structure, naming, pointers and large-project organization.

Object-Oriented Programming is Bad
Brian Will makes the case for procedural programming over object-oriented programming, arguing that OOP's promised encapsulation and decoupling are largely illusory.