Functional Geekery Episode 126 – Andy Hunt and Dave Thomas

In this episode I talk with Andy Hunt and Dave Thomas. We talk about their upcoming 20th Anniversary Edition of The Pragmatic Programmer, what prompted a 20th Anniversary Edition, what has changed and what has stayed the same in the 20 years since, where they see things going based off what they have seen, and much, much more.

Our Guests, Andy Hunt and Dave Thomas

@PragmaticAndy on Twitter
Andy’s Now Page
@pragdave on Twitter

Conference Announcements

Lambda Days 2020 just announced their CFP! Go to their website and submit a talk for a chance to present your work on their stage in February.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.


Some of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can find out more at

Topics [@1:14]

Welcome Andy and Dave
The Pragmatic Programmer
The Pragmatic Programmer 20th Anniversary Edition
What prompted a 20th Anniversary Update/Re-write
Han Shoots First
DRY – Don’t Repeat Yourself
Updating the level between the last two sections of the book
Book-ending the 20th Anniversary edition with call to responsibility
Pragmatic Bookshelf
Addison Wesley / Pearson
Being rooted in agility
Disconnect between source and primary artifact
Harry Potter
Applying principles from software to working in publishing
Going with Easiest Way vs Investing in Conscience
The Pragmatic Programmer standing the test of time
“Brush your teeth kind of advise”
Common Sense and deliberately trying new things
“Don’t really trust yourself either”
“Take small steps and try stuff
Finding “Trust but verify” origin
Following the Seed of Curiosity
The 5 Whys
Asking “What are the appropriate practices?” instead of “What are the best practices?”
What trends look to be more sticky going forward
Picking languages to use and reference in the book
How to choose a language to learn
“If you don’t understand it, if it confuses you, if it makes you uncomfortable, then that’s the language you should learn.”
“Every language has its little unique additions to the world”
“You should always have at least three different ways of implementing it try to get some clarity”
What things Dave and Andy thought should have been paid more attention to
Unit Testing – Don’t write your own framework today
Blackboard Systems
How Functional Programming plays in with what they have experienced over the last 20 years
“Making State Transformation Explicit”
Logo/Turtle Graphics
“There is no one right way of doing things”
“It would be a big, big mistake for any of your listeners to consider themselves a Functional Programmer”
“Your Role is Problem Solver”
“How could this code be used against me, against the company, against the user”
Responsibility for moral implications and how the Nuremberg defense isn’t and excuse
Reducing your dependencies libraries and frameworks
The Pragmatic Programmer 20th Anniversary Edition
Beta currently available
Hardcover in fall
Southern Methodist University

As always, a giant Thank You goes to David Belcher for the logo design.