Live data from Hacker News

Why writing software is not like engineering (2008)

cs.usfca.edu

1–10 of 62 posts

Re: Why writing software is not like engineering (2008)

#5
Most engineering projects have standards. Not the cutting edge stuff, but most of it does. Many are from regulations and safety laws setting specifications for this and that, but some are simply there because they won by being the most popular.

Software Development by contrast has no standards. You can hire two different enterprise sized companies with this and that certification in the exact same technologies, who claim to adhere to the exact same principles for best practices and what not. They mean it too, often they’ve even gone through the same sort or internal re-education processes with the same consultant companies at the same time, yet they still manage to build software projects so different that transferring ownership from one to the other, or setting up a multiple supplier open source project, is sooooo much work you wouldn’t believe it.

If computer science wants to be engineering, I need to be capable of hiring an architect who makes plans that can be implemented by any supplier, and I need to be able to switch supplier/contractor 2-3 times during the process without issues because the plans can only be implemented one way. We’re probably a lot further away from that world today than we were 30 years ago. The only company that seems to have smelled the music on this stuff is Microsoft and their cloud.

Re: Why writing software is not like engineering (2008)

#6
post #4

Not sure why people consider it an art.. some software problems only have 1 correct solution that runs in a time constraint, proven by mathematical induction..Art is subjective no?

Most programming isn't implementing the specific most efficient algorithm. Usually it's mostly architecting, bricklaying, and tweaking.

Re: Why writing software is not like engineering (2008)

#7
> The Economist magazine (Nov 27, 2004 p. 71) cites the Standish Group's estimates that

"...30% of all software projects are canceled, nearly half come in over budget, 60% are considered failures by the organizations that initiated them, and 9 out of 10 come in late."

In 2021 (as well as in 2004) it is meaningless to talk about "all software projects" without specifying domain, size, scope and project etymology. "Software" is too vast. It could be an app to tell the time with Mickey Mouses hands, or it could be the control software for a joint strike fighter.

Re: Why writing software is not like engineering (2008)

#8
post #5

Most engineering projects have standards. Not the cutting edge stuff, but most of it does. Many are from regulations and safety laws setting specifications for this and that, but some are simply there because they won by being the most popular. Software Development by contrast has no standards. You can hire two different enterprise sized companies with this and that certification in the exact same technologies, who c…

Standards can only happen when an industry has matured and moves slow enough for these standards not to be obsolete by next year.

We have plenty of laws and standards regarding handling private information, payment systems, independent pen testing and so on. So it's incorrect to say we have "no standards" at all. Where it matters, we do.

But to try and standardize a process that's evolving faster than a standard can spread is pointless.

This doesn't make software engineering any less engineering. Engineering isn't about standards. It's about the design, construction and use of systems.

Re: Why writing software is not like engineering (2008)

#9
post #4

Not sure why people consider it an art.. some software problems only have 1 correct solution that runs in a time constraint, proven by mathematical induction..Art is subjective no?

Is like telling a story that is only correct if you get all the facts said, but there are so many styles to tell the same story, and people can’t agree in what’s best, there is always someone coming up and saying ... actually I can tell the story better to make it more enjoyable and easier to understand.

Re: Why writing software is not like engineering (2008)

#10
post #5

Most engineering projects have standards. Not the cutting edge stuff, but most of it does. Many are from regulations and safety laws setting specifications for this and that, but some are simply there because they won by being the most popular. Software Development by contrast has no standards. You can hire two different enterprise sized companies with this and that certification in the exact same technologies, who c…

You’ve identified an aspect of other fields of engineering and are saying since you feel this aspect may be missing from software engineering that it therefore isn’t engineering. But if you look up what engineering means broadly this isn’t part of the definition at all. Which I guess goes on to say it depends on what you mean when you say “engineering”; a specific manifestation of engineering or the general practice.
Post reply on HN