Is there a term for all tasks around programming?

M

Miles Bader

Rui Maciel said:
This reminds me how the so called "railroad engineers" are often
used as a reference of a professional practice which abuses the term
"engineer" as a form of grandstanding, while avoiding other terms
which are more appropriate to the task they actually perform such as
"train operator" or "train driver".

I don't think "railroad engineer" is abuse/grandstanding/etc, just a
very old term...

-Miles
 
R

Rui Maciel

Miles said:
I don't think "railroad engineer" is abuse/grandstanding/etc, just a
very old term...

It might not have been in a very long time in the past, where train
operators were forced to have an intimate understanding of how their machine
worked and how to maintain and repair it, and had to carry the
responsibility of maintaining a specific branch of a country's logistic
system.

Nowadays the responsibility of a train operator isn't much different than
the responsibilities of a truck driver or a bus driver, and it wouldn't be
reasonable to consider any of those activities as being engineering fields.

Nevertheless, by definition an engineer is someone who creates something,
and keeping trains on time isn't much of a creation.


Rui Maciel
 
V

Victor Bazarov

It might not have been in a very long time in the past, where train
operators were forced to have an intimate understanding of how their machine
worked and how to maintain and repair it, and had to carry the
responsibility of maintaining a specific branch of a country's logistic
system.

Nowadays the responsibility of a train operator isn't much different than
the responsibilities of a truck driver or a bus driver, and it wouldn't be
reasonable to consider any of those activities as being engineering fields.

Nevertheless, by definition an engineer is someone who creates something,

By whose definition, yours? Engineer is a person who's in charge of
dealing with engines, machines. Most often it concerns solving
problems, not creating anything (unless you call solving problems
"creating a solution").
and keeping trains on time isn't much of a creation.

It's rewarding to denigrate somebody else's work. Makes one's own
activities seem more important... Keep it up!

V
 
N

none

I like your way of sliding in TDD without anyone noticing, however, when
it comes back from the test department, the time to fix it will be
logged as bugfix on the developer's account. No salary raise that year
either...

Yes. But that's better than the alternative. Since the Dilbert
manager demanded the feature to be implemented today, the Dilbert
software writer is better delivering an untested (knowingly
non-working) feature than get sacked

:)
 
K

Keith H Duggar

By whose definition, yours?

Yes, pretty much Rui's own personsal definition that noone else
cares about. It's much more productive to stick to, say, IEEE's
definition of "software engineering" and ECPD for the definition
of engineering.

On a more philosophical note, below is a germane dictum of mine
pointing out the beautiful duality between, and the purposes of
science and engineering:

"Science applies control to gain knowledge.
Engineering applies knowledge to gain control."

KHD
 
R

Rui Maciel

Robert said:
I'm pretty sure the use of "engineer" for someone who operates an
engine is rather older than the main modern sense of a qualified
professional practicing a branch of Engineering.

I believe we can agree that engineering, as a discipline, precedes the
production of engines which required an specialized operator. Also, I
believe that we can also agree that the need for a society to impose a
system that ensured the competence of those who carried the title of
"engineer" and also punish those who either failed to meet the requirements
or tried to defraud people's expectations is something which arrived much
after term "engineer" was coined. Therefore, if we agree on this, we can
also easily agre that comparing the coining of a misnomer with the inception
of the first legal qualifications, and expecting it to carry any meaning,
doesn't make sense.

Nautical use dates
back to the first steam powered ships. The approximately
contemporaneous application to locomotive operators seems fairly
obvious and reasonable in that context.

Well, the thing is, the field of engineering, along with the meaning of the
term, didn't suddenly popped into existence after the first steam engine was
placed in a ship.


Rui Maciel
 
R

Rui Maciel

Victor said:
By whose definition, yours?

No, history, etymology and reality. The term "engineer" has it's origins in
the latin word "ingeniator", which means to design/create/devise. It would
be fairly odd to refer to an occupation which never designed/created
anything as something that did precisely the opposite.

