Central message of Counterintuitive Rails pt. 2: you can't trust anyone on the internet — a gem having 5k GitHub stars and a beautiful landing page doesn't make its recommended usage correct (e.g. calling an external geocoder from a model callback). The good news is that reasoning about layered architecture can be learned. The pattern of preferring easiness over simplicity, aesthetics over pragmatism, popularity over thoughtful analysis, and conventions over criticality is how developers make their own life harder.