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 » Fri Jan 03, 2020 8:59 pm

plodder wrote:
Fri Jan 03, 2020 8:48 pm
sheldrake wrote:
Fri Jan 03, 2020 8:32 pm
plodder wrote:
Fri Jan 03, 2020 8:28 pm
This because most coders don't need to understand computer science
What do you base this tenuous theory on ?
Ok, google "coding jobs" and you'll find loads of well paid examples like this: https://www.indeed.co.uk/m/viewjob?jk=a ... &from=serp

All they want is the ability to write html and manage teams using Agile etc, they don't ask about computer science at all.
Writing complex javascript can certainly employ computer science knowledge. (or it can be hacked together spaghetti).

Also, job responsibilities listed include: -

– Be a top-notch coder and an expert in the domain, capable of deep diving into implementation details of components and features across the technology stacks. (my bold)
– Be at the forefront of significant technology initiatives from inception to successful deployment.
– Work closely with Enterprise Architecture to develop optimal software/system architecture

There's plenty of scope for computer science knowledge to be needed here, and I would be surprised if it wasn't tested during the interview process. Sky has a pretty big tech org.

User avatar
bjn
Stummy Beige
Posts: 2932
Joined: Wed Sep 25, 2019 4:58 pm
Location: London

Re: Is software engineering, well, engineering?

Post by bjn » Fri Jan 03, 2020 9:25 pm

plodder wrote:
Fri Jan 03, 2020 8:28 pm
bjn wrote:
Fri Jan 03, 2020 7:40 pm
plodder wrote:
Sun Dec 29, 2019 5:19 pm
but engineering is taking science and applying it to solve problems
There is a science behind software engineering, it's called computer science, which is the study of algorithms. I happen to have a degree in it. It is a bit of an odd discipline, but the hard core bits are a branch of mathematics, blended with electrical engineering.

The application of that science allows people to create software to solve problems. By your definition, that's engineering.

You have a weird bug bear and go on about 'coding' as if it's just typing in the same way as writing third rate poetry on a laptop is typing. It's like saying an mechanical engineer making blue prints is just drawing lines and why is it different to an artist. What is being programmed, how it is being programmed, what is even possible to be programmed to solve a relevant problem is profoundly constrained.

A crappy hacker has no idea about any of that and creates crappy software. They are lucky they can do that because an entire army of competent software engineers have put together software engineering tools that means the worst hackers can put something together, even if it isn't engineered. Then again, the dickhead who put in crappy steel joists in my roof which cost a fortune to fix up was equally ignorant of structural engineering even if they got to use the tools and material of a real structural engineer to badly solve a problem of holding a roof up.
No-one is suggesting computer science isn't a science, or that people who apply it aren't doing engineering. But your dickhead builder's coder equivalent is pretty common in coding and software, whereas you'd never ever find them in a professional engineering capacity. This because most coders don't need to understand computer science, which is why I'm suggesting it's inappropriate to label the whole coding profession as engineers.
How do you know they are common?

User avatar
bjn
Stummy Beige
Posts: 2932
Joined: Wed Sep 25, 2019 4:58 pm
Location: London

Re: Is software engineering, well, engineering?

Post by bjn » Fri Jan 03, 2020 9:27 pm

plodder wrote:
Fri Jan 03, 2020 8:48 pm
sheldrake wrote:
Fri Jan 03, 2020 8:32 pm
plodder wrote:
Fri Jan 03, 2020 8:28 pm
This because most coders don't need to understand computer science
What do you base this tenuous theory on ?
Ok, google "coding jobs" and you'll find loads of well paid examples like this: https://www.indeed.co.uk/m/viewjob?jk=a ... &from=serp

All they want is the ability to write html and manage teams using Agile etc, they don't ask about computer science at all.
To have those skill listed you need to know some computer science. Do structural engineering job ask for knowledge of calculus?

User avatar
bjn
Stummy Beige
Posts: 2932
Joined: Wed Sep 25, 2019 4:58 pm
Location: London

Re: Is software engineering, well, engineering?

Post by bjn » Fri Jan 03, 2020 9:47 pm