Engineer is a person who's in charge of
dealing with engines, machines.

So, then a person who rides a bicycle must be a bicycle engineer, a driver's
license must be an automotive engineering license, and a carny who operates
a ride must be a carnival ride engineer. Meanwhile, environmental,
chemical, transportation, biomedical and even civil engineers must be
defrauding the world with their title by not being in charge of dealing with
any specific engine or machine.

Most often it concerns solving
problems, not creating anything (unless you call solving problems
"creating a solution").

Archimedes must have been a fraud, then, along with all that people who
waste their time expecting to be an engineer by studying mechanical
engineering and ending up designing stuff such as engines. Instead, they
should've just take a job operating a locomotive.

It's rewarding to denigrate somebody else's work. Makes one's own
activities seem more important... Keep it up!

Stating that an occupation isn't engineering is not denigrating somebody or
their work. It can only be seen as a way to denigrate someone if that
person happens to desperately want a fancy title to feel better about
themselves, and this is just wrong. There is a reason why society felt the
need to punish those who misappropriated professional titles.

The odd thing about your comment is that in some circles, particularly hard
science and math, engineering is looked down on. I guess one man's trash is
another man's treasure.


Rui Maciel
 
M

Miles Bader

Rui Maciel said:
It might not have been in a very long time in the past, where train
operators were forced to have an intimate understanding of how their machine
worked and how to maintain and repair it, and had to carry the
responsibility of maintaining a specific branch of a country's logistic
system.

Nowadays the responsibility of a train operator isn't much different than
the responsibilities of a truck driver or a bus driver, and it wouldn't be
reasonable to consider any of those activities as being engineering fields.

Sure; nobody claims otherwise. Nonetheless "engineer" is common term
used for a train driver, for historical reasons.
Nevertheless, by definition an engineer is someone who creates something,
and keeping trains on time isn't much of a creation.

Language is messy. Old terms stay around (especially in the form of
particular idioms), even if they seem confusing / inconsistent / blah
blah.

I'm sure it would be convenient if one could simply refactor and clean
up usage as terms and meanings shift over time, to keep things neat
and consistent. But that's just not the way language works...

-Miles
 
I

Ian Collins

It really depends on what you are doing. Not everything a
civil/structural/mechanical/aeronautical/etc engineer does is engineering.

Nevertheless, the level of restrictions and assurances that a society
requires in order to grant someone the ability to exercise the practice of
"engineering" (i.e., the license), along with the civil and criminal
responsibility it imposes on those who practice it, is a good litmus test to
see if a field is in fact engineering.

You have a very weird view of the world.
 
E

Edek

It really depends on what you are doing. Not everything a
civil/structural/mechanical/aeronautical/etc engineer does is engineering.

Nevertheless, the level of restrictions and assurances that a society
requires in order to grant someone the ability to exercise the practice of
"engineering" (i.e., the license), along with the civil and criminal
responsibility it imposes on those who practice it, is a good litmus test to
see if a field is in fact engineering.

Does (or should) the liability extend to "Supporting Engineers"?
"Junior"? "Apprentice"? Are such titles common in the
fields you are referring to?

BTW, in "some" situations programming errors cost money. One does
not need to define liability by means of creating
law, it can be written down in a contract. You seem to
be defining "engineering" by including "criminal liability",
along with civil liability, implying that people's life or
health are in danger [because of engineers actions or
lack thereof]. Apparently not all fields of engineering
may cause a direct threat to people health and safety, for
example reading human writing is both usually not reliable
enough to count upon in emergency situations and an
engineering accomplishment based on some maths and programming
methods, hence it suits the general definition and not yours.

I think it should be a criminal offence to make such oversimplified
claims as yours on a mailing list dedicated to engineering; or
maybe you are right that software makers should be responsible
for bugs, I've heard of some EU efforts towards such laws, which
are meant to protect consumers; they are not meant to result
in criminal punishments though.

