Want to invite me to speak at something? Mail me: firstname.lastname@example.org.
NOBODY COULD HAVE PREDICTED THAT
When a system fails, we can find ourselves asking "shouldn’t we have seen this coming?". If we go back to the original design documents, for example, shouldn't we be able to see the narrative foreshadowing of this event? What can we tell from an RFC or design document about how a system will fail?
Continuous integration. Continuous deployment. Continuous delivery. We’re moving as fast as we can, but are we going in the right direction? In this talk, we’ll discuss why “But why?” is the most important question you can ask along the way, and look at some of the detours and roadblocks that can hinder your journey: vestigial infrastructure, migrations that never end, and the kinds of technical debt that can DDoS a whole organisation.
More than that, we’ll ask the big questions: Why are we doing any of this? Why are we all here? What are we for?
By adding continuous introspection (and a little existential angst) to the continuous lifecycle, we can go faster, better.
Continuous Lifecycle London, May 14, 2019 (Keynote)
Your job title says "engineer", but you seem to spend most of your time in meetings. You'd like to have time for code, but then who will respond to customers, update the roadmap, talk to the teams whose projects overlap with yours, notice the things that got dropped, onboard the new folks, and ask all of the many questions that need to be asked to make the project successful? Unless you've got a senior title, too much of this kind of work can be risky. Let's talk about how to frame your accomplishments before it becomes career-limiting.
The F Factor, Sydney, July 8th, 2019
Software Art Thou, Melbourne, July 11th, 2019
Lead Developer NYC , April 30, 2019
Write/Speak/Code Meetup, NYC, February 27, 2019
And various internal company events.
Coding for Humans
Whether it's work code, college assignments, or something fun you make to amuse your friends, every single line of code is written for humans. Let's look at six groups of humans your code might meet. We'll talk about complexity, reliability, software traps, asking good questions and I'll explain why the number one rule of software engineering should be "don't make your user cry". Also there will be owls.
Flawless Hacks, April 27, 2019 (Keynote).
The History of Fire Escapes
Fire partitions. Public safety campaigns. Smoke alarms. Sprinkler systems. Doors that say “This is not an exit”. And fire escapes. What can we learn from fire safety about expecting failure and designing for it?
Dropbox internal event, NYC, November 2018.
A Talk About Talking!
Meta! How to get past the fear of public speaking and work up to speaking at conferences, with some advice about abstracts, slides and creating a narrative. The inevitable “how to speak” talk that every speaker eventually makes.
Internal Squarespace speaker event, May 22nd, 2018
Have You Tried Turning It Off and Turning It On Again
Most of us have a backup strategy and many of us have a restore strategy and several of us even have a tested restore strategy. But dependencies and complicated fallback plans make these strategies perilous.
(as a lightning talk about microservice dependencies) New York SRE Tech Talks meetup, June 2016
Traps and Cookies
Does your production environment expect perfect humans? Does technical debt turn your small changes into minefields? This talk highlights tools, code, configuration, and documentation that set us up for disaster.
(as a lightning talk) New York SRE Tech Talks meetup, January 2016
Ten Things That Will Make You Leave Technical Jobs
Half of the women who enter the tech industry don’t survive ten years. This talk walks through some of the things and people that try to push them out. If you can see it coming, it has less power over you.
NYU Women in Computing, October 2015.
Various internal company events.