• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Are Software Engineers REALLY Engineers?

 
Ranch Hand
Posts: 167
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi All,
I've been thinking about this topic for a while now and I was wondering what your opinions are. Should software Engineering beconsidered an Engineering Disipline or is it something else?
Also what makes software engineering an Engineering disipline?
I haven't fully thought out my arguments for or against the notion so I would love to here from you guys.
Thanks,
Jon
 
Ranch Hand
Posts: 715
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Jon,
If you are in the field but begin to wonder about the validity of your field of discipline. You may have to change your career.
In my company, engineering are left and right, MIS Engineer, Accounting Engineer, or Technician Engineer. It alters my perception about Engineering discipline based on academia definition.
Software Engineer applies science and math to produce a product called software that Others use to create other products.
For example, IDE - It takes Software Engineer creating it, so a developer or programmer can uses to develop a program or a system of programs for the end-user.
Regards,
MCao
[ June 08, 2003: Message edited by: Matt Cao ]
[ June 08, 2003: Message edited by: Matt Cao ]
 
Jon McDonald
Ranch Hand
Posts: 167
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Matt Cao:
Hi Jon,
If you are in the field but begin to wonder about the validity of your field of discipline. You may have to change your career.


Nah, I may just have to change my title
I'm not questioning the validity of the field, only why we use the term "Software Engineer" I read that the term came from a 1967 NATO conference concerning building better software for defense systems.
I personally like the term software engineer. I am just wondering what is it that makes "software engineers" engineers. Im inclined to believe that we are. I'm just trying to get a better understanding of what the implications of using that title are to the field.
Jon
 
Ranch Hand
Posts: 121
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jon McDonald:
Hi All,
I've been thinking about this topic for a while now and I was wondering what your opinions are. Should software Engineering beconsidered an Engineering Disipline or is it something else?
Also what makes software engineering an Engineering disipline?
I haven't fully thought out my arguments for or against the notion so I would love to here from you guys.
Thanks,
Jon


NO. They are artists with some logic.
 
Matt Cao
Ranch Hand
Posts: 715
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
Artist with some logic in my company only makes 15$/hr. She designs all the test fixtures, you know like a chasis to assemble all the components together for a specific task without screwing in so the components will be in minty condition when the task is done.
I hope Glen is kidding.
Regards,
MCao
 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
According to Merriam-Webster:
Engineering - the application of science and mathematics by which the properties of matter and the sources of energy in nature are made useful to people.
I'm not sure how accurate this definition is with regard to the profesion itself, but when I think of any engineering discipline (ie, mechanical, chemical, electrical) I think of the processes used to properly build a system. Analyzing, designing, implementing, and fixing are the general processes that you must follow within the given discipline in order to be considered a __________ Engineer. Civil Engineers gather requirements, analyze them, design a structure, build it, and maintain it. Software Engineers to the exact same thing, but with software systems.
That's my point of view at least...I could be a little off the the specific processes, so if there are any "real" engineers out there that can set me straight, please do.
-Drew
 
Matt Cao
Ranch Hand
Posts: 715
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Drew,
Yes, a real engineer here and I am not argue with Miriam-Webster Engineer's definition.
Cheers,
MCao
 
