Is software engineering, well, engineering?

Discussions about serious topics, for serious people
Post Reply
sheldrake
After Pie
Posts: 1819
Joined: Fri Dec 20, 2019 2:48 am

Re: Is software engineering, well, engineering?

Post by sheldrake » Thu Jan 02, 2020 7:56 am

Algorithm deaign sounds like that to you because you dont know what it is.

The reason there are more self-taught programmers is that you do not need an expensively equipped laboratory to study it, a laptop and an internet connection are sufficient. It is not because less knowledge is required.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Thu Jan 02, 2020 8:49 am

Of course you need knowledge, that's obvious to anyone.

sheldrake
After Pie
Posts: 1819
Joined: Fri Dec 20, 2019 2:48 am

Re: Is software engineering, well, engineering?

Post by sheldrake » Fri Jan 03, 2020 8:26 am

And that knowledge is technical and scientific in nature.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 10:16 am

It's not really, not in the same way.

The real cutting edge stuff that needs physics etc isn't what 99% of coders do. The same doesn't apply to engineers who use applied science all the time. Even a really junior civil engineer, trying to decide which manhole lid is appropriate for near a kids playground, will be calculating loads, forces, strengths of materials etc. A coder who's asked to help stop the ads jumping around now Samsung have done an update is in a very different type of technical environment, and they rarely need to understand the science of how a computer works to do their job.

Coding is telling a computer what to do in an organised way. If you don't like the composer /novelist analogy perhaps "programme manager" or "head of department" is grand enough for you?

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 10:20 am

"I will utilise the chemistry of this chip in order to make the adverts less jumpy".
"By smoothing the electron flow, I will make the adverts less jumpy".
"Through consideration of harmonics, I will make the adverts less jumpy".

vs

"I will utilise the chemistry of the padding material to make the train less bumpy"
"By smoothing the transmission voltage I will make the train less bumpy"
Through consideration of harmonics I will make the train less bumpy"

sheldrake
After Pie
Posts: 1819
Joined: Fri Dec 20, 2019 2:48 am

Re: Is software engineering, well, engineering?

Post by sheldrake » Fri Jan 03, 2020 10:50 am

plodder wrote:
Fri Jan 03, 2020 10:16 am
It's not really, not in the same way.

The real cutting edge stuff that needs physics etc isn't what 99% of coders do. The same doesn't apply to engineers who use applied science all the time. Even a really junior civil engineer, trying to decide which manhole lid is appropriate for near a kids playground, will be calculating loads, forces, strengths of materials etc. A coder who's asked to help stop the ads jumping around now Samsung have done an update is in a very different type of technical environment, and they rarely need to understand the science of how a computer works to do their job.

Coding is telling a computer what to do in an organised way. If you don't like the composer /novelist analogy perhaps "programme manager" or "head of department" is grand enough for you?
It sounds like your model of 'computer science' is that it's something to do with the physics of semiconductors. It's actually a body of mathematics for abstract reasoning about the process of computation. Even people doing relatively mundane-seeming things can use it. Concurrency problems crop up in boring-seeming things that involve buying stuff online. Look at papers by people like Tony Hoare or Edsger Dijkstra.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 11:19 am

Sure, but most coders don't need to bother with that stuff, they can just copy and paste big chunks of working code from their buddies if they need to solve that kind of problem. I have plenty of friends who are coders who are pretty candid about how this stuff works.

User avatar
Gfamily
Light of Blast
Posts: 5180
Joined: Mon Nov 11, 2019 1:00 pm
Location: NW England

Re: Is software engineering, well, engineering?

Post by Gfamily » Fri Jan 03, 2020 12:08 pm

Can anyone remind us what the opposing viewpoints are in this thread?
Not that I'm bothered, it's just that it might be useful for new readers
My avatar was a scientific result that was later found to be 'mistaken' - I rarely claim to be 100% correct
ETA 5/8/20: I've been advised that the result was correct, it was the initial interpretation that needed to be withdrawn
Meta? I'd say so!

User avatar
dyqik
Princess POW
Posts: 7527
Joined: Wed Sep 25, 2019 4:19 pm
Location: Masshole
Contact:

Re: Is software engineering, well, engineering?

Post by dyqik » Fri Jan 03, 2020 12:13 pm

