Software Engineering vs Traditional Engineering

The cluster debates whether software development qualifies as true engineering like civil engineering or construction, highlighting differences in physical constraints, rapid evolution, incomplete specifications, reliability, and viewing it more as a craft.

➡️ Stable 0.6x Career & Jobs
4,967
Comments
20
Years Active
5
Top Authors
#1566
Topic ID

Activity Over Time

2007
9
2008
27
2009
74
2010
106
2011
85
2012
146
2013
160
2014
177
2015
242
2016
302
2017
248
2018
282
2019
300
2020
407
2021
481
2022
479
2023
496
2024
398
2025
519
2026
29

Keywords

CS ENGINEERING EE CPU OP VERY HN I.e TOO API software engineering software engineering building bridge bridges construction building software disciplines design

Sample Comments

hxa7241 Jul 26, 2009 View on HN

Software is rather good actually. Only a small percent of any of it is faulty. It could be improved but it is largely not considered worth it.Civil engineering is not as perfect as often supposed. There are plenty of defects from barely noticeable to catastrophic. The software world simply knows nothing about other engineering. There is an easy way to see: just check the references in software engineering books and papers and count how many point to other such disciplines: practically none.<p

mikekchar Jun 7, 2015 View on HN

In my opinion, software, if it is a form of engineering, is a very strange form. A mistake in one part of the code can potentially affect any other part of the code. Not only that, but the effect it has is practically unbounded. If we were making a car, then it's a bit like putting in a cup holder causing the fuel tank to explode.We can't efficiently reason about our designs because we can't efficiently build from reusable parts that are known to work. Sure that cup holder

seti0Cha Sep 7, 2022 View on HN

The software world evolves much faster than any of the engineering disciplines and has fewer physical constraints. The requirements for software are rarely fully specified when construction starts. Software is faster to build, deploy and fix so getting it right the first time is not as important. The environment in which it is deployed changes rapidly and in entirely unexpected ways, which is not the case for things built by engineers. There are plenty of differences. In practice, software is mo

roel_v Oct 22, 2010 View on HN

I think it's not so much about the 'physical' part as about the 'rigorous training, certification and qa assurance practices' part. Developing software is very different from constructing a building (I do both, not as an engineer though); software is new, almost each and every time, because once it's build, you can just copy it byte by byte. Developing software is about pushing the edge in an unconstrained space. Physical construction (buildings, bridges, roads) is about repeatability; rigorous

tralarpa Jul 4, 2021 View on HN

Software engineering is still very far from engineering. It's a young field and everything is still very experimental. Its practitioners are still debating whether a hammer or a saw is the best tool for inserting a screw, and whether to insert the head first or the tip first. Don't forget that the art of building bridges has a head start of several thousand years :)

golemiprague Dec 14, 2018 View on HN

Software development is more like a craft rather than engineering. If you are willing to pay for an app the same money you pay for a bridge than you will get the same quality and rigorous checking. But even then, there are less than 10 types of bridges in the world comparing to software which has to simulate every human activity and sometimes imaginary activities like games, all that in much higher levels of complications, constant changes of requirements and infinitely open for later changes th

rmah Jun 10, 2017 View on HN

"Because of that, people thought you should write software the way you build a bridge or a car."The reason people think that is because they have no idea how the engineering to build a bridge or a car is done.Note, the term is Software ENGINEERING not Software Assembly or Software Construction. The engineering work necessary to design a bridge or car is actually not TOO dissimilar to designing anything else. You have requirements (often vague, conflicting and changing) and cons

xondono May 26, 2019 View on HN

As an engineer myself (EE) I disagree completely with OP.Engineering is mostly about making tradeoffs.It’s not that software does things different that other engineering fields, it’s just that it faces different cost structures.Bridges, buildings and infrastructure face huge costs when making changes in the middle of the project. Some operations make changes almost impossible, or so expensive that they are considered impossible. The worst case scenario for software is starting over, but

mewpmewp2 Feb 22, 2021 View on HN

Software is completely different from your typical other engineering fields. You just can't apply the same methodology there. In other fields such as building bridges you are quite often taking what has already been proven to work well and building it, while in software if you start to repeat yourself you are doing things wrong.

Swizec May 7, 2012 View on HN

Building software is often compared to building houses. If civil engineers can design and create a very complex bridge or dam or whatever, and it keeps working for 150 years without breaking. Why can't us software engineers make software that will work without bugs for more than 10 minutes?Problem is, the two aren't really comparable.A while ago someone wrote an article that we are Software Gardeners not engineers[1]. And I think that comparison is much more apt.Software is malea