7 ms·
Richard Feynman: Do We Live in A Cargo Cult Society?
- andreyf 16y agoAbsolutely. The biggest offenders in software engineering are the things people integrate into their identity (i.e. "I'm an Agile manager", "I'm a Java architect", "I'm a Lisp hacker"). Another red flag is when there are no clear ways of testing a hypothesis (i.e. "NoSQL databases are better for this task", "This management methodology is best for our organization", "Outsourcing is great if you do so-and-so"). Most, if not all, of the opinions regarding industrial software engineering are based in anecdotal experience, without the tiniest thought given to controlled experiments. C'est la vie. PS: what's most confusing, for me, is that it seems impossible to fix all of the variables necessary to answer a question like "what technology is best for this real-world problem?". I've yet to hear of any good ways of systematically measuring the effect of technology choices on programmer productivity.
- moultano 16y agoWe aren't doing physics here. If we can't observe the effects of something easily, it probably isn't that important.
- natep 16y agoActually, that is similar to the position of a physicist, just without the words "easily" and "probably". For instance, what happened before the big bang has no effect on the current universe, which is why there's so much research into the first moments of the big bang, and not into any point in time before then. But to address your comment specifically, I couldn't disagree more. Unless, of course you're just trolling by making a rediculous statement without any backing evidence in a discussion about pseudoscience, in which case, well done. First, all of the parent's examples are hypotheses that are hard to test, not hard to observe. It's hard to test just how much better NoSQL/SQL is for a given task, but not hard to see that there are differences in performance if you were to, say, implement both systems. I'd like to see you change the management methodology for a company and not see a change. Same goes for his outsourcing example. Second, I do not think there is a logical connection between your conclusion and your premise. Since you haven't given a single iota or proof for your claim, I don't think I need any proof to counter it. Finally, even if we aren't doing "physics" (what ever your definition of that is), why does that mean pseudoscience is acceptable?
- Tichy 16y agoMaybe there is no strict ordering for those technologies. Or maybe what works best depends on the individuals involved. Also, there is the "no silver bullet" theory.
- natep 16y agoYou and I agree. Sorry if I didn't make that clear, but the way I read the post at the top of this thread, each claim could be backed with appropriate evidence for and against (as Feynman says every scientist's duty is). For a sufficiently well defined situation X, the claim that "Y is the most appropriate solution for X" can and should be tested appropriately. The "appropriate" amount of testing would also depend on the situation X. The 'difficulty of observation' may be a factor here, but is not the only one. If the situation doesn't require 'hard' evidence (e.g. the consequences are minor) that's fine, but I wouldn't say any of the above examples fall under that category, and people making decisions based on 'soft' evidence should do so knowing that it is what it is. Also, whether there is or isn't a strict ordering, dependence on the individuals, or a silver bullet would all be facts turned up by sufficient application of the scientific method. This relates to Feynman's points on how it's necessary to do experiments where you "don't learn anything new" and again, how every scientist is ethically bound to report results that contradict their theory.
- InclinedPlane 16y agoThat's the kind of thinking that leads you into wondering how the hell your code base got so bad, how you fell so far behind the competition, etc. A lot of critically important aspects of modern software engineering and craftsmanship are extremely subjective. The difference between success and failure in software can often come down to having the right group of people with good judgment in charge.
- stellar678 16y agoThis is also the reason that fields like nutrition science aren't generally all that useful if what you want to do something like offer diet advice. There are just too many shifting pieces to offer a systematic explanation of what's going on, at least with the experimental limits we have right now. You can only track so many variables at once.
- bertm 16y agoThis presents an interesting paradox though because at the end of the day a decision is required. Do I eat thing X or thing Y? And in what proportion? So when a set of things is not well understood but a decision is required, many non science strategies enter. So what can be done about this?
- scscsc 16y agoYou listen to science and not to crackpots who pretend to do science. Note that most advice regarding nutrition appearing in newspapers/blogs is total crap (as opposed to science). If you can't distinguish science from crap (or can't be bothered to search for science) I would suggest you go with what seems reasonable to yourself.
- stellar678 16y agoThat's the whole point though - science so far can't give much useful advice on what to eat, the topic is just too complex. Science can give hedged explanations of what's been observed in relation to a particular nutrient, but that's a far shot from dietary advice. What seems to end up happening is "we've observed a correlation between saturated fat consumption and heart disease" makes it out of the science world and gets turned into "avoid saturated fat at all costs" (and buy our replacement products). Then years later we realize it's a lot more complicated than that.
- scscsc 16y agoIt was known at the time that correlation is not causation. That is a classic example of taking dietary advice from the incompetent.
- fragmede 16y agoI'd argue that code contests like Google Code Jam are the closest to 'controlled experiments' that we have in software engineering. There's a set of specs of what is to be implemented, and a limited time in which to do it. (With different contest structure/judging criteria to testing different things like, speed, adaptability/maintainability, etc.) By trying to entice as many programmer/programmer teams to enter, differences in individual programmer is hopefully lessened. Even your question, "(What is) the effect of technology choices on programmer productivity?", tries to treat programmers as interchangeable when tech choice A is better for all programmers. Programmer productivity, like intelligence, is something that if you'd have a license to print money if you could accurately and precisely measure.
- fragmede 16y agoI'd argue that code contests like Google Code Jam are the closest to 'controlled experiments' that we have in software engineering. There's a set of specs of what is to be implemented, and a limited time in which to do it. (With different contest structure/judging criteria to testing different things like, speed, adaptability/maintainability, etc.) By trying to entice as many programmer/programmer teams to enter, differences in individual programmer is hopefully lessened. Even your question, "(What is) the effect of technology choices on programmer productivity?", tries to treat programmers as interchangeable as if tech choice A is would make all programmers more productive. Programmer productivity, like intelligence, is something that if you'd have a license to print money if you could accurately and precisely measure.
- rbanffy 16y agoBe careful. Software Engineering is not a science. Computer science is a science but, as it is explained so well in the SICP videos I watched, compsci's relations with computers is the same as astronomy's with telescopes. Software engineering can - and should - use scientific method, but it has more to do with carpentry than with physics. And I, personally, regard medicine as the biggest offender. Homeopathy should be a criminal offense.
- deleted 16y ago[deleted]
- pizzapete212 16y agoI feel like we go round and round, dealing with the same problems that our ancestors had to deal with. What I see here is part of the human condition. Pitfalls that "most" people are doomed to repeat. People are born with similar ways of thinking. I would propose that intuition is most always wrong. This is one reason we must educate people. Unfortunately, Memories and Communication are not precise. And I realize that all job fields require some sort of education or training. There exist Complex ideas, technologies, material things (eg. biology): that are not comprehensible by one single person at a time. This is why we have groups of people that make products and not individuals. Also people age, lose their usefulness. If only you could educate people who would increase their intelligence, and never die. We live in a world of conclusions based on facts. A conclusion can be wrong, a fact cannot. News media, blogs, conversation are an exchange of conclusions. We can't communicate in just facts because we can't work with that much data at a time. If only, one could link to another: a computer or another brain and be able to access knowledge and its accuracy. Is this possible, I don't know. There are many problems worth fixing (but probably won't any time soon): a phonetic english alphabet with a different letter for each unique sound, Human Language to AI command compiler, optimize human mental process (engineer the human mind), build biospheres in inhospitable regions of the Earth, Fast internet that is cheap (100Mb/s (and I mean Megabit)) -> HD remote controlled robots, Tactile feedback for TV just like we have visual and sound, Engineer ways of rejuvenating/regeneration of humans so we can control our lifespan, Creating or finding what makes humans "sentient" or "have a soul" or "conscious" or "self-aware" -> Preserve this "consciousness" without a body for long trips of space flight
- Confusion 16y agoChoice quote: The first principle is that you must not fool yourself -- and you are the easiest person [you can] fool.
- Tichy 16y agoHow can I get a link to the scribd HTML5 reader?
- natep 16y agoI'm not sure. With the big announcement that was made about how they're switching and everybody here on HN celebrating, I was expecting all the [Scribd]'s to turn into HTML5 links. Is that because the HTML5 isn't ready yet, or because the HN code hasn't been updated?
- tokenadult 16y agoPrevious submission: http://news.ycombinator.com/item?id=993150 http://news.ycombinator.com/item?id=993150 A good book for background on how people in general think is What Intelligence Tests Miss by Keith Stanovich. http://yalepress.yale.edu/yupbooks/book.asp?isbn=9780300123852 http://yalepress.yale.edu/yupbooks/book.asp?isbn=97803001238... http://www.amazon.com/What-Intelligence-Tests-Miss-Psychology/dp/030012385X http://www.amazon.com/What-Intelligence-Tests-Miss-Psycholog... As Feynman points out, "The first principle is that you must not fool yourself--and you are the easiest person to fool." Human cognitive illusions are part of the human condition, and every scientist has to guard against them ceaselessly.
- natep 16y agoThere's one paragraph I don't get: "I tried to find a principle for discovering more of these kinds of things, and came up with the following system. Any time you find yourself in a conversation at a cocktail party in which you do not feel uncomfortable that the hostess might come around and say, "Why are you fellows talking shop?" or that your wife will come around and say "Why are you flirting again?"--then you can be sure you are talking about something about which nobody knows anything." I've been trying figure out what he meant, so I can apply the same method.
- thefool 16y agoHe meant that if you ever catch yourself in a conversation where no one knows anything about the subject matter, you should end the conversation.
- duncanj 16y agoI think he's saying that certain topics allow everyone to participate because no one knows anything. If specialists were in the conversation, it would become shop talk.
- RevRal 16y agoI just finished reading this: http://www.nthposition.com/thelastcargo.php http://www.nthposition.com/thelastcargo.php Very interesting. I especially liked the term "cargo prophets." The article paints cargo cultists as performing, with fervor and rigor, a "magical repetition" of an "inexplicable complex of delusions." And the cargo prophets, being the messengers, expound new canon to the "John Frum" myth which further glorifies and necessitates this "inexplicable complex of delusions," or rituals and methods. The methods and rituals these cargo prophets ask followers to perform are NOT reason or integrity. I could go on with my thoughts on this, but basically yes. I do see a very clear parallel.