Sturgeon’s law applies to talks. Despite the best efforts of conference organizers and speakers, most talks about software are too narrow, to vague, too detailed, too specific to the time when they were given. (Don’t anyone take offense, I’ve given some of those!)
But the best talks, oh, the best talks ring in your mind like a crystal glass, bearing fruitful ideas for years to come and on viewing after viewing.
I was at RailsConf 2014 and while I enjoyed DHH’s talk about Writing Software, several of my co-workers were very moved by it. His background as a computer nerd but not a programmer, his life outside of tech hubs, his non-Computer Science background, all spoke to them in a way that few talks by people with more formal and academic backgrounds did not.
I realized that in addition to programming for almost 25 years, I’ve been watching and listening to talks about software for almost 10 years, and some of those talks are as vivid as the day I first watched them. When I mentioned some of them, and my coworkers hadn’t heard of them, I felt a wonderful opportunity to share awesome stuff.
Here are some of the software talks that have made an impact on me.
Growing a Language by Guy Steele
This message unfolds in such a subtle and effective way that I won’t spoil the surprise. But both the words and format of the talk are a masterpiece.
50 in 50
This talk opened my eyes to the creativity and playfulness of programming language design, and made it sink into this thick analytical head that expressing an idea can be its own reward.
- MP3: http://www.oopsla.org/oopsla2007/podcasts/invited-talks/keynote0104-50-in-50.mp3
- Video: http://vimeo.com/25958308
I don’t know what magic happened at this conference, but I was blown away by talk after talk after talk. I still remember these talks 7 years after listening to them as a podcast. Two in particular stood out:
- Fred Brooks – http://www.oopsla.org/podcasts/Keynote_FrederickBrooks.mp3
- Kathy Sierra – http://www.oopsla.org/oopsla2007/podcasts/invited-talks/keynote0102-kathy-sierra.mp3
Rich Hickey, the creator of the Clojure programming language, has unorthodox but appealing and unassailably logical views on software development. These are 3 of his best talks.
- Hammock Driven Development – the best software comes from the best designs, and the best designs take time. Time thinking, time away from firefighting and away from hacking.
- Simple Made Easy – Simple is a unit of software that does one thing. Easy is the thing that takes the least up-front effort. Confuse them at your peril.
- The Value of Values – Immutable data facts better represent the real world, and there are many benefits to inferring state from facts rather than continuous mutation of state.
You and Your Research
This talk by mathematician Richard Hamming covers work habits, producing impactful work, and prioritizing excellence.
- Transcript: http://www.paulgraham.com/hamming.html
- Video: https://www.youtube.com/watch?v=a1zDuOPkMSw
- A lecture series that this talk came from: https://www.youtube.com/playlist?list=PL2FF649D0C4407B30
Randy Pausch – Last Lecture
Before he died, professor Randy Pausch gave this talk about Achieving Your Childhood Dreams
End of Fun by Sarah Mei
A deeply useful talk about the difference between work and play, creativity and process, and open and closed thinking.
The classic MIT textbook and lecture series. The textbook is amazing in the graceful way it builds up topics in computation while still seeming simple. The 20 part video lecture series from 1986 is so, so great. It’s tempting to dismiss it because of the old fashion and the sloooow Scheme interpreter they use on an overhead projector, but Abelson and Sussman are such clear teachers and so playfully confident that you can’t help but love it. This is time well, well spent.
- Lecture series: https://www.youtube.com/playlist?list=PLB63C06FAF154F047
These are only some of the great talks that have been given. They are some of the great treasures of programming education and culture
Please, let me know which ones I’m missing!