How many centuries did it take for civil engineering, for example, to become the codified, standardized, and respected calling it is now? While I'm sure "software development" will leapfrog that span of time, but it's only been 75 years since the discipline was invented to begin with (Lovelace's work was more applied math than anything else, but the starting point is arguably between then and, let's say, FORTRAN?). T…
The problem is the deps: You can have Rust with no nulls, but the OS was made by it. You can have a RDBMS with ACID, but the file system is liar. Then, you can make a product that was applied engineering, but you can't replace all the others that not. Civil engineering and friends have the advantage that is built on top of the universe, that despite claims to the contrary, was not hacked with perl!
Is Software the UFOlogy of Engineering Disciplines?
131–140 of 186 posts
Re: Is Software the UFOlogy of Engineering Disciplines?
#132This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…
It's an interesting discussion. Developing an application is applying techniques but by nature, you don't really build the same application many times such that you can come up with rules that the daily grunt applies without thought. What is the software equivalent of spacing studs interspersed with fireblocks that we're not doing? In software, easily repeated steps and proper practices are moved to the runtime/langu…
At least in my opinion, that doesn't make them _not_ the equivalent of spacing studs interspersed with fireblocks, etc. It just makes it automatic... the same way that contractors buy materials that have certain things build into them (weather resistant, fire retardant, etc).
Just like it's entirely possible to build software without using common libraries (roll your own, etc); one can do the same with buildings. The only difference is the official rules requiring they way things are done.
Re: Is Software the UFOlogy of Engineering Disciplines?
#133Earlier quoted context omitted.
Any definition of engineering which excludes the Wright brothers and James Watt, who _invented the machine that gives the field it's name_ is a fairly poor definition. If you're creating something in a poorly understood situation by applying rules of thumb, you're doing engineering. Depending on what you are doing, flying by the seat of your pants might be really poor engineering practice, or you might be doing cutti…
> Any definition of engineering which excludes the Wright brothers and James Watt, who _invented the machine that gives the field it's name_ is a fairly poor definition. If you're creating something in a poorly understood situation by applying rules of thumb, you're doing engineering. You seem to be implying that the Wright brothers built planes based on rules of thumb. They built scale models and a wind tunnel preci…
Re: Is Software the UFOlogy of Engineering Disciplines?
#134* Reliability - Includes HA, fault-tolerance on single node, reconciliation or reliable rollback of failed transactions, ability to manually intervene if something is wrong, and observability
* Security - privilege separation and defense in depth
* Performance - Are basic operations fast? Are there worst case performance pathologies? Are batch interfaces available for efficient processing? How many concurrent users can you handle (if server based).
If we consider all these and perfectly implement, it's already pretty rigorous as an engineering discipline. I think companies at Google scale can do that, on projects with budget. But everywhere else, we make lots and lots of compromises. So there's it.
For example, building high performance network systems or DB engines is more "engineering" than building line-of-business application. Because more of these "engineering" concerns are the part of specification.
I am intentionally leaving out UX, because its a product design problem.
Re: Is Software the UFOlogy of Engineering Disciplines?
#135This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…
Re: Is Software the UFOlogy of Engineering Disciplines?
#136Earlier quoted context omitted.
> it's a 'software doesn't really kill people so government doesn't intervene in it' I think we've reached the point where this is no longer true - self driving cars, supposed robots you can take home, LLMs being unleashed to randomly guess at medical data or write software to do verification or sensitive tasks. I think software engineering is definitely engineering, we've just been successful in lobbying against pro…
Pet Food Store App does not really need Real Engineering, no
Re: Is Software the UFOlogy of Engineering Disciplines?
#137This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…
The issue is that software systems are qualitatively more complex than any physical system due to their intrinsic malleability. Physical systems are sufficiently simple that formal verification methods are actually tractable (and used).
Re: Is Software the UFOlogy of Engineering Disciplines?
#138This again? In general, Software Engineering is not engineering. It's not a technical issue, it's a 'software doesn't really kill people so government doesn't intervene in it'. In the case where the software is life and death it's generally developed in ways similar to 'real' engineering Fundamentally folks built building/structures without engineering, just so consistently caused death and destruction that govt step…
Almost no physical engineering requires licensing either. Most things are YOLO-ed without a licensed engineer because it isn't required and adds little value. The issue is that software systems are qualitatively more complex than any physical system due to their intrinsic malleability. Physical systems are sufficiently simple that formal verification methods are actually tractable (and used).
[0] https://europa.eu/youreurope/business/product-requirements/l...
Re: Is Software the UFOlogy of Engineering Disciplines?
#139How many centuries did it take for civil engineering, for example, to become the codified, standardized, and respected calling it is now? While I'm sure "software development" will leapfrog that span of time, but it's only been 75 years since the discipline was invented to begin with (Lovelace's work was more applied math than anything else, but the starting point is arguably between then and, let's say, FORTRAN?). T…
Re: Is Software the UFOlogy of Engineering Disciplines?
#140Earlier quoted context omitted.
Pet Food Store App does not really need Real Engineering, no
It really does. The pet food store app asks me for my cat’s allergies and medical conditions. Someone needs to be responsible if they fuck it up. Same with self driving cars - the whole idea of “engineering” is about quality and responsibility.
This is hilarious :-)
Making things that work has precisely zero relationship with quality or responsibilty or whatever shit you wish.
Of course you can pay me anytime for quality or responsibility or whatever :)