So software developers can call themselves (ourselves) engineers!?
I do not call myself a software engineer, even though many other programmers call themselves software engineers, because the “real” engineers might become angry with me. … and engineers study lots of maths, and it seems like programmers do not really require mastery in lots of maths…
This is his view on software development as engineering:
Software development already is an engineering field. It always has been.
We don’t need to become engineers; we need to continue to refine our own engineering discipline (as all engineers do).
This is his definition of “software engineering” (in about 48:50 min in the video:
Software engineering is the science and art of designing and making, with economy and elegance, systems so that they can readily adapt to the situations to which they may be subjected.
(There is always tension; there is always balance that needs to be resolved situationally and by taste and care…)
Then he continued and gave a picture of a flawed analogy of software engineering with traditional engineering disciplines:
— a structural engineer — > produces a design in document form — > that is then handed to laborers — > which go build the structure —
Then he went on to say that this way of doing things in software development never really worked very well…
Then he rebuilt the analogy in a way that works…
We, programmers, are engineers!…
And our code is the design document!!! (He also said that the code is not the only design document — but it is the detailed design document!)