As for your other points:
Instead, they
should've just take a job operating a locomotive. ^^^^^
Stating that an occupation isn't engineering is not denigrating somebody or
their work.

You seem to be contradicting yourself in the same message.
So, then a person who rides a bicycle must be a bicycle engineer, a driver's
license must be an automotive engineering license, and a carny who operates
a ride must be a carnival ride engineer.

I would call a person who tests engines an engineer. And a craftsman at
the same time. (if that is the right word, I'm not English). And that
was the topic as far as I am following it, not John Smith using the
great calculator software you have written (please do not think now
about engineers using calculators, ok?)

As my own observation I may add that giving funny titles to people
writing software might be part of social engineering, making the
monkey at the keyboard feel happy, which is a step towards
getting the best monkeys' productivity ;), and has nothing to do
with any social contract nor, ugh, licence. The world did
not change at all, people love nice titles.

Edek
 
R

Rui Maciel

Edek said:
Does (or should) the liability extend to "Supporting Engineers"?
"Junior"? "Apprentice"? Are such titles common in the
fields you are referring to?

Professional licenses are employed to guarantee a minimum level of
competence in a given field, in order to provide the public with an
assurance that those who pass themselves as a member of a specific
professional field don't defraud those who require their services. Some
jurisdictions may impose other requirements on top of this. For example, in
some jurisdictions a civil engineer is only granted the right to manage
construction work that exceeds a specific monetary value if he can
demonstrate that, beyond academic qualifications and a professional license,
he has enough experience in that field.

BTW, in "some" situations programming errors cost money. One does
not need to define liability by means of creating
law, it can be written down in a contract. You seem to
be defining "engineering" by including "criminal liability",
along with civil liability, implying that people's life or
health are in danger [because of engineers actions or
lack thereof].

If you read what I wrote you will notice that I referred to the value that
society places on the assurance that a specific professional can be
considered an engineer and therefore perform engineering-related tasks.
This need for assurance goes well beyond that which can be had through civil
contracts between two parties. The main value which societies place on
engineering licenses is that they grant the state the ability to enforce
society's interests with force of law. An imposter who tries to pass
himself as an engineer can be held liable for his criminal acts, as also an
engineer who fails his responsibilities. The latter also leads to
disciplinary actions that end with the suspension of the engineer's license,
which means that he is no longer able to do any job which, due to their
requirements, society reserves to engineers.


Apparently not all fields of engineering
may cause a direct threat to people health and safety, for
example reading human writing is both usually not reliable
enough to count upon in emergency situations and an
engineering accomplishment based on some maths and programming
methods, hence it suits the general definition and not yours.

Science and math isn't engineering, and I'm sure that I wouldn't need to
point out that writing code also isn't engineering.

I think it should be a criminal offence to make such oversimplified
claims as yours on a mailing list dedicated to engineering;

Which mailing list are we talking about? Are you referring to
comp.lang.c++? Because claiming that this newsgroup is "dedicated to
engineering", or even insinuating that writing C++ code is engineering,
would be an even more glaring mistake.

or
maybe you are right that software makers should be responsible
for bugs, I've heard of some EU efforts towards such laws, which
are meant to protect consumers; they are not meant to result
in criminal punishments though.

I haven't made such a claim, nor I believe I will ever do, mainly because it
goes against society's best interests to increase the costs associated with
developing software. Society doesn't grind to a halt, nor does it suffer
any relevant losses, if a text editor segfaults or if an OS throws a blue
screen of death.

As for your other points:

You seem to be contradicting yourself in the same message.

There is no contradiction. If the the main goal of an hypothetical
individual was to become an engineer (a silly goal, to begin with) and if he
was presented with the choice of going through 5 years of college, being
force-fed calculus, linear algebra, probability, statistics, physics and a
bunch of technical subjects, or going through a 1 or 2-year course on how to
operate a locomotive then the second option would be, by far, the easiest
one. Where do you see any contradiction or even any derogatory comment?

I would call a person who tests engines an engineer. And a craftsman at
the same time. (if that is the right word, I'm not English). And that
was the topic as far as I am following it, not John Smith using the
great calculator software you have written (please do not think now
about engineers using calculators, ok?)

There are a lot of engineers (mainly mechanical, but also a fair share of
aeronautical, civil and others) who spend their careers designing, testing
and tweaking engines, specific engine parts or associated components. On
the other hand, this doesn't mean that a guy in a shed tinkering with a
home-made sterling engine is also an engineer.

As my own observation I may add that giving funny titles to people
writing software might be part of social engineering, making the
monkey at the keyboard feel happy, which is a step towards
getting the best monkeys' productivity ;), and has nothing to do
with any social contract nor, ugh, licence. The world did
not change at all, people love nice titles.

Yes, that is true. There are people who appear to live for this sort of
stuff. Yet, this represents a problem if the title is used as a way for a
society ensure a minimum level of competence on a given field, and some
people tried to defraud society by passing themselves off far more competent
than they actually are.


Rui Maciel
 
R

Rui Maciel

Ian said:
You have a very weird view of the world.

It's not a particular view of the world. It's the real world. Once you
look into it you will be able to understand.


Rui Maciel
 
I

Ian Collins

There are a lot of engineers (mainly mechanical, but also a fair share of
aeronautical, civil and others) who spend their careers designing, testing
and tweaking engines, specific engine parts or associated components.

So the Electronics Engineers and programmers who design, test and tweak
the control system that make those engines work are just lackeys?
 
R

Rui Maciel

Ian said:
So the Electronics Engineers and programmers who design, test and tweak
the control system that make those engines work are just lackeys?

It really depends on the level of competence and responsibility which
society requires from those who wish to do a specific job. For example, do
you believe that someone who manages to develop spreadsheets with
conditional statements is, due to that, an engineer? What about someone who
manages to put together a shell script/batch file? What about putting
together a "hello world" program in visual basic? Or developing a tic-tac-
toe program in Python? Or developing a text editor in C++? Does the
ability to perform any of those tasks, on it's own, bestows onto anyone the
right to call what he does as being engineering? Do you consider someone
who managed to learn how to write some C++ code in his spare time to be an
engineer?

And regarding your demeaning insinuation that those who aren't engineers are
somehow "lackeys", do you believe that a plumber, who is given the plans
(made by an engineer) for a domestic water network and is expected to
implement it, is an engineer, just a lackey or some other thing?

The thing is, the requirements for someone to be considered an engineer are
similar in nature to the requirements that society imposes on who is and who
is not a physician or a surgeon or a dentist or a lawyer. Those titles are
reserved to those among us which are granted the right to perform services
which require a high level of training, competence and responsibility. If
society doesn't require that a task should be reserved to a carefully
selected group of people in order to safeguard society's best interests then
no such demands are put in place.


Rui Maciel
 
E

Edek

What about putting
together a "hello world" program in visual basic?

That would be a baby engineer.
Do you consider someone
who managed to learn how to write some C++ code in his spare time to be an
engineer?

Required does not mean sufficient.

If
society doesn't require that a task should be reserved to a carefully
selected group of people in order to safeguard society's best interests then
no such demands are put in place.

There are fewer engineers in prison than car engine defects
appearing each day, same for programmers.

Edek
 
N

Nick Keighley

Miles Bader wrote:


It might not have been in a very long time in the past, where train
operators were forced to have an intimate understanding of how their machine
worked and how to maintain and repair it, and had to carry the
responsibility of maintaining a specific branch of a country's logistic
system.

Nowadays the responsibility of a train operator isn't much different than
the responsibilities of a truck driver or a bus driver, and it wouldn't be
reasonable to consider any of those activities as being engineering fields.  

Nevertheless, by definition an engineer is someone who creates something,

and software isn't "something"?
and keeping trains on time isn't much of a creation.

I'd have thought many of things that happen around programming had an
"engineering quality" to them. Requirements Capture, Configuation
Control, Verification and Validation. I'll agree many "software
engineers" don't do these things well but "softwae engineering"
*could* and sometimes *is* a valid description of what is done to
produce large complex high integrity bits of software.
 
N

Nick Keighley

The field of engineering involves a considerable expectation of a safe and
defect-free product, to the point where engineers, when recognized as such,
are held civil and criminally liable for any problem which may arise from
their work.  This is the main reason why civilized societies put
restrictions on who can and cannot label themselves an engineer (i.e.,
engineering licenses), and consequently who can be employed to positions
which require the level of expertise and responsibility which is expected
from an engineer.

The practice of software development does not have such responsibility nor
is a software developer held liable for any defect in their work.  
Therefore, no professional license is required by society to perform this
job.  This means that software development, although a highly technical
field, is not engineering, and those who are employed to churn out code
aren't engineers.  And this is a good thing.

I think you'll find the emdedded people get held liable. If the brakes
on the car don't work then I suspect a defence of "we replaced
mechanical linkage with fly-by-wire consequently it was software that
caused the failure hence we cannot be held liable" would not work.

The world is not a desktop...
 
N

Nick Keighley

It really depends on the level of competence and responsibility which
society requires from those who wish to do a specific job.  For example, do
you believe that someone who manages to develop spreadsheets with
conditional statements is, due to that, an engineer?  What about someone who
manages to put together a shell script/batch file?  What about putting
together a "hello world" program in visual basic?  Or developing a tic-tac-
toe program in Python?  Or developing a text editor in C++?  Does the
ability to perform any of those tasks, on it's own, bestows onto anyone the
right to call what he does as being engineering?  Do you consider someone
who managed to learn how to write some C++ code in his spare time to be an
engineer?  

this thread was originally about more than coding. It was about all
the other things that go into producing the code. In some fields the
delivery may include a program, and that program will likely have been
coded in an HLL (like C++) and the process that produced that program
looks to me very like an engineerring process.

I accept that the term "software engineer" doesn't have the
liabilities and responsibilities that are attached to other
engineering fields. Perhaps there should be such people as "Licensed
Software Engineer" or "Professional Software Engineer". I suspect the
way around this is that someone on the project *does* have an
engineerring license (though he may call himself an automotive or
aeronautical engineer or something).
 
R

Rui Maciel

Nick said:
I think you'll find the emdedded people get held liable. If the brakes
on the car don't work then I suspect a defence of "we replaced
mechanical linkage with fly-by-wire consequently it was software that
caused the failure hence we cannot be held liable" would not work.

And if an electrician screws up and someone gets electrocuted he will also
be held liable for his screwup. Yet, that doesn't mean that an electrician
is an engineer.

Just because a given task is technical in nature it doesn't mean it is
engineering, and software development is clearly one of those cases.
Similarly, it is also not architecture. It is what it is.

The world is not a desktop...

....nor it is supposed to be. A software developer doesn't suddenly become
an engineer if he targets a platform other than a desktop.


Rui Maciel
 
M

Martin Shobe

Rui said:
Robert Wessel wrote: [snip]
Nautical use dates
back to the first steam powered ships. The approximately
contemporaneous application to locomotive operators seems fairly
obvious and reasonable in that context.

Well, the thing is, the field of engineering, along with the meaning of the
term, didn't suddenly popped into existence after the first steam engine was
placed in a ship.


As far as I can tell, the word "engineer", as applied to a
profession, originally referred to an operator of an "engine". In
particular, a military engine (e.g. catapult).

This doesn't make the etymology you posted elsethread wrong. The term
"engine" originally referred to the product of the design / creation /
invention process. But it does point out some of the dangers of using
an (very incomplete) etymology to try to determine what a word should
mean now.

Martin Shobe
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top