Am I an engineer?
I've been following the recent discussion between Raganwald and Ravi Mohan (among others). It's the classic debate about how you define an engineer. Does the term "engineer" denote a "profession", and who is qualified to be in it? Well first of all, let me be open about my own affiliations. I'm an associate member of the Institution of Mechanical Engineers. The "associate" part, means that I'm not a corporate member, and therefore not a full member of the profession. I stopped doing mechanical engineering, in order to switch to writing software, at just about the point that if I'd have stayed, I'd have registered for full membership. (I had my degree, and a couple of years of professional experience under my belt). To achieve chartered engineer status these days, the obvious route would be to join the British Computer Society, who fulfill the same role as the IMechE but for software engineers.
So let's start there. I am an engineer. I have a good degree in mechanical engineering from a good college. I spent significant parts of my life creating engineering designs on a good-old-fashioned drawing-board, and those designs were implemented and proved in practice. I can do mathematics, both continuous and discrete. (Mechanical engineering tends to use continuous techniques like the differential and integral calculi, while computer science leans towards discrete mathmatics like set theory and so forth.) These days, I implement working computer systems in the best way I know how.
Still - I don't often use the word "engineer" to describe what I do. These days, I write software, and to do so I spend significant amounts of time studying best practices, and honing my art, but most of the time I use the word "technician" to describe my role. Let's be clear. I don't for a moment doubt my right to use the term "engineer" to describe myself. The reason I don't do so is mostly because I wonder whether other people would understand the sense in which I use the term (or perhaps I fear that I'd have to explain at great length).
Let's go back to the beginning of the great professional bodies of the engineering world. My own institution, the IMechE, was an offshoot of the Institition of Civil Engineers, back when the railway guys were carving out new territory, and the existing profession wouldn't recognise them (mostly because of their affiliations with vested interests in the world of canals. But in those days, what made an engineer, and what made an engineering profession? The answer might upset some people's precious sensibilities, but it's simple. Engineers were people who could build working systems, and the early meetings of the profession were probably more akin to a geek dinner than anything else. George Stephenson didn't have a degree, but he could build railway engines.
Following Ravi's link to a job description which illustrates his view of what constitutes an engineer, we find the following quote:
"You have a good sense for distributed systems practice: you can reason about churn and locality in DHTs. You intuitively know when to apply ordered communication and when to use transactions. You can reason about data consistency in a system where hundreds of nodes are geographically distributed. You know why for example autonomy and symmetry are important properties for distributed systems design. You like the elegance of systems based on epidemic techniques."
The only thing of note that I can see in there is the repeated phrase "You can reason about...". (OK - I also like 'you have a good sense for...' and 'you like the elegance of...', but they aren't crucial).
An engineer can reason about his subject. He ensures that he has sufficient raw material at hand for his reasoning, but the reasoning is the thing that counts. If you can reason about technical systems, you are an engineer. If you can't, you aren't. To reason effectively, you must know the subject well, but let's take that as a given. Mathematics is a tool - perhaps we might argue that subjects which don't require mathematics aren't engineering subjects - but it's just a tool, not the essence. I suspect George Stevenson had less mathematics at his disposal than I needed to satisfy the examiners for my degree all those years ago. Never mind that. He could have shown you a working steam engine, and told you how it worked. He managed to found an engineering institution for which I don't even have the entry qualifications.
The beginnings of the engineering profession were a bunch of people saying: "Hey guys, let's meet in a pub every so often and discuss what works and what doesn't." Implicitly, if you were interested in sharpening your tools, you were invited, and if you weren't, you weren't.
I still wonder whether I'll ever make the time to do the BCS exams and work towards recognition as a Chartered Engineer. At the current rate, it might be after I retire. Until then, I'll still keep on calling myself an engineer, and keep on reasoning and sharpening my tools.