Hacker News new | ask | show | jobs
by taneq 3704 days ago
Engineering (no matter whether mechanical, electrical, software...) is the process of designing an artifact to be constructed out of available materials, which meets a set of requirements while minimizing cost.

In mechanical engineering you design your artifact using off-the-shelf bearings, motors, pumps, etc.

In electrical engineering you design your artifact using off-the-shelf cables, contactors, relays, VSDs etc.

In electronic engineering you design your artifact using off-the-shelf ICs, resistors, capacitors, resonators etc.

In IC engineering you design your artifact using off-the-shelf silicon wafers, etching chemicals, core/logic designs etc.

It's turtles all the way down, and software is no different.

1 comments

Most engineers are working under some quantifiable or standard set of requirements, rather than ad hoc "make it work good and look pretty" requirements. Most engineering disciplines also have processes to ensure that its adherents take the proper precautions to avoid poor and unsafe designs, delivered in standardized sets of guidelines and recommendations.

And many programmers aren't engineers, they're just interested tinkerers; people who play around in their free time enough to know how to make something work. Not unlike if you went to the store, bought some wires and batteries and tools, and then played with them until you got hired as an electrician.

Sharing culture is instinctive. People will do it. You might as well try to tell people they can't have sex without your permission unless they pay first. Oh wait, that's the porn industry. Everyone pays for porn, right?