Subject: RE: What is Software Engineer? (RE: [hackers-il] Re: packers and mappers)

From: Omer Musaev <[email-masked]>
Date: Thu, 28 Nov 2002 17:54:50 +0200

' -----Original Message-----
' From: Oleg Goldshmidt [mailto:[email-masked]]
' Sent: Thursday, November 28, 2002 4:56 PM
' To: [email-masked]
' Subject: Re: What is Software Engineer? (RE: [hackers-il] Re: packers
' and mapp ers)
' 
' 
' Omer Musaev <[email-masked]> writes:
' 
' > 2. What is a difference between a programmer and a software 
' engineer? 
' > The trick's that while some engineering disciplines are fully
' > developed, e.g.  mechanical, civil or aerospace engineering, the
' > "software engineering" still sounds like a buzzword. You can find
' > the term used at many occations; however there is no such thing as
' > engineering duties upon software engineering.
' > 
' > There is no activity that must be approved and certified by 
' a software 
' > engineer, contrary to civil engineering field where an 
' engineer who signes
' > on the project bears criminal responsibility on the 
' project's qualities.
' > There isn't "Israel's state software engineering bureau" neither.
' > However, the term is in wide use.  
' > 
[skip]
' Some difference is that the ordinary civil or construction or
' electrical engineer deals with issues related to people's safety
' regularly, whether he/she builds a bridge or a house or a power plant.
' Very few software engineers deal with safety issues. Where they do,
' they often do a good job. Remeber Feynman's account of his
' investigation of Challenger disaster? The software people came out of
' it with flying colors for the most part.
' 

Does it imply that since in most cases software has nothing to do with
human safety, there is no public need for the profession of software 
engineer? 

Another question: What is an engineer after all? Can we talk of any quality
that is shared by all engineers, without discrimination on the
field/race/sex
basis, and is not possessed by members of other professions?

Sincerely yours,

--
Omer Mussaev 
Mercury Interactive R&D
Topaz EMS team

---

From: Shlomi Fish <[email-masked]>
Date: Thu, 28 Nov 2002 18:09:38 +0200 (IST)

On Thu, 28 Nov 2002, Omer Musaev wrote:

> ' > developed, e.g.mechanical, civil or aerospace engineering, the
> ' > There is no activity that mustbe approved and certified by
> ' a software

In many cases, what an electrical engineer or a mechanical engineer does
has nothing to do with human safety. Moreover, some software _is_ mission
critical: software for guiding missiles, for managing power plants, etc.
But most software out there isn't.

> basis, and is not possessed by members of other professions?

I distiniguish between several classes of profession with instances in
many fields:

1. Engineers: are supposed to design and build proto-types of a tool.

2. Operators/Users: are supposed to operate the tool.

3. Technicians: maintain and fix the tool.

4. Testers: assure the tool works as needed and is qualified enough.

5. Scientists: investigate the theory of making a tool in hope of
constructing better tools.

and maybe there are others I forgot. You can categorize all of them in any
field of engineering: software, electrical, mechanical, aeronautical,
food, biology, chemistry, psychology, etc.

Regards,

	Shlomi Fish

> Sincerely yours,
>
> --
> Omer Mussaev
> Mercury Interactive R&D
> Topaz EMS team
>
>
>
> To unsubscribe from this group, send an email to:
> [email-masked]
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>

----------------------------------------------------------------------
Shlomi Fish        [email-masked]
Home Page:         http://t2.technion.ac.il/~shlomif/
Home E-mail:       [email-masked]

"Let's suppose you have a table with 2^n cups..."
"Wait a second - is n a natural number?"

---

From: "Tzahi Fadida" <[email-masked]>
Date: Thu, 28 Nov 2002 19:51:45 +0200

Hi all,
I must disagree with you all, on the premise that software engineering cannot be
compared to mechanical
engineering or any other engineering discipline.
I myself have studied software engineering for a few years in bosmat, a year at a
distance learning
and a year at the technion and believe i am in a position to compare the three.
but first, before i begin, there are many books that take on different aspects of the
software engineering
profession, and many are good in their specific area. however, i want to single out a
single book
that give a very very good surface summary and beyond to the software engineering
discipline as a whole:
"Software Engineering" Sommersvile 6th+ edition. specifically the part where it
discusses the responsibilities
of the software engineer to the safety and professionalism of the engineer among
crewing and uml, etc,etc...