Ranch Hand
Posts: 204
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I myself had this very doubt for a long time.
After giving it a little thought I came up with some questions...why can't I spot a non-Engineering degree holder (like majors from economics, elementary education etc) who works on lathe machines or on transformers or in chemical plants and why do I see many of the same group of people sit for a few months with a book on C++, Java etc and then start writing software....thus evolving into a "Software Engineer" with no basic understanding of Engineering principles (Some even don't know that it exists)?
I even find it tough to digest when a person coding in HTML/JavaScript acts as if he is on par with the ones coding in real programming languages. But I guess these are the downfalls of computers and the internet being available to everyone.
One of our professors who teaches technology (yeah!!! that's what they call it) in the Education department told me that Flash is much better than Java. ...I didn't even know why I was talking to this man who thinks having a Ed.D. makes him qualified to lecture on anything under the sky.
So I really see programmers in two categories.
1. Software Engineer: One who writes software and has an engineering degree (preferably in Electrical/Electronics/Computer).
2. Software Programmer: One who writes software but does not have an engineering degree.
Almost all of us work real hard to get into engineering programs and have worked even harder to get out with our degrees. For what it's worth I don't think it's fair to throw away the "Engineer" title this easily.
 
Ranch Hand
Posts: 257
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think it would be safe to call Software Engineers real engineers for the following reason...
For any type of real engineering field, there is usually a very thick layer of abstraction between what an engineer can design on paper to what an engineer can physically build in the real world. This intermediate layer of abstraction usually facilitates the design and bridges the gap between the abstract and the real by way of, among other things, mathematical formulas, patterns, best practices, guidelines, and tools that assist the engineer to implement their design.
To give a few examples of this, let's take a Mathematical Engineer, for example. These individuals commonly refer to the "Book of Derivates" for solving common mathematical problems. It is essentially a mathematicians book of design patterns because it contains solutions for common mathematical problems in the real world.
Let's take another example, say, a Chemical Engineer. For a chemist that is working on a new molecular compound, the chemist can refer to a book named "Chemical Abtracts" to essentially find a recipe for snythesizing a crapload of molecular structures, ranging from simple compounds to very complex chemical structures. This is essentially a chemists book of patterns.
So, what was your question again? Oh, right, you were wondering if a Software Engineer is really an engineer. Well, it should be clear that software engineers too have common ways of solving problems by referring to the same well-known techniques, and these, of course, include concepts such as OOA/OOD, development processes, such as RUP, all the theoretical CS crap that I hated in college, and don't forget our design patterns too, they usually come in handy.
Raffi
[ June 11, 2003: Message edited by: SAFROLE YUTANI ]
 
Matt Cao
Ranch Hand
Posts: 715
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi San,
Software Programmers are not engineers. They are as their titles suggested programmers.
If anyone who could write a software without engineering education or all the ingredients of an engineer, that person may well hang around with Bill Gate or individuals with all the right DNA structure.
Cheers,
MCao
 
Saloon Keeper
Posts: 27763
196
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
"Real" Engineers have been known to get really hot over this issue. As far as some are concerned, a Software Engineer and a Sanitary Engineer fall into the same category. Especially since there are thos of us in the software trade who got our skills on the job instead of sweating the terms at college.
It's been a number of years since I've heard of engineers lobbying to get the title "Software Engineer" banned in certain states, but it was an issue for a while.
Personally, whether I'm working with the properties of matter or of abstract meterials (e.g. algorithms), I use the same basic set of mental skills[1], so I'm fine. In fact most of my job titles have been "Software Engineer".
----
[1] I've even been known to use slide rules and plastic pocket protectors
 
Derek Grey
Ranch Hand
Posts: 204
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Tim Holloway:
"Real" Engineers have been known to get really hot over this issue. As far as some are concerned, a Software Engineer and a Sanitary Engineer fall into the same category. Especially since there are thos of us in the software trade who got our skills on the job instead of sweating the terms at college.
It's been a number of years since I've heard of engineers lobbying to get the title "Software Engineer" banned in certain states, but it was an issue for a while.
Personally, whether I'm working with the properties of matter or of abstract meterials (e.g. algorithms), I use the same basic set of mental skills[1], so I'm fine. In fact most of my job titles have been "Software Engineer".
----
[1] I've even been known to use slide rules and plastic pocket protectors



Summary:
I don't have an Engineering degree and I sure as well wouldn't admit I couldn't get one...for whatever reason
I also wouldn't admit that most people having Engineering degrees have spent equivalent time learning on the job in addition to the time spent learning in College.
I don't care if there is a major called "Sanitation Engineer" but I am going to use it anyways.
 
Author
Posts: 6055
8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by San Tiruvan:
I myself had this very doubt for a long time.
After giving it a little thought I came up with some questions...why can't I spot a non-Engineering degree holder (like majors from economics, elementary education etc) who works on lathe machines or on transformers or in chemical plants and why do I see many of the same group of people sit for a few months with a book on C++, Java etc and then start writing software....thus evolving into a "Software Engineer" with no basic understanding of Engineering principles (Some even don't know that it exists)?


Maybe because you haven't looked into those industries. I've met some. They do exist. Are they more commin our indsutry sure? It's a moot question, however. The fact that there is no formal barrier to entry in no way effects what people in the industry do. Engineering is an activity, plain and simple.
Now why is it that we allow so many art-history majors into the field? There are two reasons. First, the field is not formally defined for many people. Many non-IT people don't understand the difference between writing a business application, system administration, and web design.
Second, the field is young. Mechanical engineering, for example, is centuries old. I'm sure when it first began, many people got into it with little formal training. This is true of most fields. In time, as our industry matures, it is likely we'll formalize the process a little more and draw clearer boundaries.
--Mark
 
Mark Herschberg
Author
Posts: 6055
8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jon McDonald:

I'm not questioning the validity of the field, only why we use the term "Software Engineer" I read that the term came from a 1967 NATO conference concerning building better software for defense systems.


Can you give me the reference? Thanks.
--Mark
 
Jon McDonald
Ranch Hand
Posts: 167
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Mark Herschberg:

Can you give me the reference? Thanks.
--Mark


Hey Mark,
I've got two references for you.
McBreen, Peter: Software Craftsmanship. Copyright 2002. ISBN 0-201-73386-2. pg xv
Peter McBreen, in turn, referenced this work as his original source:
Naur, Peter, and Brian Randell, (eds.), Software Engineering:A Report on a Conference Sponsored by the NATO Science Committee, NATO, 1969.
Hope this helps.
Jon
 
Ranch Hand
Posts: 173
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In my view, software engineering qualifies.
It would however be noteworthy if we look into the situation of the older engineering disciplines today. Such as the existence of external bodies which have strong influence on the state of this disciplines e.g. most if not all the old engineering disciplines have external bodies to monitor member entry and services rendered.
For instance their are state boards for the licensure engineering examinations for civil, mechanical, chemical, mining, among others to cap the 4-year 5-year studies completed. This is a requirement for many jobs to be carried out. For instance, if a firm wants to take part in government construction projects, construction-related plans need to be reviewed/approved/signed by licensed civil engineers, among others. Also if the resulting structure fails, the "licensed" will most likely be investigated and be accountable to a government body e.g. if a building crashes. That is engineers can't just get away with disclaimers such as "whatever happens to the building, we don't have responsibility if it crashes and mutiliates your internals ...". Ever tried to wonder ... how about if an operating system crashes and your company loses millions? Well so what. .
Also there are established non-government professional engineering societies (ASCE, IEEE...) strong enough to promote technical standards or practices, maintain professional "ethics", etc..
Although, these are just extras, these bodies sort of "backs up" their respective fields as engineering disciplies in the eyes of public interest groups e.g. people who want to have their houses or buildings built, those who need credible electrical plans for their houses, etc..
 
reply
    Bookmark Topic Watch Topic
  • New Topic