# Awesome talks
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

There are a lot of screencasts, recordings of user group gatherings, and conference talks available online. I try to commit myself watching at least two new talks every week, and I've been doing this for quite some time now. I created this list of online talks that I really enjoyed watching. I'll also be updating this list whenever I've watched another *awesome* talk that is worthy enough. Suggestions are always appreciated through a pull request. So without further ado ..

(In no particular order)

### Categories
  - [Software Development](#software-development)
  - [Object-Oriented Programming](#object-oriented-programming)
  - [Functional Programming](#functional-programming)
  - [Software Design](#software-design)
  - [Web Development](#web-development)
  - [Test-Driven Development](#test-driven-development)
  - [Methodologies](#methodologies)
  - [Computer History](#computer-history)
  - [Databases](#databases)
  - [Security](#security)
  - [Cognitive Development](#cognitive-development)

#### Software Development

* [The Computer Revolution hasn't happend yet](https://www.youtube.com/watch?v=oKg1hTOQXoY) by **Alan Kay** (OOPSLA 1997) [1:04:34]
* [The Future of Programming](https://vimeo.com/71278954) by **Bret Victor** (Dropbox's DBX conference 2013) [32:55]
* [Inventing on Principle](https://vimeo.com/38272912) by **Bret Victor** (CUSEC 2012) [54:20]
* [Media for Thinking the Unthinkable](http://worrydream.com/MediaForThinkingTheUnthinkable/) by **Bret Victor** (MIT Media Lab 2013) [39:32]
* [Finding a Way Out](http://www.infoq.com/presentations/reimagining-software) by **Chris Granger** (Strange Loop 2013) [33:46]
* [Programming is terrible - Lessons learned from a life wasted](https://www.youtube.com/watch?v=AUYPnxv0yss) by **Thomas Figg** (EMF 2012) [1:06:43]
* [Computers are a Sadness, I am the Cure](https://vimeo.com/95066828) by **James Mickens** (Monitorama PDX 2014) [27:35]
* [Are We There Yet?](http://www.infoq.com/presentations/Are-We-There-Yet-Rich-Hickey) by **Rich Hickey** (JVM Languages Summit 2009) [1:10:04]
* [Simple Made Easy](http://www.infoq.com/presentations/Simple-Made-Easy) by **Rich Hickey** (Strange Loop 2011) [1:01:26]
* [The Value of Values](https://www.infoq.com/presentations/Value-Values) by **Rich Hickey** (GOTO Copenhagen 2012) [58:53]
* [Effective Programs - 10 Years of Clojure](https://www.youtube.com/watch?v=2V1FtfBDsLU) by **Rich Hickey** (Clojure/Conj 2017) [1:14:51]
* [The Web We Lost](https://www.youtube.com/watch?v=9KKMnoTTHJk) by **Anil Dash** (Berkman Klein Center 2013) [1:10:54]
* [Growing a Language](https://www.youtube.com/watch?v=_ahvzDzKdB0) by **Guy Steele** (ACM OOPSLA 1998) [53:30]
* [The Mess We're In](https://www.youtube.com/watch?v=lKXe3HUG2l4&list=UU_QIfHvN9auy2CoOdSfMWDw) by **Joe Armstrong** (Strange Loop 2014) [45:49]
* [To the Moon!](https://www.youtube.com/watch?v=4Sso4HtvJsw) by **Russ Olsen** (Clojure/Conj 2013) [52:43]
* [Simplify Challenging Software Problems with Rocket Science](https://www.youtube.com/watch?v=h1g1YyVO6j8) by **Bradley Grzesiak** (Rocky Mountain Ruby 2015) [23:07]
* [A short history of Software Engineering, and other ideas that didn't work](https://www.youtube.com/watch?v=CnquVcxvAl0) by **Paolo Perrotta** (Barcelona Ruby Conference 2020) [36:35]
* [Linus Torvalds on Git](https://www.youtube.com/watch?v=idLyobOhtO4) by **Linus Torvalds** (Google 2007) [1:10:14]
* [The Worst Programming Language Ever](https://www.youtube.com/watch?v=vcFBwt1nu2U) by **Mark Rendle** (NDC Oslo 2021) [1:00:40]
* [Unconventional Programming with Chemical Computing](https://www.youtube.com/watch?v=cHoYNStQOEc) by **Carin Meier** (Strange Loop 2015) [36:00]
* [Seven Ineffective Coding Habits of Many Programmers](https://vimeo.com/97329157) by **Kevlin Henney** (NDC 2014) [01:02:52]
* [5 WTFs in 6 LOCs](https://brightonruby.com/2016/five-wtfs-in-six-lines-of-code-dot-wingrove/) by **Dorothy Wingrove** (Brighton Ruby 2016) [05:11]
* [Programming is Writing is Programming](https://www.youtube.com/watch?v=uO3a4HIBDU4) by **Felienne Hermans** (NDC Oslo 2017) [55:46]
* [We're Doing It All Wrong](https://www.youtube.com/watch?v=TS1lpKBMkgg) by **Paul Phillips** (Pacific Northwest Scala 2013) [50:42]
* [Real Software Engineering](https://www.youtube.com/watch?v=RhdlBHHimeM) by **Glenn Vanderburg** (Software Art Thou 2018) [1:07:57]
* [Feature Branching Considered Evil](https://www.youtube.com/watch?v=h7LeD7VevyI) by **Thierry de Pauw** (DevTernity 2019) [49:38]
* [Programming’s Greatest Mistakes](https://www.youtube.com/watch?v=qC_ioJQpv4E) by **Mark Rendle** (NDC Copenhagen 2022) [55:34]
* [Email vs Capitalism: A Story About Why We Can't Have Nice Things](https://www.youtube.com/watch?v=U8mJCPpvu1I) by **Dylan Beattie** (Joy Of Coding 2023) [54:49]
* [Preventing the Collapse of Civilization](https://www.youtube.com/watch?v=ZSRHeXYDLko) by **Jonathan Blow** (DevGAMM 2019) [01:02:41]

#### Object-Oriented Programming

* [Functional is cool, but do you know OO](https://www.youtube.com/watch?v=oiFYPAel-KY) by **Sandro Mancuso** (Devoxx UK 2013) [54:17]
* [Stop Writing Classes](http://pyvideo.org/video/880/stop-writing-classes) by **Jack Diederich** (PyCon US 2012) [27:29]

#### Functional Programming

* [Functional Principles for Object-Oriented Developers](http://www.youtube.com/watch?v=pMGY9ViIGNU) by **Jessica Kerr** (JDD Conference 2013) [51:13]
* [Adventures in Functional Programming](https://vimeo.com/45140590) by **Jim Weirich** (ScotlandJS 2012) [50:34]
* [Functional Programming: What? Why? When?](https://vimeo.com/97514630) by **Robert C. Martin** (NDC 2014) [58:26]
* [Deconstructing Functional Programming](http://www.infoq.com/presentations/functional-pros-cons) by **Gilad Bracha** (QCon 2013) [48:33]
* [Living in a Post-Functional World](http://www.infoq.com/presentations/post-functional-scala-clojure-haskell) by **Daniel Spiewak** (Lambda Jam 2013) [45:46]
* [Extreme Cleverness: Functional Data Structures in Scala](https://www.youtube.com/watch?v=pNhBQJN44YQ) by **Daniel Spiewak** (Clojure/Conj 2013) [39:24]
* [Tangible Functional Programming](https://www.youtube.com/watch?v=faJ8N0giqzw) by **Conal Elliott** (Google TechTalks 2007) [56:24]
* [Faith, Evolution, and Programming Languages](https://www.youtube.com/watch?v=8frGknO8rIg) by **Phillip Wadler** (Google TechTalks 2007) [1:06:53]
* [Don't fear the Monad](https://www.youtube.com/watch?v=ZhuHCtR3xq8) by **Dr. Brian Beckman** (Channel 9 2012) [1:07:10]
* [Functional Programming Design Patterns](https://vimeo.com/113588389) by **Scott Wlaschin** (NDC London 2014) [1:49:10]
* [Domain modelling with the F# type system](http://vimeo.com/97507575) by **Scott Wlaschin** (NDC 2014) [1:03:40]
* [Propositions as Types](https://www.youtube.com/watch?v=IOiZatlZtGU) by **Philip Wadler** (Strange Loop 2015) [42:42]
* [Category Theory for the Working Hacker](https://www.infoq.com/presentations/category-theory-propositions-principle) by **Philip Wadler** (Joy of Code 2016) [42:17]
* [Types are like the Weather, Type Systems are like Weathermen](https://www.youtube.com/watch?v=XTl7Jn_kmio) by **Matthias Felleisen** (Clojure/West 2016) [1:15:18]
* [Functional architecture - The pits of success](https://www.youtube.com/watch?v=US8QG9I1XW0) by **Mark Seemann** (NDC Sydney 2016) [1:00:09]
* [To Clojure and back: Writing and rewriting in Ruby](https://www.youtube.com/watch?v=doZ0XAc9Wtc) by **Phillip Mendonça-Vieira** (RubyConf 2016) [33:16]
* [All I needed for FP I learned in High School Algebra](https://www.youtube.com/watch?v=epT1xgxSpFU) by **Eric Normand** (Clojure/Conj 2017) [33:05]
* [Solving Problems The Clojure Way](https://www.youtube.com/watch?v=vK1DazRK_a0) by **Rafal Dittwald** (Clojure/North 2019)  [01:02:25]

#### Software Design

* [Architecture the Lost Years](https://www.youtube.com/watch?v=WpkDN78P884) by **Robert C. Martin** (Ruby Midwest 2011) [1:06:38]
* [DDD: putting the model to work](http://www.infoq.com/presentations/model-to-work-evans) by **Eric Evans** (JAOO 2007) [58:48]
* [Unleash Your Domain](https://vimeo.com/19428577) by **Greg Young** (Øredev 2010) [45:20]
* [The Art of Destroying Software](https://www.youtube.com/watch?v=1FPsJ-if2RU) by **Greg Young** (tretton37 2023) [42:30]
* [8 Lines of Code](https://www.infoq.com/presentations/8-lines-code-refactoring) by **Greg Young** (QCon 2013) [54:43]
* [Strategic Design](http://www.infoq.com/presentations/strategic-design-evans) by **Eric Evans** (JAOO 2007) [54:40]
* [Reliability, Availability, and Scalability](https://vimeo.com/6222577) by **Udi Dahan** (IASA 2008) [1:11:09]
* [Implementing Micro Service Architectures](https://vimeo.com/79866979) by **Fred George** (Øredev 2013) [54:40]
* [Immutability Changes Everything](http://vimeo.com/52831373) by **Pat Helland** (RICON 2012) [45:19]
* [Crafting Wicked Domain Models](https://vimeo.com/43598193) by **Jimmy Bogard** (NDC 2012) [1:03:03]
* [The Actor Model](https://www.youtube.com/watch?v=7erJ1DV_Tlo) by **Hewitt, Meijer and Szyperski** (Lang.NEXT 2012) [42:34]
* [How To Design A Good API and Why it Matters](http://www.youtube.com/watch?v=aAb7hSCtvGw) by **Josh Bloch** (Google TechTalks 2007) [1:00:18]
* [The Joys and Pains of a Long Lived Codebase](http://www.infoq.com/presentations/Lessons-Learned-Jeremy-Miller) by **Jeremy D Miller** (QCon 2009) [1:02:30]
* [Microservices](https://www.youtube.com/watch?v=wgdBVIX9ifA) by **Martin Fowler** (GOTO 2014) [26.25]
* [Stewardship: The Sobering Parts](https://www.youtube.com/watch?v=2y5Pv4yN0b0) by **Brian Goetz** (Clojure/Conj 2014) [1:03:30]
* [Therapeutic Refactoring](https://www.youtube.com/watch?v=J4dlF0kcThQ) by **Katrina Owen** (Cascadia Ruby Conf 2012) [26:04]
* [Evidence-Oriented Programming](https://www.youtube.com/watch?v=uEFrE6cgVNY) by **Andreas Stefik** (Strange Loop 2015) [41:42]
* [The Programming Language Wars](https://www.youtube.com/watch?v=mDZ-QSLQIB8) by **Andreas Stefik** (CodeMesh 2014) [50:28]
* [Hopelessness and Confidence in Distributed Systems Design](https://www.youtube.com/watch?v=TlU1opuCXB0) by **Camille Fournier** (Strange Loop 2015) [40:35]
* [Kill "Microservices" Before Its Too Late](https://www.youtube.com/watch?v=-UKEPd2ipEk) by **Chad Fowler** (Rocky Mountain Ruby 2016) [39:41]
* [The Lost Art Of Software Design](https://www.youtube.com/watch?v=gNj8I4uSTgc) by **Simon Brown** (YOW! 2019) [46:15]
* [Tidy First](https://www.youtube.com/watch?v=XmsyvStDuqI) by **Kent Beck** (QCon 2023) [46:19]

#### Web Development

* [Crockford on JavaScript](https://www.youtube.com/playlist?list=PL7664379246A246CB) by **Douglas Crockford** (Yahoo Theater 2011) [10:14:37]
* [Go To There and Back Again](http://vimeo.com/78893726) by **Douglas Crockford** (Øredev 2013) [49:06]
* [The Better Parts](https://www.youtube.com/watch?v=XFTOG895C7c) by **Douglas Crockford** (JS Fest 2018) [01:00:52]
* [Introduction to Node.js](https://www.youtube.com/watch?v=M-sc73Y-zQA) by **Ryan Dahl** (BayJax/Yahoo 2011) [58:19]
* [WAT](https://www.destroyallsoftware.com/talks/wat) by **Gary Bernhardt** (CodeMash 2012) [4:17]
* [The Birth & Death of JavaScript](https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript) by **Gary Bernhardt** (PyCon 2014) [29:22]
* [Hey Underscore, You're Doing It Wrong!](http://www.youtube.com/watch?v=m3svKOdZijA) by **Brian Lonsdorf** (HTML5 Dev Conf 2015) [36:30]
* [Community.js](https://www.youtube.com/watch?v=23Yxji-tEfc) by **Chris Williams** (JSConfEU 2010) [21:39]
* [An End to Negativity](https://www.youtube.com/watch?v=17rkSdkc5TI) by **Chris Williams** (JSConfEU 2011) [27:25]
* [Is Node.js Better](https://www.youtube.com/watch?v=C5fa1LZYodQ) by **Brian Ford** (JSConf 2012) [41:42]
* [Life is Terrible: Let's Talk About the Web](http://vimeo.com/111122950) by **James Mickens** (Øredev 2014) [32:07]
* [Critical rendering path - Crash course on web performance](https://www.youtube.com/watch?v=PkOBnYxqj3k) by **Ilya Grigorik** (Fluent 2013) [41:10]
* [10 Things I Learned from the jQuery Source](https://vimeo.com/12529436) by **Paul Irish** (TXJS conference 2010) [53:40]
* [Om Next](https://www.youtube.com/watch?v=ByNs9TG30E8) by **David Nolen** (EuroClojure 2015) [46:17]
* [ClojureScript for Skeptics ](https://www.youtube.com/watch?v=gsffg5xxFQI) by **Derek Slager** (Clojure/Conj 2015) [41:08]

#### Test-Driven Development

* [TDD, where did it all go wrong](http://vimeo.com/68375232) by **Ian Cooper** (NDC 2013) [1:00:37]
* [Holistic testing](http://vimeo.com/68390508) by **Jimmy Bogard** (NDC 2013) [1:00:33]
* [Boundaries](https://www.destroyallsoftware.com/talks/boundaries) by **Gary Bernhardt** (SCNA 2012) [33:44]
* [Is TDD Dead?](https://martinfowler.com/articles/is-tdd-dead/) by **Martin Fowler, Kent Beck, and David Heinemeier Hansson (DHH)** (Blog/Martin Fowler 2014) [Article]
* [The Transformation Priority Premise](https://www.youtube.com/watch?v=B93QezwTQpI) by **Robert C. Martin** (NDC 2011) [53:43]
* [TDD in Tatters](https://vimeo.com/97537026) by **Scott Bellware** (NDC 2014) [01:07:53]
* [Test-Driven Development - Write better code in less time](https://www.youtube.com/watch?v=HhwElTL-mdI) by **Evan Dorn** (LA Ruby 2012) [30:54]
* [The Magic Tricks of Testing](https://www.youtube.com/watch?v=URSWYvyc42M) by **Sandi Metz** (Rails Conf 2013) [32:22]
* [How To Stop Hating Your Tests](https://vimeo.com/145917204) by **Justin Searls** (RubyConf 2015) [43:39]
* [Why You Don't Get Mock Objects](https://www.youtube.com/watch?v=R9FOchgTtLM) by **Gregory Moeck** (RubyConf 2011) [44:42]
* [The Clean Code Talks - Unit Testing](https://www.youtube.com/watch?v=wEhu57pih5w) by **Misko Hevery** (Google TechTalks 2008) [32:07]
* [TDD and Software Design](https://www.youtube.com/watch?v=ty3p5VDcoOI) by **JB Rainsberger and Sandro Mancuso** (YouTube/Carlos Blé 2008) [01:28:50]
* [Integrated Tests Are a Scam](https://vimeo.com/80533536) by **JB Rainsberger** (DevConFu 2013) [01:04:35]
* [Structure and Interpretation of Test Cases](https://vimeo.com/289852238) by **Kevlin Henney** (JavaZone 2018) [01:04:23]
* [Does TDD Really Lead to Good Design?](https://www.youtube.com/watch?v=KyFVA4Spcgg) by **Sandro Mancuso** (DevTernity 2018) [57:59]
* [TDD For Those Who Don't Need It](https://www.youtube.com/watch?v=a6oP24CSdUg) by **Chew Choon Keat** (GopherCon SG 2017) [13:42]
* [TDD: Theme & Variations](https://www.youtube.com/watch?v=C5IH0ABmyc0) by **Kent Beck** (Tech Excellence 2024) [57:29]

#### Methodologies

* [The Land that Scrum Forgot](https://www.youtube.com/watch?v=hG4LH6P8Syk) by **Robert C. Martin** (NDC 2011) [45:41]
* [Demanding Professionalism in Software Development](https://www.youtube.com/watch?v=p0O1VVqRSK0) by **Robert C. Martin** (Elapse Technologies 2012) [45:03]
* [Spotify Engineering Culture - Part 1](https://vimeo.com/85490944) by **Spotify Training & Development** (Spotify 2014) [13:12]
* [Spotify Engineering Culture - Part 2](http://vimeo.com/94950270) by **Spotify Training & Development** (Spotify 2014) [13:27]
* [Adopting Continuous Delivery](http://vimeo.com/68320415) by **Jez Humble** (NDC 2013) [47:22]
* [The Death of Agile](https://www.youtube.com/watch?v=YpGGRAhes2k) by **Dave Thomas** (Rethink 2014) [47:47]
* [Why Agile Works](https://www.youtube.com/watch?v=BdSiBlLafNY) by **Alistair Cockburn** (Agile Lietuva 2012) [53:03]
* [Implementing Programmer Anarchy](https://vimeo.com/79866978) by **Fred George** (Øredev 2013) [54:55]
* [Moving Past the Scaling Myth](https://www.infoq.com/presentations/scalability-variant-structuring#) by **Michael Feathers** (Philly ETE 2017) [52:02]
* [It Is Not About Software Anymore](https://www.youtube.com/watch?v=X8iIRG9LA54) by **Mary Poppendieck** (Agile India 2020) [01:06:38]
* [7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development](https://www.youtube.com/watch?v=WSes_PexXcA) by **JB Rainsberger** (Øredev 2013) [00:07:42]
* [Explaining Team Flow](https://www.youtube.com/watch?v=bhpQKA9XYcE) by **Michel Grootjans** (Michel Grootjans 2021) [14:30]
* [The Efficiency Paradox](https://www.youtube.com/watch?v=hGJpez7rvc0) by **Niklas Modig** (TEDx Umeå 2016) [18:48]
* [Extreme Product Development](https://www.youtube.com/watch?v=U6TA7atF4Y0) by **Peter Hilton** (Devoxx UK 2024) [47:53]

#### Computer History

* [A Brief History of Graphics](https://www.youtube.com/playlist?list=PLOQZmjD6P2HlOoEVKOPaCFvLnjP865X1f) by **Stuart Brown** (YouTube/Ahoy 2014) [46:00]
* [The Charming Genius of the Apollo Guidance Computer](https://www.youtube.com/watch?v=xY45YE7ggng) by **Brian Troutwine** (Code Mesh 2015) [48:36]
* [The History (and the Future) of Software](https://www.youtube.com/watch?v=OdI7Ukf-Bf4) by **Grady Booch** (CHM Live 2016) [01:09:27]
* [The Future of Programming](https://www.youtube.com/watch?v=ecIWPzGEbFc) by **Robert C. Martin** (X/UP 2016) [01:18:20]
* [1968](https://www.youtube.com/watch?v=KjgvffBlWAg) by **Kevlin Henney** (Beauty in Code 2018) [56:44]
* [DOOM’s Development: A Year of Madness](https://www.youtube.com/watch?v=eBU34NZhW7I) by **John Romero** (WeAreDevelopers 2018) [44:12]
* [The Boeing 737 MAX: When Humans and Technology Don't Mix](https://www.youtube.com/watch?v=opRbU6WZH9s) by **Kyle Kotowick** (NDC TechTown 2022) [01:00:45]

#### Databases

* [Deconstructing the Database](https://www.youtube.com/watch?v=Cym4TZwTCNU) by **Rich Hickey** (JaxConf 2012) [1:06:23]
* [Things Every Developer Absolutely, Positively Needs To Know About Database Indexing](https://www.youtube.com/watch?v=HubezKbFL7E) by **Kai Sassnowski** (Laracon EU 2019) [41:49]

#### Security

* [Why Do Keynote Speakers Keep Suggesting That Improving Security Is Possible?](https://www.youtube.com/watch?v=ajGX7odA87k) by **James Mickens** (USENIX Security '18-Q) [51:21]

#### Testing

* [Acceptance Testing For Continuous Delivery](https://www.youtube.com/watch?v=s1Y454DTRtg) by **Dave Farley** (PIPELINE Conference 2015) [01:02:34]

#### Cognitive Development

* [A Lecture on Creativity](https://www.youtube.com/watch?v=Pb5oIIPO62g) by **John Cleese** (London 1991) [36:59]
* [The Meaning of Life](https://www.youtube.com/watch?v=zzcCWEb-tyk) by **Derek Sivers** (YouTube/Derek Sivers 2014) [18:54]
* [Becoming an Outlier: Career Reboot for the Developer Mind](https://vimeo.com/97415346) by **Cory House** (NDC 2014) [59:12]
* [Surviving the Framework Hype Cycle](https://www.youtube.com/watch?v=9zc4DSTRGeM) by **Brandon Hays** (Mountain West Ruby 2016) [35:26]
* [Stop Treading Water - Learning to Learn](https://www.youtube.com/watch?v=Z8KcCU-p8QA) by **Edward Kmett** (YOW! 2014) [40:58]
* [The Last Lecture: Achieving Your Childhood Dreams](https://www.youtube.com/watch?v=ji5_MqicxSo) by **Randy Pausch** (Carnegie Mellon 2007) [1:16:26]
* [Steve Jobs' 2005 Stanford Commencement Address](https://www.youtube.com/watch?v=UF8uR6Z6KLc) by **Steve Jobs** (Stanford 2005) [15:04]
* [Hammock Driven Development](https://www.youtube.com/watch?v=f84n5oFoZBc) by **Rich Hickey** (Clojure/Conj 2010) [39:48]
* [Drive - The Surprising Truth About What Motivates Us](https://www.youtube.com/watch?v=u6XAPnuFjJc) by **RSA Animate** (YouTube/RSA 2010) [10:47]
* [Ideology](https://www.destroyallsoftware.com/talks/ideology) by **Gary Bernhardt** (Strange Loop 2015) [21:22]

## License

[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)

[talks.md Github](https://github.com/JanVanRyswyck/awesome-talks
)