plodder wrote:
Fri Jan 03, 2020 11:19 am
Sure, but most coders don't need to bother with that stuff, they can just copy and paste big chunks of working code from their buddies if they need to solve that kind of problem. I have plenty of friends who are coders who are pretty candid about how this stuff works.
Engineers usually don't bother with designing the simple well established stuff like hydraulic actuators, fasteners, etc., they just download the 3d model from the manufacturer's website and whack it in to the model.

sheldrake
After Pie
Posts: 1819
Joined: Fri Dec 20, 2019 2:48 am

Re: Is software engineering, well, engineering?

Post by sheldrake » Fri Jan 03, 2020 12:16 pm

plodder wrote:
Fri Jan 03, 2020 11:19 am
Sure, but most coders don't need to bother with that stuff, they can just copy and paste big chunks of working code from their buddies if they need to solve that kind of problem. I have plenty of friends who are coders who are pretty candid about how this stuff works.
They really can't always do that.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 12:43 pm

dyqik wrote:
Fri Jan 03, 2020 12:13 pm
plodder wrote:
Fri Jan 03, 2020 11:19 am
Sure, but most coders don't need to bother with that stuff, they can just copy and paste big chunks of working code from their buddies if they need to solve that kind of problem. I have plenty of friends who are coders who are pretty candid about how this stuff works.
Engineers usually don't bother with designing the simple well established stuff like hydraulic actuators, fasteners, etc., they just download the 3d model from the manufacturer's website and whack it in to the model.
Yes, sure, but they still need to specify which actuator / fastener to use, and how it works in reality is that the manufacturer's engineers end up in discussion with the client's engineers to bottom this out, usually once one of them has done some maths and they've agreed the assumptions are correct.

Plus the initial design for the actuator or fastener will certainly involve some first principles, not something you see with coding.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 12:44 pm

sheldrake wrote:
Fri Jan 03, 2020 12:16 pm
plodder wrote:
Fri Jan 03, 2020 11:19 am
Sure, but most coders don't need to bother with that stuff, they can just copy and paste big chunks of working code from their buddies if they need to solve that kind of problem. I have plenty of friends who are coders who are pretty candid about how this stuff works.
They really can't always do that.
That's right. Always means all them. Most means more than half.

User avatar
dyqik
Princess POW
Posts: 7527
Joined: Wed Sep 25, 2019 4:19 pm
Location: Masshole
Contact:

Re: Is software engineering, well, engineering?

Post by dyqik » Fri Jan 03, 2020 1:02 pm

plodder wrote:
Fri Jan 03, 2020 12:43 pm
dyqik wrote:
Fri Jan 03, 2020 12:13 pm
plodder wrote:
Fri Jan 03, 2020 11:19 am
Sure, but most coders don't need to bother with that stuff, they can just copy and paste big chunks of working code from their buddies if they need to solve that kind of problem. I have plenty of friends who are coders who are pretty candid about how this stuff works.
Engineers usually don't bother with designing the simple well established stuff like hydraulic actuators, fasteners, etc., they just download the 3d model from the manufacturer's website and whack it in to the model.
Yes, sure, but they still need to specify which actuator / fastener to use, and how it works in reality is that the manufacturer's engineers end up in discussion with the client's engineers to bottom this out, usually once one of them has done some maths and they've agreed the assumptions are correct.

Plus the initial design for the actuator or fastener will certainly involve some first principles, not something you see with coding.
And in coding, the kind of snippets of code you're talking about are mostly the equivalent of fasteners. For most jobs, fasteners are well below their performance limits, and are just chosen to match the others in the product, for ease of assembly and maintenance. For more complex lumps of code (libraries, frameworks, etc.) then performance, reliability, interfaces, lifetime etc. are checked out before using them. Usually with all the kinds of discussion you are talking about for actuators.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 1:40 pm

Sure, which is why they think they’re engineering. But that same process you describe would also be used to write a concerto, or a Haynes manual, or a cookbook.

User avatar
dyqik
Princess POW
Posts: 7527
Joined: Wed Sep 25, 2019 4:19 pm
Location: Masshole
Contact:

Re: Is software engineering, well, engineering?

Post by dyqik » Fri Jan 03, 2020 1:42 pm

