Too many developers struggle with their object oriented programming skills. Concepts like abstraction, single responsibility principle, unit testing, refactoring, architecture and SOLID seem out of reach. You wonder how you can grasp the concepts. You buy books. You attend conferences. You go out of your way to try and learn. Nothing works. You feel stuck.