The SOLID principle has to be known by every software developer. @scotch_io explains it nicely with examples: https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design via