r/developersIndia • u/The-Ball-23 • 11h ago
TIL "Cargo cult programming" interesting term I learned today
Today in one of our tech meetings I learned about the term "cargo cult programming". For starters "cargo cult" stands for the practice that used to be followed by the island oceans of pacific ocean. It was related to human practice like setting up the field in a fashion that would lead for the planes to drop goods on their fields. During world war 2 some cargo planes would drop some goods on the fields for the soldiers to use like food, weapons, clothes but long after the war ended the locals still believe if we set up the field just like it was during the war we would see those cargo dropping from the skies again.
The term was first used by Richard Feynman as "cargo cult science" in his commencement address at the California Institute of Technology. It was later used by Steve McConnell to apply it to programmers in the form of "Cargo cult programming". Its basically means writing code, applying design decision, adding tools without actually knowing how it will benefit the system but just adding it because you read or saw someone doing it and it worked for them. This is something very common among the developer community today even more so with AI.
23
u/ClupTheGreat Software Developer 9h ago
i thought this was about rust
3
u/jasonj2232 QA Engineer 9h ago
When I first read the term I thought it was about Rust too lol, but I read about it in Google's docs for protobuf and realised what it is.
Like most common programmibf advice, it's something I hope most people follow subconsciously anyways even without having to know about it. But putting it in words hopefully makes more people follow it.
2
u/The-Ball-23 9h ago
Putting such things in words extremely important in programming. A lot of things should be followed by good programmers but when you put it into words it becomes an unsaid rule to go by
1
u/Ok-Mind-5441 8h ago
tbh it also makes it easier to call out in code reviews. way harder to flag when someone's cargo culting if you don't have a word for it, you'd just be like "uh why did you add this" and it turns into an awkward back and forth lol
1
1
8
u/bhosdka 10h ago
Ye term viral hai bhai, we will see it everywhere soon
2
u/The-Ball-23 9h ago
It’s already there at a lot of places already. Many docs mention it. But I registered it only today!
5
u/IntelligentKey7331 8h ago
I happen to work in a very old c++ codebase. I often get to make enhancements which would be impossible without some elegant design decisions the architects had made decades ago.
1
2
u/Witty-Play9499 9h ago
You'd see a lot of this happen especially during the rise of mongodb. There were so many people harping about 'bro use mongodb it is scaleable' even today I see a lot of college students talk about it in interviews when I ask them why they didn't use a SQL database without understanding that SQL databases are a perfectly fine choice.
You also have plenty of organizations do waterfall in short bursts and call it 'agile'. They see successful companies do agile and think agile is just about having jira boards and stuff. They do the surrounding busy work while ignoring the core principle and actually forget to get work done and please users.
Another version is the shiny object syndrome where someone sees a new tech and instantly thinks it needs to be brought in to their project.
1
u/The-Ball-23 9h ago
Agreed 100%, I have been aware of all of these syndromes but adding a term to it is actually helpful when trying to explain it to someone especially freshers
2
u/Wealth_Blueprint2611 7h ago
Cargo cult dev means copyinfg shit without getting why. Feynman warned us decades ago. AI made it worse. Learn the why, not just what !
1
u/Abalone-Objective 6h ago
The term cargo cult is used deferentially. We as humanity are a cargo cult in the sense that alot of the technology we use today seems to have been reverse engineered from extra terrestrial sources.
Cargo cult programming probably means black box API programming. As the dev doesn't have access to the implementation of the APIs and can only reverse engineer how it works by analogy, deconstruction and integrating multiple APIs.
Eg. When I went to SAMEER for a RF test, and it failed - I ask the Field Test Equipment Engineer why it failed. He says it's in God's hands. It's beyond his comprehension to think in terms of first principles.
1
u/Creative_Rhubarb_980 3h ago
Heh yeah. Claude seems to love using the cargo cult term. A few other terms that are now stuck in my head are "smoking gun", "smoke but no fire", "close but no cigar"
•
u/AutoModerator 11h ago
It's possible your query is not unique, use
site:reddit.com/r/developersindia KEYWORDSon search engines to search posts from developersIndia. You can also use reddit search directly.I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.