plodder wrote:
Fri Jan 03, 2020 1:40 pm
Sure, which is why they think they’re engineering. But that same process you describe would also be used to write a concerto, or a Haynes manual, or a cookbook.
I guess question is then "why do you think engineering is so special?". It's just making sure something you are making meets requirements.

User avatar
Gfamily
Light of Blast
Posts: 5180
Joined: Mon Nov 11, 2019 1:00 pm
Location: NW England

Re: Is software engineering, well, engineering?

Post by Gfamily » Fri Jan 03, 2020 1:45 pm

dyqik wrote:
Fri Jan 03, 2020 1:42 pm
plodder wrote:
Fri Jan 03, 2020 1:40 pm
Sure, which is why they think they’re engineering. But that same process you describe would also be used to write a concerto, or a Haynes manual, or a cookbook.
I guess question is then "why do you think engineering is so special?". It's just making sure something you are making meets requirements.
And ideally behaves well outside the bounds of what has been specified.
My avatar was a scientific result that was later found to be 'mistaken' - I rarely claim to be 100% correct
ETA 5/8/20: I've been advised that the result was correct, it was the initial interpretation that needed to be withdrawn
Meta? I'd say so!

User avatar
dyqik
Princess POW
Posts: 7527
Joined: Wed Sep 25, 2019 4:19 pm
Location: Masshole
Contact:

Re: Is software engineering, well, engineering?

Post by dyqik » Fri Jan 03, 2020 1:49 pm

Gfamily wrote:
Fri Jan 03, 2020 1:45 pm
dyqik wrote:
Fri Jan 03, 2020 1:42 pm
plodder wrote:
Fri Jan 03, 2020 1:40 pm
Sure, which is why they think they’re engineering. But that same process you describe would also be used to write a concerto, or a Haynes manual, or a cookbook.
I guess question is then "why do you think engineering is so special?". It's just making sure something you are making meets requirements.
And ideally behaves well outside the bounds of what has been specified.
No, that's over-engineering, at least if it imposes additional costs or other trade-offs.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 1:53 pm

Right, so according to that definition Anthony Worral Thompson is an engineer.

I prefer “someone who can apply scientific principles to solve problems” but unfortunately that definition rules out the majority of coders. If you asked a civil engineer to design a fastener from first principles they’d grumble like crazy, reach for the textbooks, and do it (it might take a while, mind). If you asked the equivalent of most coders they would stare at you in a blind panic.

User avatar
dyqik
Princess POW
Posts: 7527
Joined: Wed Sep 25, 2019 4:19 pm
Location: Masshole
Contact:

Re: Is software engineering, well, engineering?

Post by dyqik » Fri Jan 03, 2020 1:59 pm

plodder wrote:
Fri Jan 03, 2020 1:53 pm
Right, so according to that definition Anthony Worral Thompson is an engineer.

I prefer “someone who can apply scientific principles to solve problems” but unfortunately that definition rules out the majority of coders. If you asked a civil engineer to design a fastener from first principles they’d grumble like crazy, reach for the textbooks, and do it (it might take a while, mind). If you asked the equivalent of most coders they would stare at you in a blind panic.
It might rule out a fair number of coders, but as mentioned above, not all coders are software engineers, just as not everyone who draws parts, lays out bolt holes in them, makes an assembly drawing and makes a parts list is a mechanical engineer. My father spent an entire career as a mechanical draughtsman, and in the latter years mostly had the job title of engineer, despite not having a degree. And many software engineers will have degrees in "Computer Science".

You're now complaining about the over-use of the title "engineer", not about whether software engineering is engineering.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 2:05 pm

Repeating myself, I’m happy that at the fringes of any discipline you find a lot of crossover and fudge. But mainstream coding is very different from traditional branches of engineering, for the reasons given.

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 2:06 pm

Basically, they don’t need to understand and apply science as a routine part of their job.

User avatar
dyqik
Princess POW
Posts: 7527
Joined: Wed Sep 25, 2019 4:19 pm
Location: Masshole
Contact:

Re: Is software engineering, well, engineering?

Post by dyqik » Fri Jan 03, 2020 2:11 pm

plodder wrote:
Fri Jan 03, 2020 2:06 pm
Basically, they don’t need to understand and apply science as a routine part of their job.
What do you think "computer science" is?

