Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Mechanical engineering certainly has established practices but I would argue against it being rigid and well-defined in many or even most cases.


At least a mechanical engineer can estimate their rigidity.


Materials science has changed a couple times in the last thirty years hasn’t it?

And given that finite element analysis has flaws, one wonders what will replace it and when.


For example, there's probably an under-regognized amount of materials work going into radiation shielding related to current fusion efforts. And there's a huge amount of, perhaps subtle, material science innovation going int consumer products and elsewhere,


Gorilla glass is a great example.


Also tons of stuff related to especially outdoor clothing.


Same for electrical engineering. Some solutions require as much creativity and have infinite possible solution as software does.

The main difference is that most people working in electrical or electronic engineering aren't being forced to ship half-working products that might change tomorrow. When we ship a product, it's "done". The cost of modifying it later is not zero. Well, the same is true for software, but this is a reality that business gaslights developers into ignoring.


It’s a we can always fix it in post-production which becomes less and less the case with many physical projects. But that’s at least somewhat different from there not being fairly established ways of doing many fundamental things and having best practices for testing etc.


That flexibility is a fantastic advantage of software over hardware, not a liability. You still can deliver software as an unchanging thing, but generally no one does because incrementally giving users something useful sooner is more valuable.


The flexibility is how software engineers are forced to forget the engineering part, so it does matter.

Updates are fine. Forgetting quality because of the possibility of updating is not.


Depends how you use that flexibility. If it’s to add capabilities and fix minor problems that all products have, sure. If it’s to ship bug-ridden crap just because it can probably be fixed later, I’m less of a fan.


Theoretically, it could have been an advantage, but in practice it's not. What we got instead is a software ecosystem of slow, bug infested garbage that requires constant updates.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: