← DevTalks

The best programming talks

21 talks we would put in front of anyone who writes software for a living. Chosen, not measured: not the most watched, but the ones that changed how people think about the work — each with a line on why it is here.

None of them are ours, and none are hosted here: every title links to the conference’s own upload. Every one of them also plays on a channel here, among other talks on the same subject, at the same second for everyone watching.

Simplicity and design

  1. Simple Made EasyRich Hickey · Strange Loop · 62 minGave a generation of programmers two separate words for “simple” and “easy”, and the habit of asking which one they are optimising for.On the Design channel →
  2. The Mess We're InJoe Armstrong · Strange Loop · 46 minWhy software got this complicated, told with the humour of someone who helped build Erlang.On the Languages channel →
  3. Why Functional Programming MattersJohn Hughes · GOTO · 58 minThe author of the paper of the same name on what functional programming buys: better glue for composing programs, not the absence of assignment.On the Functional programming channel →
  4. Tidy First? A Daily Exercise in Empirical DesignKent Beck · GOTO · 57 minThe small structural changes worth making before a behaviour change, and how to tell when they pay for themselves.On the Refactoring channel →
  5. How to Read Complex CodeFelienne Hermans · GOTO · 52 minReading code is the part of the job nobody teaches; this brings the cognitive science of why it is hard and what helps.On the Practice channel →
  6. How Cognitive Biases Affect our Software ArchitecturesBirgitta Böckeler · GOTO · 39 minArchitecture decisions are made by people, and people have predictable blind spots; this names the ones that show up in design reviews.On the Architecture channel →

Systems and architecture

  1. Turning the database inside out with Apache SamzaMartin Kleppmann · Strange Loop · 48 minRecast the database as a log plus the views derived from it, and shaped a decade of stream processing.On the Databases channel →
  2. New algorithms for collaborative text editingMartin Kleppmann · Strange Loop · 40 minWhat it takes for several people to edit one text without a central server, and why interleaving is harder than it looks.On the Distributed systems channel →
  3. MicroservicesMartin Fowler · GOTO · 26 minThe half hour that defined the term for most of the industry — including the warnings most of it skipped.On the Microservices channel →
  4. Platforms: Build Abstractions, not IllusionsGregor Hohpe · GOTO · 46 minWhat separates a platform that hides what you do not need to see from one that pretends the rest is not there.On the Platform channel →
  5. Designing Distributed Systems with TLA+Hillel Wayne · GOTO · 37 minAn approachable case for specifying a distributed design before building it, from someone who teaches formal methods to working engineers.On the Distributed systems channel →
  6. You Keep Using That Word: Asynchronous And Interprocess CommsSam Newman · NDC · 49 minTakes apart “asynchronous”, a word everyone in a microservices meeting uses and means something different by.On the Distributed systems channel →
  7. Beyond the Cloud: The Local-First Software RevolutionBrooklyn Zelenka · GOTO · 31 minThe case for software that keeps working offline and keeps your data on your own machine, and the sync machinery behind it.On the Distributed systems channel →

Under the hood

  1. What the heck is the event loop anyway?Philip Roberts · JSConf EU · 27 minThe talk that made the call stack, the callback queue and the event loop click for an enormous number of JavaScript developers.On the JavaScript channel →
  2. Visualizing Performance - The Developers' Guide to Flame GraphsBrendan Gregg · GOTO · 50 minThe inventor of flame graphs on how to read them, after which a profiler’s output stops being a wall of numbers.On the Performance channel →
  3. Outperforming Imperative with Pure Functional LanguagesRichard Feldman · Strange Loop · 35 minHow a pure functional language can beat imperative code on speed, and the compiler techniques that let it.On the Functional programming channel →

The craft

  1. What nobody tells you about documentationDaniele Procida · PyCon AU · 31 minThe origin of the four-part split into tutorials, how-to guides, reference and explanation that many projects now use without knowing where it came from.On the Documentation channel →
  2. Making Hard Things EasyJulia Evans · Strange Loop · 43 minWhy some tools feel hard to learn, and practical ways to make them easier — for yourself and for the people you explain them to.On the Practice channel →
  3. Is Software Engineering Real Engineering?Hillel Wayne · GOTO · 40 minAsks people who worked as traditional engineers and then as programmers, and reports what they said.On the Culture channel →
  4. Programming Is the Easy PartJ. B. Rainsberger · JAX · 36 minThe part of the job that is not the code, and why getting better at it is worth more than another framework.On the Career channel →
  5. The Art of CodeDylan Beattie · GOTO · 57 minThe strange, playful and beautiful side of programming — one to watch with people who do not write code.On the Languages channel →

Or skip choosing altogether and leave the English channel on. Every talk on the site is listed in the catalogue.