Since we are all fallible beings with finite knowledge, we often simply follow directions early in the process of learning something new, with little understanding of which subset of those directions is important. This by itself is not harmful. --- But if we never attempt to break those rules, or deviate from the instructions, we become the sort of "expert" who is blissfully unaware of the world outside the path we chose. This too, by itself, is not harmful. --- But a problem arises in groups, when there is a tradeoff between: 1. An approach that is more simple, but feels less professional. 2. An approach that is more complex, but feels more professional. The same statement holds if we replace the word professional with any positive adjective in our field: scalable, professional, production quality, robust. In our field, we each encounter an endless stream of wasteful ideas masquerading as best practices. To avoid the cargo cult, whenever someone suggests a more complex approach to any problem, first mention any simpler approach, even one you don't believe in, and ask them to explain what they think the downsides of that simpler approach would be. If their answer simply asserts that a simpler approach lacks the list of positive adjectives above, you may be in a cargo cult situation. If however they mention a concrete problem you hadn't considered, where the simpler approach makes the system itself more complex, then the added complexity may be worth the cost. Moral: - Be deeply prejudiced in favor of simplicity and against complexity. - Always demand that more complex solutions justify their need to exist. - Added complexity is worthwhile only when it can pay for itself by simplifying other things.