In modern software engineering, plugin systems are a ubiquitous way to extend and modify the behavior of applications and libraries. When software is written in a way that is plugin friendly, it encourages the use of modular organization where the contracts between the core software and the plugin have been well thought out. In this talk, we cover exactly how to define this contract and how you can start designing your software to be more plugin friendly.

Throughout the talk we will be creating our own plugin friendly application using the pluggy library to show these design principles in action. At the end of the talk, I also cover a real-life case study of how the package manager conda is currently making its 10 year old code more plugin friendly to illustrate how to retrofit an existing project.

Travis Hathaway

Affiliation: Anaconda

I have been a practicing software engineer for just over 10 years now! But, that's not the only thing I like doing. In my free time, I also like making music, especially playing guitar 🎸, going to the fitness studio 🏋️, traveling 🚉 and hiking 🏔🧗‍♀️. Every once and a while, I will add an article to my blog site too 😏

visit the speaker at: GithubHomepage