Cargo Cult on Software Engineering

As human beings, we tend to repeat things that have made us successful in the past. We think we’ll get similar results when we remake those things that activate our brain’s reward zone. The annoying part is that sometimes (to be more honest, most of the time) we do it without thinking, in a reflexive manner.

Cargo Cult is a very interesting definition in this sense. It begins with the introduction of primitive indigenous tribes from Melanesia to cargo planes during World War II.

Isolated and primitive island cultures that were lacking technology found soldiers and supplies arriving in large numbers, often by airdrop. The soldiers would trade with the islanders. After the war, the soldiers departed. Cargo cults arose, attempting to imitate the behaviors of the soldiers, thinking that this would cause the soldiers and their cargo to return. Some cult behaviors involved mimicking the day-to-day activities and dress styles of soldiers, such as performing parade ground drills with wooden or salvaged rifles.

https://makensi.es/cargocult/appsec/strategy/2020/05/29/infosec-cargo-cult.html

Since I thought that the main difference between us and such primitive tribes lies in our luxury of consuming some previously discovered and defined concepts, I began to consider whether there were those in myself and around me who displayed such behavior. We have repeated such patterns of behavior so many times in the past that we have often associated it with a part of our character and need to make extra effort to avoid turning it into myths that are hard to break. Consequently, we sometimes avoid questioning them by identifying with the questioning of our character. This quickly brought me to You are not your job.

Going back to the main point, I believe that becoming a better software developer can be through constant questioning rather than repeating old habits. When we hear patterns such as “This is how it is done”, “It was done this way before”, deeper questioning may help. Especially in unpredictable situations where we are not in full control (roughly the whole world we live in can be described as such :)), it is more comfortable and safe to return to the habits that we knew worked before.

Our way of writing code, Best-Practices, Agile processes, effort estimation methods, review methods, we should apply this in every subject and make it a habit not to avoid healthy conflicts.

The situations we’re living in matters. Context matters. Change is inevitable.

Thanks for reading.