Am I a Real Engineer?
A Jewish man buys a dinghy that he intends to sail on the Welsh Harp (local colour this, a small reservoir near Hendon). He also buys a naval uniform which he wears, on Friday evening, at dinner with his mother. "Why are you wearing that?" she asks. "Because I am a Captain" he responds. A pause and his mother replies "To me, you are a Captain. To you, you are a Captain. But to a Captain are you a Captain?". Actually, I am not sure that this joke survives cultural translation but I think you get the general idea.
This is my lead-in to the question of whether I, a software engineer, whatever my distant technical education, am a 'real' engineer. When the chips are down "to an engineer am I an engineer?" Sure, I possess the outward attributes, the engineering institute tie and so on, but am I simply pretending? Is this the equivalent of the naval uniform, for sabbath use only?
Perhaps I can divide consideration into two parts. First, is software engineering an engineering discipline? Second, are software engineers 'culturally' engineers? You might have thought this would boil down to the same thing but I would contend otherwise.
I think the case for software engineering as an engineering discipline is easy to make. The starting point being identifying the characteristic way engineers work, which is the opportunistic intertwining of contextual analysis, modelling, experimentation, creative synthesis, prototyping and testing. I will not attempt a definition, I am not that foolish. This precisely mirrors the working method of software engineers. Some more unusual features of computing, the use of mathematical proof for example, do not appear that remote from the sort of rigorous reasoning associated with engineering. Perhaps the biggest difference is that engineering methods rely significantly on estimation and approximation for which there is no ready equivalent in software engineering. Offsetting this, it is very difficult at the boundaries to distinguish between electronic engineering and chip design and embedded system development. The fields merge in an imperceptible blend and though you might point to equivalent meeting points between physical sciences and engineering, in materials and optics for instance, the different methodological stance sharply separates even the most applied physical scientist from the engineer.
Software engineers are however, not 'culturally' engineers. The formation of the civil, as contrasted with military, engineering profession has roots in an industrial past that is simply not shared with computing. The first generation of computer scientists came from a wide range of disciplines, mathematics, languages, music, philosophy even physics, and were temperamentally not professionals. The very fact of having found their way to computing implies a rebellion or propensity to take a sidetrack. Their engineering ethos was perhaps closer to 'Zen and the Art of Motorcycle Maintenance' than the traditional engineering school. To the extent the subject had founding fathers it was the motley collection of mathematicians and chess grandmasters at Bletchley Park. The growth of computer science, explosive in the period of the Internet boom, slower and more erratic but still significant subsequently, has given the subject an age profile distinctly different from other engineering disciplines.
Computer Science in universities emerged variously from mathematics, electrical engineering, statistics, physics and has largely remained organisationally close to whichever parent, even if it has, as is often the case, outgrown it. Software engineering has its origins as a distinct sub-discipline in the Cold War defence industries, a background shared with systems engineering, it has unquestionably more of an engineering ethos than other computing sub-disciplines but, when push comes to shove, its alliance is with computer science rather than other strictly engineering disciplines.
So what does all this mean for my original question? It leave me stranded in a sort of no man's land, an engineer intellectually but not culturally, in engineering, but not of it. Strangely enough, I quite like it that way.