Why do programmers prefer to be called engineers?
The academic dept is typically called Computer Science and conceptually is much closer to Mathematics than Engineering.
The main link seems to be Software Engineering and thinking in "Systems". Which is fair but is a mere analogy. Lots of disciplines think in systems.
There is also a tenuous link as some programmers work very closely with hardware (low level programming of silicon / networks), though just a small minority.
Programmers also call themselves developers (echoes of real estate development ?). It seems they like anything but to be called programmers.
According to wikipedia: The term programmer may lack connotations of engineering education or skills.
Is there an inferiority syndrome and is the title Engineer a sort of corporate title inflation that cheers people up at zero cost?
When and why would this strange desire to be called something else come about? It seems that it is a topic of discussion at least since 2015
https://www.theatlantic.com/technology/archive/2015/11/programmers-should-not-call-themselves-engineers/414271/
20 comments
[ 3.4 ms ] story [ 76.2 ms ] threadThe physical aspect is just something that has been associated with all traditional engineering disciplines.
I'd wager most people would call certain individuals like Dennis Ritchie and John Carmack true software engineers. In a reductive sense, writing a makefile for someone else's project or scratching an itch with a Python script is the nail-making of the software world. "Anyone" can do it, but it shouldn't be treated as a lesser form of engineering just because it's not elaborate or pretty.
The hypothesis is that the activity of programming digital devices has a stratification of status based on the level of abstraction it uses (higher level design aspects deemed more important than writing the code).
At higher level of abstraction (thinking about the design of a programming language or an operating system) the task may resemble true engineering (though most actual engineers probably never design new types of buildings or bridges).
But in order not create tension the title is propagated to all programmers.
I agree with you there is fundamental unity in the practice. Before one can abstract nail making one must make at least a few nails. But I was really curious about the growing using of the label "engineer" as it seems to play precisely on these perceptions of importance and status.
(In Poland it's technical title - something in between BSc and MSc)
Thus calling ourselves Engineers...
Programmers can also come from trade schools, but those are not Engineers.
or
attack on title
"Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings."
Seems to align pretty well with building software.
It also matters what "scientific principles" we are talking about.
In software its more philosophy rather than hard facts. Otherwise you would not have eternal debates about Object oriented versus Functional programming, to name but one example.
The link with the physical world makes true engineering disciplines more objective.
Everything in software is a hard fact. In fact I would say it's even harder since we can measure everything to pretty minute details if we want to. Something that is much harder in other engineering principles. Software is just as bound to the physical world as other engineering principles. For example you can't just write a O(n!) implementation and expect it to work.
Ok, you are obviously using language loosely. There are some hard facts in software but they are mathematical (logical) not physical.
In fact in various languages software has connotation of working with logic (logiciel in French) or information. I don't have an overview but in many languages computer engineering is associated with hardware and the programming side is some variation of informatics or programming.
Unless I hear something more insightful the working hypothesis is that the term has come to be seen as more dignified than mere "programming" because it implies a more abstract, scarce skill set. So its abuse is a sort of title inflation similar to everybody becoming a "VP". One could equally well have assumed that computer programmers (or developers) do have those skills.
Anyway, as far as I am concerned programmers can call themselves doctors, prophets or supermen, just curious how and why the term "engineer" has been overloaded from its previous hardware association to over time denote purely programming activity.
Software isn't even close to engineering.