As a follow up for this article from earlier this year, I would like to share some more great talks on software engineering. This time I have selected more high level, abstract, almost philosophical content around the craft of building software that I hope you’ll enjoy.

Sandi Metz - Nothing is Something

This is an amazing talk on the otherwise well-known Object Oriented Programming design pattern of Composition over Inheritance but it’s presented beautifully and eloquently and it’s one of the clearest explanations of the concept I’ve seen, going very deep into the meaning of the code we write.

Will Larson - Paying technical debt as scale

Based on his experience at Digg, Uber and Stripe, Will Larson (check out his blog too!) explains how to pay technical debt through a successful migration and what are the caveats and risks to consider during the process. Very practical talk and full of real life advice and insights.

John Ousterhout - A Philosophy of Software Design

John Ousterhout is a Professor of Computer Science at Stanford University and in this video he explains the innovative process he follows to teach the fundamentals of software engineering. I wish I’d had professors as good as him!

Paul Ramsey - The middle passage (open source gets old_er_)

This is a really fun talk with some gloomy undertones about the midlife crisis of Open Software and how the OSS community and projects can continue to thrive amongst the commoditized solutions offered by big tech corporations.

Martin Fowler - Making Architecture Matter

Developers usually know intuitively the advantages of good software architecture, but how to sell the idea to the business and convince them to invest in it? Martin Fowler gives the answer in this blazingly quick keynote.