5 ms·
How much do you know about traditional engineering? I have family and friends who work as engineers, and from what they have told me software has a far larger p
by ZephyrBlu 5y ago
How much do you know about traditional engineering? I have family and friends who work as engineers, and from what they have told me software has a far larger problem space and the software engineering process is far more rigorous.
Traditional engineers are generally doing the same-ish thing over and over, and the number of possible things they can do is severely limited in comparison to software. Safety is also not as big of a deal as cost. Any idiot engineer can create something with an insane factor of safety, it takes a good one to design something that is safe and cheap.
If you want to compare very complex/rigorous engineering projects like airplanes you should compare them to things like Google. Software and traditional engineering are both rigorous at the highest levels, though not in the same way since software is so much more flexible and has a larger problem space.
- deltaonefour 5y agoA lot. I work at the intersection of all engineering disciplines. >I have family and friends who work as engineers, and from what they have told me software has a far larger problem space and the software engineering process is far more rigorous. Software engineering is and everyone agrees with me, 100 times less rigorous. Only software has this culture of releasing something than issuing patches later. As for "problem space" this is more defined by a product. The product is the problem space and programming is one solution to solve a problem. Granted programming is more versatile than other forms of engineering in terms of solving certain problems but this only lends to the fact about how much easier software is hence the desire to convert analog stuff to digital. Flexibility is an indicator of easiness. >Traditional engineers are generally doing the same-ish thing over and over, and the number of possible things they can do is severely limited in comparison to software. Safety is also not as big of a deal as cost. Any idiot engineer can create something with an insane factor of safety, it takes a good one to design something that is safe and cheap. >If you want to compare very complex/rigorous engineering projects like airplanes you should compare them to things like Google. >Traditional engineers are generally doing the same-ish thing over and over, and the number of possible things they can do is severely limited in comparison to software. Safety is also not as big of a deal as cost. Any idiot engineer can create something with an insane factor of safety, it takes a good one to design something that is safe and cheap. I mean sure, this doesn't change the fact that software is the easiest of all engineering disciplines. >If you want to compare very complex/rigorous engineering projects like airplanes you should compare them to things like Google. Software and traditional engineering are both rigorous at the highest levels, though not in the same way since software is so much more flexible and has a larger problem space. Fine let's compare the rocket industry and automobile industry with software. Are either of these industries over loaded with a barrage of random ass startups or is software the only industry with this stuff?
- ZephyrBlu 5y agoYou are trying to directly compare software with traditional engineering which doesn't really make sense. Traditional engineering has a lot of constraints which software doesn't. > Only software has this culture of releasing something than issuing patches later This has nothing to do with the rigour of software engineering. The process for releasing the initial software can be very rigorous, with a conscious decision to follow up with a patch or second release. The nature of software allows this behaviour, whereas traditional engineering doesn't. The fact you can't release a day 1 patch for a building doesn't mean that the process for designing and creating a building is more rigorous. > Flexibility is an indicator of easiness How so? Flexibility means more ways to shoot yourself in the foot. It means you can easily implement something that works for now, and fucks you over later on. It's harder to do that with a physical construction because there are a lot of constraints. Physical construction has physics as guardrails, whereas software has unbounded complexity. > Are either of these industries over loaded with a barrage of random ass startups or is software the only industry with this stuff? How is this indicative of rigour? Yes, software has a lower barrier to entry. That doesn't mean that software engineering in general has less rigour. A lot of software is written haphazardly without process, but I wouldn't classify that as software engineering because there is no engineering process there.
- deltaonefour 5y agoI'm just comparing the hardness. Software engineering is easier is my argument. The patchy nature of software makes it easier. >How so? Flexibility means more ways to shoot yourself in the foot True but people do so anyway. People in software repeatedly shoot themselves in the foot all the time than shrug it off. Oh it's just a bug. Hence the easiness. >How is this indicative of rigour? Yes, software has a lower barrier to entry. Rigour is another argument, though software definitely has less rigour. But my point is software engineering is easier. Doesn't low barrier to entry mean it's easier? It's like literally a synonym. >A lot of software is written haphazardly without process, but I wouldn't classify that as software engineering because there is no engineering process there. That's why it's easier. The "software process" is not really required. It's like an optional thing. Plenty of software shops prioritize speed over planning.