
GOTO - The Brightest Minds in Tech How to Get People Excited about Functional Programming • Russ Olsen & James Lewis
Nov 21, 2025
In this engaging discussion, Russ Olsen, an author and software engineer known for his work on Lisp and functional programming, joins James Lewis, a director at Thoughtworks. They delve into the challenges of teaching functional programming, emphasizing the need for relatable examples over abstract math. Russ shares insights on Clojure's unique data-centric design and how it contrasts with traditional object-oriented approaches. The duo also discusses paradigm shifts in programming and how moments of shared purpose, like the Apollo moon landing, can inspire engineers.
AI Snips
Chapters
Books
Transcript
Episode notes
Explain The Thought Process, Not Just Terms
- Many explanations of functional programming are correct but unhelpful because they describe end results, not the thought process that leads to them.
- Teaching the step-by-step reasoning that produces functional code helps learners actually adopt the style.
Learning Lisp By Building One
- Russ learned Lisp by building his own Lisp interpreter, which demystified the language for him.
- He now plans a book, The Lisp Adventure, to teach Lisp by implementing one in Python.
Terseness Demands Shared Conventions
- Clojure is terse and powerful, which can make code hard to read unless the community adopts consistent patterns.
- Clojure programmers intentionally standardize coding practices to combat

