3 ms·
You don't really critique engineering, it either works or it doesn't, everything else is extra and based on preference. Art is purely non-functional, therefore
by proc0 5y ago
You don't really critique engineering, it either works or it doesn't, everything else is extra and based on preference. Art is purely non-functional, therefore critiquing it makes sense, because it's all about how it's interpreted. With code, the interpretation is done by the interpreter; compiler; platform; framework; etc.
If a piece of code gives you an error, then it needs to change, if it doesn't, then it's style or preference UNLESS it does have a technical impact, and then it needs to be automated, part of the system itself instead of relying on human eyes. In other words, critiquing code is really doing the computer's work, because in theory you would have linter rules, unit tests, integration tests, that would tell you when you need to change something.
That said, you can never have a perfect system that takes care of everything such that reviews aren't necessary (where only making the build pass is needed). Humans are still needed, but that is only because of the lack of automation and rules built into the system. Therefore to the extent you do have to review, you shouldn't be a dick about it. I agree with that, however the real solution is to let the machine handle everything.
- the_jeremy 5y ago> if it doesn't [give you an error], then it's style or preference > That said, you can never have a perfect system that takes care of everything such that reviews aren't necessary You refute your own point. Reviews are necessary, and you can critique engineering, and you need to go beyond "it either works or it doesn't". You spend half your comment making a bold claim and the other half backing off.
- proc0 5y agoMy main point is reviews are not really critiques like in art. There is a huge difference, art doesn't get compiled by a machine. At the end of the day, your customer doesn't care that you didn't refactor such and such variable. It either works or it doesn't. The last observation was just pointing out we are not there yet technologically, but we're definitely approaching it. Humans are only needed now because of lack of automation, not because the code really needs another human perspective. The human perspective for software comes at the very end, as the end user's feedback, but that's after PR merged.
- ironmagma 5y agoEven “works” is not binary. Take for example this air disaster where the door closed but did not properly seal (even though it worked fine on most flights) and later opened mid-flight killing several people. The design was defended and any concerns about its functioning were dismissed until another plane had the door open on its own volition while on the ground. [1] https://en.wikipedia.org/wiki/United_Airlines_Flight_811 https://en.wikipedia.org/wiki/United_Airlines_Flight_811
- proc0 5y agoI'm failing to see how it disproves my point. If anything this was human error, perhaps something that now is completely automated and tested by machine simulations. Machines are not "perfect" (for lack of a better word), however computers are designed to compute information, and the computation of information ultimately becomes the functionality. I'm saying here that humans aren't as good as machines at interpreting information (that is then computed by the machine) as the machines themselves. We only use humans where we really have to just because the technology and/or resources has not allowed it yet.
- ironmagma 5y agoYes, in the sense that all engineering design errors are human error. This is why we have critiques. Maybe something appears to work (i.e. doesn't give an error, or serves thousands of flights successfully), but that does not mean no changes are necessary. There are latent bugs that can pop up at any moment. Tests (including user testing) are guardrails; no one should be driving to their destination just by banging into the guardrails and letting that guide them. Not least because that's not what guardrails are for, but also because there are guardrails everywhere and they don't actually guide you in any particular direction.
- proc0 5y ago> Yes, in the sense that all engineering design errors are human error. This is why we have critiques. I'll agree to disagree... this is the reason we have automated tests, not why we have critiques. If you plot the quantity of human intervention in software development over time, I believe we will clearly see machines taking over in due time.
- FooBarBizBazz 5y agoShe wasn't really talking about the technical side of engineering work here. Her examples are about written works (essays), and works of product design. It all hinges on the word "work". She's not talking about whether an artifact "works", but about an artifact as "a work".
- proc0 5y agoI missed that, sorry. it's hard to follow when it's a bunch of tweets instead of a normal essay with paragraphs. User experience, and design, ultimately does contain forms of art, so my comment would be different.