User avatar
shpalman
Princess POW
Posts: 8244
Joined: Mon Nov 11, 2019 12:53 pm
Location: One step beyond
Contact:

Re: Is software engineering, well, engineering?

Post by shpalman » Fri Jan 03, 2020 2:20 pm

dyqik wrote:
Fri Jan 03, 2020 2:11 pm
plodder wrote:
Fri Jan 03, 2020 2:06 pm
Basically, they don’t need to understand and apply science as a routine part of their job.
What do you think "computer science" is?
Was Turing a mathematician or a scientist?
having that swing is a necessary but not sufficient condition for it meaning a thing
@shpalman@mastodon.me.uk

plodder
Stummy Beige
Posts: 2981
Joined: Mon Nov 11, 2019 1:50 pm

Re: Is software engineering, well, engineering?

Post by plodder » Fri Jan 03, 2020 2:26 pm

dyqik wrote:
Fri Jan 03, 2020 2:11 pm
plodder wrote:
Fri Jan 03, 2020 2:06 pm
Basically, they don’t need to understand and apply science as a routine part of their job.
What do you think "computer science" is?
From the degree syllabus I posted a couple of pages back, it's a lot of coding. Whereas an engineering degree contains a lot of science - mine had modules containing A-Level equivalent physics, chemistry and biology, as well as loads of applied maths, stats etc.

User avatar
dyqik
Princess POW
Posts: 7527
Joined: Wed Sep 25, 2019 4:19 pm
Location: Masshole
Contact:

Re: Is software engineering, well, engineering?

Post by dyqik » Fri Jan 03, 2020 2:42 pm

plodder wrote:
Fri Jan 03, 2020 2:26 pm
dyqik wrote:
Fri Jan 03, 2020 2:11 pm
plodder wrote:
Fri Jan 03, 2020 2:06 pm
Basically, they don’t need to understand and apply science as a routine part of their job.
What do you think "computer science" is?
From the degree syllabus I posted a couple of pages back, it's a lot of coding. Whereas an engineering degree contains a lot of science - mine had modules containing A-Level equivalent physics, chemistry and biology, as well as loads of applied maths, stats etc.
You haven't posted a syllabus for a computer science degree, but one software engineering degree at one university which is traditionally more practically based. Other computer science course will get closer to the hardware, where the physics and maths interact more directly. However, software engineering is necessarily more abstract than electrical engineering, which is in turn less mechanical that mechanical engineering.

Even so:

From the Software Engineering course you linked to:
Computer Systems – This module provides a foundation in computer architecture and operating systems with a specific emphasis on their security. Students will learn about computer hardware, software, operating systems, and demonstrate practical knowledge of these during lab sessions. Studying this module student will be able to relate the abstract concepts of logic and number systems to their concrete representation on real machines and identify the security risks in common configurations of computer operating systems and suggest appropriate mitigations. In the practical lab sessions students will also learn to develop shell scripts.
This is applied mathematics.
Mathematics for Computing – Mathematical structures are introduced that provide a basis for computer science. Specific topics include logic, set theory, probability and statistics.
'nuff said.
Database Design and Implementation – Structured data, held in relational databases, accessed via SQL, supports the information storage requirements of many companies, organisations, and on-line businesses. In this module the student will learn the fundamentals of how to design the structure of data within a relational database, how to interact with data within the database, and how to protect the data within the database.
Serious maths here as well.
Data Structures and Algorithms – This module introduces a variety of data structures and algorithms for sequential execution. Classical data structures will be introduced (including stacks, queues, lists, trees, and hash tables) and algorithms for searching and sorting. The performance characteristics of these data structures and algorithms will be explained. Specific coding issues will also be considered such as modularity, genericity, equality, assignment, mutable and immutable objects.
More serious maths.
Concurrent and Parallel Algorithms – The module will introduce students to concurrent program design in the context of multi-core architectures and distributed applications. Where appropriate formal notation will be used for specification.
Serious maths in the latter sentence.
Rigorous Systems – This module introduces the role of formal systems in rigorous software development and develops base-level skills using a contemporary formal method. The module covers the essential theoretical material (rationale, syntax, semantics) and provides practical experience using an appropriate software development tool.
The module is based on the formal specification language ITL.
Very serious applied maths.

Post Reply