Hacker News new | past | comments | ask | show | jobs | submit login
Why do programmers prefer to be called engineers?
4 points by nologic01 on June 1, 2023 | hide | past | favorite | 19 comments
The job description underneath those labels is usually almost 100% programming a digital device (computer) and not engineering in the conventional sense. For example there is 0% physics.

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/




I’m not an engineer as I’ve never taken an engineering course. Not a computer scientist as I never took a cs course (didn’t exist at the time, then not given for credit in arts and sciences). I’m a hacker cuz that’s how I started in ancient times and I did hacker things. I guess I’m a scientist because I have science degrees. I prefer software developer over programmer, but I answer to either. I build tools.


It Promethean, like sound design and synthesis etc., it involves a large degree of mathematical construction and convolution, abstract and concrete thinking an aptitude for visualization of multilinguistic constructs, utilizing a host of experiential and innate skills which can be as technical as you choose to research, understanding how hardware works with system design etc. It can be highly multidisciplinary in regards to any field. The device you are using took an emmense amount of combinational and collaborative intellect just to conceptualize, let alone execute the product as a whole. Forest through the trees... Understanding what the tools you are using are actually comprised of, beyond the physical materials, may open your eyes a bit.


I've come to the conclusion that modern programmers are engineers in terms of finding solutions to problems by putting together differents structures. It used to be that programmers would write all their code. Now we put together code structures that solve a problem. I don't know of any one that writes all the code needed for a project in a professional setting. It would be a waste of time and resources. We might add 1000s of lines of code to glue everything together but what we mainly do is call objects and systems to solve a problem. Engineer is a better descriptive term than programmer.


I've done both: stress analyst in defence industry, programmer in lots of industries.

Software isn't even close to engineering.


I've got an engineer title from University ;)

(In Poland it's technical title - something in between BSc and MSc)


And in Finland(and some other countries in Europe) the MSc in tech is Diplom Engineer. (Entirely separate from Diloma in Engineering).

Thus calling ourselves Engineers...

Programmers can also come from trade schools, but those are not Engineers.


This is the definition wikipedia gives me for engineering:

"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.


This usage aligns with using scientific principles for "building" anything: a sports team, a company.

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.


Mechanical engineers argue all the time about certain ways to design and implement something as well. I don't see it as different as arguing programming languages.

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.


> Everything in software is a hard fact

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.


I don't think there is a deeper meaning. Over time language has simply become more accurate to describe designing and building software as engineering. It's not like there is a cabal of people who decide these things.


Because it’s more about the design and data structures that it is about programming in specific languages.


Thats still logical work not engineering. Software architecture is a bit closer as a term but not used as much. Maybe too pretentious.


Making nails out of sheet aluminum is engineering. It's not very pretty, doesn't require much mechanical knowledge and is wholly unimpressive, but it's still solidly an engineering-based effort.

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.


What you say is congruent with the hypothesis of how the term came to be used.

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.


I think of engineering as designing practical solutions to real problems. You seem very intent on engineering involving physics. I disagree but okay.


Your definition would apply to millions of business analysts. Maybe we should call them business engineers :-)

The physical aspect is just something that has been associated with all traditional engineering disciplines.


No, because the business analysts aren’t making anything.


stolen valor

or

attack on title




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: