Loading ...
Sorry, an error occurred while loading the content.

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

Expand Messages
  • Tzahi Fadida
    Hi all, I must disagree with you all, on the premise that software engineering cannot be compared to mechanical engineering or any other engineering
    Message 1 of 3 , Nov 28, 2002
      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

      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 Fadida
      Technion Email: Science@...
      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:shlomif@...]
      > Sent: Thursday, November 28, 2002 6:10 PM
      > To: 'hackers-il@yahoogroups.com'
      > Subject: [hackers-il] RE: What is Software Engineer? (RE: Re: packers and mappers)
      > On Thu, 28 Nov 2002, Omer Musaev wrote:
      > >
      > >
      > > ' -----Original Message-----
      > > ' From: Oleg Goldshmidt [mailto:pub@...]
      > > ' Sent: Thursday, November 28, 2002 4:56 PM
      > > ' To: hackers-il@yahoogroups.com
      > > ' Subject: Re: What is Software Engineer? (RE: [hackers-il] Re: packers
      > > ' and mapp ers)
      > > '
      > > '
      > > ' Omer Musaev <omerm@...> 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 mustbe 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?
      > >
      > 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
      > > 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?
      > >
      > 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:
      > > hackers-il-unsubscribe@egroups.com
      > >
      > >
      > >
      > > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
      > >
      > >
      > ----------------------------------------------------------------------
      > Shlomi Fish shlomif@...
      > Home Page: http://t2.technion.ac.il/~shlomif/
      > Home E-mail: shlomif@...
      > "Let's suppose you have a table with 2^n cups..."
      > "Wait a second - is n a natural number?"
      > To unsubscribe from this group, send an email to:
      > hackers-il-unsubscribe@egroups.com
      > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    Your message has been successfully submitted and would be delivered to recipients shortly.