Over the years I've had the privilege of speaking at conferences around the world. Most of these talks come back to the same theme: the unglamorous reality of building software, and the lessons that only show up after something breaks. Here are the ones worth keeping.
The overnight failure
What happens when the thing you shipped takes the whole system down while you sleep. A talk about failure, blameless postmortems, and building teams that get stronger when things go wrong instead of looking for someone to blame.
Watch (2016, RubyConf Taiwan) Watch (2017, EuRuKo) Watch (2017, wroc_love.rb) Watch (2017, RubyConf) Watch (2018, ScaleConf Colombia) Watch (2018, Ruby Rogues) Slides
When making money becomes a headache
Charging customers sounds simple until you actually do it. A tour through the surprising complexity of payments, billing, and the edge cases that quietly eat your weekends.
Watch (2016, wroc_love.rb) Watch (2016, Rails Pacific) Slides
Refactor yourself
We spend our careers refactoring code. This talk asks what it looks like to apply the same discipline to how we work, learn, and grow as engineers.
Watch (2017, MagmaLabs) Slides
Microservices, a bittersweet symphony
Microservices promise the world and hand you a distributed systems problem. An honest look at what you gain, what you give up, and how to tell which one you're actually signing up for.
Watch (2015, wroc_love.rb) Slides
Services taste better in small disposable cups
Before you reach for microservices, reach for small, replaceable pieces. A practical case for keeping services tiny, boring, and easy to throw away.
Watch (2014, Nickel City Ruby) Slides
SOLID principles through tests
The SOLID principles get quoted a lot and understood a little. This talk walks through them from the angle that makes them click: what your tests are trying to tell you about your design.
Watch (2014, LA Ruby Conf) Slides
TCP socket programming in Ruby
A hands-on trip beneath the abstractions, building network communication from raw sockets up. The kind of thing you rarely touch day to day, but understanding it makes everything above it less magic and more machine.
Watch (2014, RubyConf Uruguay) Watch (2016, WindyCityRails) Slides
Dealing with payments
A closer look at the patterns and pitfalls of handling money in your application, from idempotency to reconciliation.
Leveraging N+1 queries
The query pattern everyone tells you to avoid, examined for the rare cases where it's actually the pragmatic choice.
Building a Ruby gem
A walk through packaging your code into a gem worth sharing, from structure to publishing.
TDD fundamentals
The basics of test-driven development, and why the discipline matters more than the dogma.