ok, the first issue was about the software engineering discipline as an engineering
discipline per se:
I must contend that there are known and standardized approaches to software
engineering that can be learnt
and be applied, and it is applied mind you. one can write a book on that subject
alone. but, specifically
to safety measures, there are software development processes that are in use by army
and airliners according
to the degree of safety required. These approaches were suggested and written down by
competent acknowledged people more than 50 years ago(maybe more) and are in use
today. mainly mathematical definitions and languages.
Moreover, there are more common methods to insure the quality of a process by using
design protocols and interfaces, and using appropriate development process for each
project in development, for example in the open source development we are mainly
talking incremental, and in the corporate heavy projects with long term affects we
are talking reuse and preplanning the projects months in advance without changing
anything even if bugs were discovered.
of course cost is a big player here, as well as in civil engineering, and if will
recall the pal-cal incident which was also designed by engineers but were implemented
by incompetent possibly criminally negligent people who did not follow specifications
to the letter. of course the same goes for software engineering, greed always
plays a role at various contracted projects. That is completely different from
claiming that there can't be or there aren't any standards in software engineering
regarding safety procedures and programming.
In fact, there are well-documented procedures for quality assurance processes and:
critical systems designs processes - dependability, critical systems specifications
processes, critical systems
development.

now to the second issue that was discussed here regarding the necessity of a degree
from a known established institute of studies. I want to inform you that bosmat and
the technion are recognized in Israel
as a competent and have the ability to bestow engineering degrees endorsed by the
state and allowed to unionize. As for the necessity of a degree, that depends:
If the only thing you want is to write donkey Kong or your hello world or even your
usually tailored soho program, then you don't need any degree and no one cares if
you're program will never work or delete your h.d  (except of course from the buyer
of the said program).
As for mission critical systems, i would seriously doubt you would trust your project
development in the hands
of a programmer with no certification of the quality and systematical education that
should cover most important areas. even if the programmer have a lot of experience,
he could still make a basic mistake from
an education POV, which would have been avoided otherwise.
Please remember that only established and appropriate educational institutes are in
these definition.
For example, i would not expect the average street programmer to know what uml is
even if most people only
implement 20% of it. In any case an engineer carrying a degree, also carry a
responsibility of an engineer
to put people lives and well-being above all else, contrary to a street programmer
which had no directing hand.

sub issue to that is the question of the difference in education between engineering
schools, universities, and distance learning:
1. engineering schools, from my experience after studying in bosmat for 5 years since
"tichon" to engineering degree, this is the best solution to ensure high quality of
the product and deep understanding of the development process. I highly recommend it
for anyone considering programming as a profession with an option to direct projects
in the future after much experience in the field.
2. universities, here it starts to be vague. That really depends on the degree you
are getting out. if we are talking about the various computer sciences, then it
really depends on the quality of the organization. the technion insists to give its
students a knowledgeable high level view of the software engineering profession but i
must admit it lacks in the projects department. On the other hand, this could easily
be corrected with more experience when the students starts to work so this is
negligible. the problem starts when others universities gives basic C++ or things
like that, that have little to do with software engineering which leaves the students
with a big gap in his knowledge. whether he can complete it itself is besides the
point, because he is in the same position as persons who didn't get an engineering
degree in the first place.
3. distance learning. The fact that the degree is obtained using distance learning
has nothing to do with the quality of the education. this is a misconception and
stereotyping. the issue really depends on the university you are trying to obtain the
degree from. if you are trying to just buy your degree from lita uni, i can
understand the skepticism. just fyi to all steriotypers, be informed that today there
is a possibility to get a degree from Harvard via distance learning, plus the
technion started using Webct solution which is one step closer to distance learning
and in fact in many courses you don't really have to be physically in the technion to
submit works!.

ok, hope you are convinced,
   tzahi.

* - * - *
Tzahi Fadida
[email-masked]
Technion Email: [email-masked]
My Cool Site: HTTP://WWW.My2Nis.Com
* - * - * - * - * - * - * - * - * - *

WARNING TO SPAMMERS:  see at http://members.lycos.co.uk/my2nis/spamwarning.html

> -----Original Message-----
> From: Shlomi Fish [mailto:[email-masked]]
> Sent: Thursday, November 28, 2002 6:10 PM
> To: [email-masked]'
> Subject: [hackers-il] RE: What is Software Engineer? (RE: Re: packers and mappers)
>
>
> > ' > engineering duties upon software engineering
> > ' >
> > ' project's qualities
> > ' > There isn't "Israel's state software engineering bureau" neither
> > ' > However, the term is in wide use
> > ' >
> > [skip]
> > ' regularly, whether he/she builds a bridge or a house or a power plant
> > ' it with flying colors for the most part
> > '
> >
> critical: software for guiding missiles, for managing power plants, etc
> But most software out there isn't
>
> 1. Engineers: are supposed to design and build proto-types of a tool
>
> 2. Operators/Users: are supposed to operate the tool
>
> 3. Technicians: maintain and fix the tool
>
> 4. Testers: assure the tool works as needed and is qualified enough
>
> constructing better tools
>
> food, biology, chemistry, psychology, etc
>
> Regards,
>
> 	Shlomi Fish
>
> > Sincerely yours,
> >
> > --
> > Omer Mussaev
> > Mercury Interactive R&D
> > Topaz EMS team
> >
> >
> >