3 ms·
Guess and check is not engineering. That's what the author describes. Engineering is also not normally scientific investigation. The author uses "hypothesis" i
by iandanforth 4y ago
Guess and check is not engineering. That's what the author describes.
Engineering is also not normally scientific investigation. The author uses "hypothesis" in the worst layman manner. A hypothesis is not something to be confirmed, it is something to be disproven.
No, engineering is primarily about the application of predictive knowledge and models to create and implement designs which are robust to known operating parameters and unknown model error.
Guessing and checking frequently (via CD) has merit. In fact in the limit you can eliminate the human in the loop if you add in some basic rule like "reduce error with each step". That's automatic optimization.
But if you want to talk about engineering you need to talk about constraints, predictive formula, and industry knowledge guiding design choices. If you need to serve 1M QPS, is a single sharded single node Elasticsearch instance on an MX5 large sufficient? Why or why not? That's an engineering discussion. If you need to identify the closest points to a vector in Nd space among 1B points what algorithms produce tenable runtimes? That's an engineering discussion.
Other disciplines have centuries of accumulated knowledge and modeling to fall back on. They don't have to guess (mostly) which metals will survive high temperatures. Or how air will flow around a given shape. We have similar knowledge that explicitly removes the need to guess. Again, checking is always good, but the valuable tools in an engineering toolbox massively reduce the search space before any implementation is attempted and that's the heart of engineering.
- Supermancho 4y ago> Engineering is also not normally scientific investigation People often confuse scientific investigation with logical reasoning. Software Engineers do the latter more often than the former, but they do perform the former. We literally have environments called "Test" and verifications called "tests". I find it hard to believe there's no relation. > A hypothesis is not something to be confirmed, it is something to be disproven. That is incorrect. The definition is available. Hypothesis: a supposition or proposed explanation made on the basis of limited evidence as a starting point for further investigation. > That's an engineering discussion Yes and those discussions result in "hypotheses". > Other disciplines have centuries of accumulated knowledge and modeling to fall back on. While there are few software development papers, there is some progress. Mostly we each rely on our own experiences and the experiences of others (reading a bunch helps).