To be clear, yes it is easier to be a cowboy software developer than it is a cowboy 'physical' engineer. There are a lack useful of professional standards in my field, even though there are professional organisations (eg: I'm a member of the ACM). That lack is a real problem, and it's a problem recognised by bodies like the ACM.

It's hard to create professional standards though, the field continues rapidly evolving. New methodologies and technologies are rolling out faster than any other equivalent discipline I can think of. It's like structural engineers having to deal with someone inventing new building materials to compete with steel every 6 months or so. It also why I prefer to hire people holding solid computer science degrees with real world experience, they understand the principles rather than sections of a technology stack.

That said, convincing most employers to pay more money for someone with "Accredited Software Engineer" is going to be a big ask. The broader business culture won't pay for that given the complete inutility of all the existing ISO software engineering standards.

User avatar
Martin_B
After Pie
Posts: 1616
Joined: Mon Nov 11, 2019 1:20 pm
Location: Perth, WA

Re: Is software engineering, well, engineering?

Post by Martin_B » Sat Jan 04, 2020 3:40 am

bjn wrote:
Fri Jan 03, 2020 9:27 pm
To have those skill listed you need to know some computer science. Do structural engineering job ask for knowledge of calculus?
I don't interview structural engineers (often) but in my field of engineering (process) I require an applicant to have a degree from an accredited university that will have ensured that the applicant had a reasonable understanding of the basic first principles.

Beyond that, most engineers these days will be using computer tools which are based on those first principles, and I'd expect an experienced engineer to be able to demonstrate a working knowledge of such tools.

A principal engineer will often have almost no working knowledge of the computer tool at all (because they probably learned their trade on a different, now superseded, package) but they will be able to sense-check the output of the computer tools and point out the areas where the computer tools have limitations and you occasionally need to go back to first principles!
"My interest is in the future, because I'm going to spend the rest of my life there"

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

Re: Is software engineering, well, engineering?

Post by plodder » Sat Jan 04, 2020 8:04 am

bjn wrote:
Fri Jan 03, 2020 9:47 pm
To be clear, yes it is easier to be a cowboy software developer than it is a cowboy 'physical' engineer. There are a lack useful of professional standards in my field, even though there are professional organisations (eg: I'm a member of the ACM). That lack is a real problem, and it's a problem recognised by bodies like the ACM.
Thanks for this candour. I completely appreciate that a relatively new, rapidly expanding and extremely diverse technical field will face these issues.

User avatar
sTeamTraen
After Pie
Posts: 2558
Joined: Mon Nov 11, 2019 4:24 pm
Location: Palma de Mallorca, Spain

Re: Is software engineering, well, engineering?

Post by sTeamTraen » Sat Jan 04, 2020 9:48 am

plodder wrote:
Sat Jan 04, 2020 8:04 am
bjn wrote:
Fri Jan 03, 2020 9:47 pm
To be clear, yes it is easier to be a cowboy software developer than it is a cowboy 'physical' engineer. There are a lack useful of professional standards in my field, even though there are professional organisations (eg: I'm a member of the ACM). That lack is a real problem, and it's a problem recognised by bodies like the ACM.
Thanks for this candour. I completely appreciate that a relatively new, rapidly expanding and extremely diverse technical field will face these issues.
This problem has existed more or less unchanged for 50 years. I got my degree in computer science in 1981 and there were the same discussions about the desirability or otherwise of getting professional accreditation back then. The majority of the people I subsequently worked with had undergraduate degrees in unrelated subjects (sometimes maths or physics, often not), or no degree at all. In fact at one Dutch company where I worked, the first few people we hired from local CS degree programmes couldn't code their way out of a wet paper bag if it wasn't the 8 queens problem.

There are two issues driving it, IMO. One is technological change for solving the same problem ("a new material that's equivalent to steel every 6 months"), the other is the constant opening-up of new problem (in the mathematical sense) areas, while the old problem areas remain mostly current because computers wear out.

In the 1980s I worked on telecoms systems and industrial automation, while colleagues built corporate accounting software and hospital admin systems. 35 years later all of those applications still need to be rebuilt every 10 years because you can't get replacement RL02 disk packs, and we've also placed a 1970 model supercomputer in everyone's pocket with literally a million apps available for it. No other field of engineering has had to deal with this constant expansion of the problem space; perhaps the closest was when electric motors were invented.
Something something hammer something something nail

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

Re: Is software engineering, well, engineering?

Post by sheldrake » Sat Jan 04, 2020 11:07 am

I still regularly see people with degrees in subjects ranging from Classics to Physics who are better software engineers than actual Computer Science graduates.

User avatar
sTeamTraen
After Pie
Posts: 2558
Joined: Mon Nov 11, 2019 4:24 pm
Location: Palma de Mallorca, Spain

Re: Is software engineering, well, engineering?

Post by sTeamTraen » Sat Jan 04, 2020 11:31 am

sheldrake wrote:
Sat Jan 04, 2020 11:07 am
I still regularly see people with degrees in subjects ranging from Classics to Physics who are better software engineers than actual Computer Science graduates.
I went into CS because I was failing Engineering, mostly due to not being good enough at maths. Had I know how much maths there was in CS I might not have bothered. I skipped a lot of classes, but fortunately I was a much better producer of code and data structures that worked than most of the people on the course, and there was just about enough of that sort of content. When it came to applying for jobs, it was a shock to some of the purists to discover just how much industry valued an ability to write COBOL code to read personnel records from card images rather than coming up with new ways to solve the travelling salesman problem.
Something something hammer something something nail

User avatar
bjn
Stummy Beige
Posts: 2932
Joined: Wed Sep 25, 2019 4:58 pm
Location: London

Re: Is software engineering, well, engineering?

Post by bjn » Sat Jan 04, 2020 12:00 pm

sTeamTraen wrote:
Sat Jan 04, 2020 11:31 am
sheldrake wrote:
Sat Jan 04, 2020 11:07 am
I still regularly see people with degrees in subjects ranging from Classics to Physics who are better software engineers than actual Computer Science graduates.
I went into CS because I was failing Engineering, mostly due to not being good enough at maths. Had I know how much maths there was in CS I might not have bothered. I skipped a lot of classes, but fortunately I was a much better producer of code and data structures that worked than most of the people on the course, and there was just about enough of that sort of content. When it came to applying for jobs, it was a shock to some of the purists to discover just how much industry valued an ability to write COBOL code to read personnel records from card images rather than coming up with new ways to solve the travelling salesman problem.
Which is why I prefer to hire folks with industry experience as well as a solid degree.

User avatar
jimbob
Light of Blast
Posts: 5296
Joined: Mon Nov 11, 2019 4:04 pm
Location: High Peak/Manchester

Re: Is software engineering, well, engineering?

Post by jimbob » Sun Jan 05, 2020 9:57 am

dyqik wrote:
Fri Jan 03, 2020 2:59 pm
plodder wrote:
Fri Jan 03, 2020 2:50 pm
Yes, loads of maths and logic and difficult technical things to do with them. Very little else though.

If you want to define an engineer as someone who is really good at applied maths then you're including economists.
Don't be silly. Economics done properly is mostly a social science, with large mathematical models, and heavy statistics, plus some political theory on the side. Done badly, which seems to be the way it's done when there are solutions to be proposed, it's largely political theory with a bit of toy models on the side. The "social engineering" side really isn't rigorous enough to count as engineering yet.

OTOH, many of those software engineering course would be entirely appropriate on an electronic engineering degree, alongside other electronics courses. It's really a matter of emphasis and abstraction level.

By the way, my school design and technology lessons included food technology. "Cooking" can be engineering, and/or it can be craft. Depends on the context.
For example the module I did on digital signal processing, of which I can recall very little except that various algorithms were discussed as well as the digitisation of analogue data inputs.
Have you considered stupidity as an explanation

User avatar
jimbob
Light of Blast
Posts: 5296
Joined: Mon Nov 11, 2019 4:04 pm
Location: High Peak/Manchester

Re: Is software engineering, well, engineering?

Post by jimbob » Sun Jan 05, 2020 10:05 am

sheldrake wrote:
Fri Jan 03, 2020 6:29 pm
plodder wrote:
Fri Jan 03, 2020 6:23 pm
sheldrake wrote:
Fri Jan 03, 2020 5:19 pm


It's not a working machine without the software. It's a kind of blank slate.
Like a tractor without a driver? Chefs, farmers, can you at least try and draw some sensible boundaries here?
Not like a tractor without a driver. Like a complex Toyota tractor with one of those push-button ignitions that just won't start because it relies on software even for simple things like starting the engine. Or a laptop that doesn't even have basic bios so turning it on results in a blank screen you can't get past. Machines that can do no useful work.
As an aside, I really wouldn't want to tell one of my colleagues that his 30 years as an automotive software engineer weren't engineering. I only just found out that was his main background - I knew he'd been an automotive engineer but thought it was electronic/mechatronic/power-systems design as that's what he's been doing with us for about 7 years.
Have you considered stupidity as an explanation

User avatar
jimbob
Light of Blast
Posts: 5296
Joined: Mon Nov 11, 2019 4:04 pm
Location: High Peak/Manchester

Re: Is software engineering, well, engineering?

Post by jimbob » Sun Jan 05, 2020 10:14 am

plodder wrote:
Fri Jan 03, 2020 8:28 pm
bjn wrote:
Fri Jan 03, 2020 7:40 pm
plodder wrote:
Sun Dec 29, 2019 5:19 pm
but engineering is taking science and applying it to solve problems
There is a science behind software engineering, it's called computer science, which is the study of algorithms. I happen to have a degree in it. It is a bit of an odd discipline, but the hard core bits are a branch of mathematics, blended with electrical engineering.

The application of that science allows people to create software to solve problems. By your definition, that's engineering.

You have a weird bug bear and go on about 'coding' as if it's just typing in the same way as writing third rate poetry on a laptop is typing. It's like saying an mechanical engineer making blue prints is just drawing lines and why is it different to an artist. What is being programmed, how it is being programmed, what is even possible to be programmed to solve a relevant problem is profoundly constrained.

A crappy hacker has no idea about any of that and creates crappy software. They are lucky they can do that because an entire army of competent software engineers have put together software engineering tools that means the worst hackers can put something together, even if it isn't engineered. Then again, the dickhead who put in crappy steel joists in my roof which cost a fortune to fix up was equally ignorant of structural engineering even if they got to use the tools and material of a real structural engineer to badly solve a problem of holding a roof up.
No-one is suggesting computer science isn't a science, or that people who apply it aren't doing engineering. But your dickhead builder's coder equivalent is pretty common in coding and software, whereas you'd never ever find them in a professional engineering capacity. This because most coders don't need to understand computer science, which is why I'm suggesting it's inappropriate to label the whole coding profession as engineers.
That's different, the IET has chartered software engineers, as does the IEEE , which presumably you accept as organisations that contain "proper engineers".

They have journals on the subject - which I wouldn't be able to follow*, but I have no doubt about their rigor.


*Face it, there are only a small subset of areas within my wider field that I can follow anyway
Have you considered stupidity as an explanation

Post Reply