The term "software engineering" has bothered me a lot in the past but Dave Farley has created a really workable definition in his new book "Modern Software Engineering". https://rrees.me/2023/01/30/defining-the-idea-of-software-engineering/
Defining the idea of “software engineering”

Echo One

@rrees
Interesting. I've argued for a while that software is an engineering discipline because it uses existing knowledge / science to solve practical problems - which is basically the general definition of engineering. (Even if the view from software development often seems like we're really bad at applying science and existing knowledge - engineering broadly describes what we're trying to archive)

I've met at lot of people who tell my I'm wrong , that software development is an art or craft.

I feel that's false dichotomy, that there's actually a huge cross over between engineering, art and craft.

@robertpi Dave's book does go into craft and science as well (he's anti-craft, maybe I should write up my notes on that too as he goes a bit further than I would). I think the key think is that the intersection between computer science and "practitioners" is a different kind of application of science and we've lacked a good language for differentiating the two.

@rrees
I feel I probably shouldn't comment further till I've at least read some of the book ... but this a subject that rings my bell, so I will anyway.

Software is developed for a huge variety of situations and reasons. Different approaches probably work well for different situations.

To use an analogue with construction sometimes your building a 30 cm retaining wall, sometimes your building a skyscraper. Probably most people could build the garden wall after watching a couple of videos, whereas the skyscraper obviously shouldn't even be attempted unless you have a good qualified team.

In software craft probably works well for the smaller tasks, but for lots of systems more serious engineering is needed.

I think the software industry is generally has difficulty recognizing whether they're building a garden wall or skyscraper and applying the appropriate amount of engineering.

I'm not against the idea of craft, but often feel is used an excuse to do whatever you want (including hours of pointless tool sharpening and chest beating).

Anyway, have ordered copy of book.

@rrees Also loving
@davefarley77 's book - already using it to summarise "software engineering foundations" to clients.

I used to hate the "Sofware Engineering" term too - my Dad was an engineer, and I suffered through a year of engineering at uni, and it never felt like the right label.

I was brought around by Hillel Wayne's excellent article "Are we really engineers": https://www.hillelwayne.com/post/are-we-really-engineers/

Are We Really Engineers?

This is part one of the Crossover Project. Part two is here and part three is here. A conference talk based on this work is now available here. I sat in front of Mat, idly chatting about tech and cuisine. Before now, I had known him mostly for his cooking pictures on Twitter, the kind that made me envious of suburbanites and their 75,000 BTU woks. But now he was the test subject for my new project, to see if it was going to be fruitful or a waste of time.

Hillel Wayne