A long time ago, in a land far away, lived a software wizard that was capable of grand magic. They built gardens, libraries, temples, castles. They created life where there wasn’t, and cleared the path where it was unsafe. And then they disappeared, and even though they left behind books and notes, none of their apprentices were able to learn the craft. Since then, nobody was able to use any of the tools of the great mage, and the creations kept working for only a few years, when finally even the last stone that was placed crumbled into sand. Sounds familiar? Software often feels the same: we’re all magicians that force a piece of sand into semi-rational thought, but what will happen when everyone moves on, and nothing works as expected anymore? This talk explores the problems that arise from breaking compatibility with existing tools, how to prevent those breakages from happening, and what to look for as a software maintainer. While I cannot guarantee that you will build indestructible magical fortresses with my tips, I can at least help you make sure that your work will live on with other people picking it up, and hopefully appreciating the stability that you worked towards. Focus areas of this talk: - perceived stability from a consumer point of view - maintainability of code - when and why to introduce backwards incompatible (BC) breaks - what to do when an unexpected BC break is found

Comments

Please login to leave a comment

Rated 5

Miro Svrtan at 16:57 on 11 May 2019

Ah, Marco as Marco ... brilliant and cheeky

Small suggestion: try to bring in few examples from the experience where stuff got broken due to different changes, I loved the quiz but making part of it 'war stories' would be even better.

Excellent.
I only have to point out a minor error: correct movie title is "Life of Brian" (not "Brian of Nazareth")

Very good one, well explained as always, and the "quiz" part was really nice

Rated 5

Samuele Lilli at 10:57 on 12 May 2019

Super nice talk delivered in a great way, as usual, from Marco.
I agree with Antonello: quiz part was nice.

💚 Funny, engaging, informative, brilliant.

I love the way you present, and how you had the story in the beginning and how you tied that into BC breaks. Your introduction really made the talk for me. The way you explain why it’s important before you explain the how, beautiful. How you engaged the audience with the quiz and how you showed the useful tool that you built!! Got something to play with, got some things to take into account going forward.

What I got the most out of this talk was all the little things one doesn’t realize is a BC break but may actually be, I’ll look closer during code reviews of our libraries now. And use your tool. Essentially you made me a better programmer with this talk, and you’re an amazing story teller. There’s a reason we hear you speak so much at conferences, you’re just so great at it.

Thanks.

Perfect as always. Now I will concentrate on not releasing new versions so as not to break BC, or maybe not ;-)
Ciao from Pordenone