With npm, composer, gem, pip and numerous other package managers, we have more libraries at our disposal then ever before.
The problem with a lot of those libraries is that they address just one aspect: functionality, neglecting another important one: the developer who is implementing the library.
Did you ever find yourself at 3AM, scrolling through pages and pages of documentation, wishing you wrote a piece of code on your own instead of waisting your time implementing someone elses? During this talk we will go over a couple of OOP principles and design patterns that will greatly reduce someones time when implementing something you wrote, while increasing the quality of the code in general.