3 ms·
I happened to also delved into machining tools and work as SWE full time. This comparison to me, is not workable between machine building and software. So the
by justicezyx 5y ago
I happened to also delved into machining tools and work as SWE full time.
This comparison to me, is not workable between machine building and software.
So the difference is that machines do simple things and not changing. But software do complicated things and always changing.
You can easily understand which parts and/or ways of operating that cause machine misbehaving. Because you have full grasp of the parts and how they assembled and work
But you cannot achieve the same for software, as each time it will be a new problem, or a new feature not working as expected.
Actually, if you think a bit more, you might realize that we actually cares very little about the microscopic features of machines. For example, no one cares about screws, as long as they are machined according to spec, and torqued correctly during installation. The chance that a random screw to bring down a whole machine is close to zero.
But any function in a software can bring down the whole software...
- lolinder 5y ago> For example, no one cares about screws, as long as they are machined according to spec, and torqued correctly during installation. The chance that a random screw to bring down a whole machine is close to zero. This sounds like people do care about screws. You identify two specific failure modes: they could be machined incorrectly, or they could be torqued incorrectly during installation. In either case, it is entirely possible that a single screw could cause the whole machine to fall apart (depending on which screw fails). Software is very similar. The smaller the function, the fewer things that could possibly go wrong (similar to a screw) but there's always the possibility that something goes wrong. Like screws, some functions won't do much harm if they're wrong, but some are keystones that, if they fail, will bring the whole thing down.
- eschneider 5y agoDepending on your application, you learn to care very, very deeply about screws and bolts. Screw and bolt failures kill people, and they usually fail in conjunction with other design mistakes. Like software, it's not just one thing and you do need to sweat the details.
- lolinder 5y agoYep. I think we have a tendency to assume that our field is somehow unique, because we know it so intimately. "Everyone else has it simpler." The actual fact is that everyone else has it just as complicated, but we never see that complexity because it's not what we are experts in.
- sly010 5y agoHave you heard about jesus nuts? [0] [0] https://en.wikipedia.org/wiki/Jesus_nut https://en.wikipedia.org/wiki/Jesus_nut
- MattGaiser 5y ago> as long as they are machined according to spec, and torqued correctly during installation. Isn't it more correct to say that nobody cares about screws because we have worked out the problems with screws to the point that we can trust they are machined to spec and torqued correctly?
- jamincan 5y agoA random screw can have a huge difference. Just pull up McMaster-Carr and look up the hundreds of different types of fasteners that all have different properties that make them suitable in some cases or others. Someone has to choose the screw, and it's not necessarily a straightforward choice.
- hwayne 5y agoOne of my favorite online discoveries is Fastenal labs, where they talk about properties of screws. Here's one that says your machine can break because you put a stainless steel screw through an aluminum plate: https://www.fastenal.com/en/70/corrosion https://www.fastenal.com/en/70/corrosion
- ska 5y ago> For example, no one cares about screws, as long as they are machined according to spec, and torqued correctly during installation. This just isn't true. Off the top list: - are they the right spec for the load - are they the correct material and finish for environment - do they have the right head (for manufacture, but also support, etc.) - what vendor options do we have (the more unusual, the more this gets interesting) and what risk - are the manufacturing SOPs correct for this - are the manufacturing SOPs being followed - etc. And that's the simple things like screws. You may not care about any of this stuff until it fails; but if nobody cares, things will fail. The real difference between stuff like this an software engineering is that in far more cases for hardware an engineer can look up the correct solution and use it. You still have to care enough to check that, and check it against any change, etc.
- deleted 5y ago[deleted]