Slashdot Mirror


The Life of a Software Engineer

Jonathan Wise writes to share with us an interesting bit of prose describing life as a software engineer. "I am, in the States, known as a Software Engineer. In Canada we're not allowed to call ourselves engineers, although the discipline is no less rigorous than any other kind of engineering. But perhaps its for the best, because 'engineering' describes only a part of what I do. A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy."

519 comments

  1. Life of a software engineer? by Bob+McCown · · Score: 5, Funny

    Life? We don't have a life!

    1. Re:Life of a software engineer? by dvice_null · · Score: 4, Funny

      > We don't have a life!

      You got the specs, why aren't you programming?
      http://en.wikipedia.org/wiki/Conway's_Game_of_Life

    2. Re:Life of a software engineer? by Bob+McCown · · Score: 2, Insightful

      Specs? [pause] SPECS? [snicker] BWAHAHAHAHAHAHAHAHAHAAH

      Yea right. My latest specs went from "Spend some time with the latest version of the FooBar libraries we use and see whats changed" to "When will you have something we can look at and test?" in about 5 workdays.

      Specs my shiny metal ass.

    3. Re:Life of a software engineer? by Anonymous Coward · · Score: 0
      FTSummary:

      ... although the discipline is no less rigorous than any other kind of engineering.

      At what age did you start having these disturbing dreams?

      Captcha -- hooking. Coincidence?

    4. Re:Life of a software engineer? by NateTech · · Score: 1

      Exactly. Another article about a code monkey who thinks he's more than he really is. Delusions of grandeur abound in software writing (note not ENGINEERING) circles.

      --
      +++OK ATH
    5. Re:Life of a software engineer? by aproposofwhat · · Score: 1
      Same sort of experience here - but guess what?

      I don't want to be an engineer!

      That's right, I like to code, and I code fast and accurately, and I don't want any of the engineerting paperwork and bullshit to get in my way.

      I've had dealings with 'chartered engineers' in the past, and having to explain fluid flow in pipes from first principles before they would admit they'd f***ed up wasn't my idea of productive time.

      --
      One swallow does not a fellatrix make
  2. Re:I'm a software engineer. by orclevegam · · Score: 4, Informative

    It's a troll, and definitely NSFW.

    --
    Curiosity was framed, Ignorance killed the cat.
  3. WARNING: GNAA by SirBudgington · · Score: 3, Informative

    Parent post contains link to nasty shock site which screws with your browser.

    --
    this is my sig
    1. Re:WARNING: GNAA by lightversusdark · · Score: 1

      Wow! Running latest Firefox, AdBlock, latest NoScript. Had to force quit Firefox. Impressive exploit. Actually worth a look if you're interested in that sort of thing. NSFW obviously, but technically interesting.

      --
      "There is nothing nice about Steve Jobs and nothing evil about Bill Gates." - Chuck Peddle
  4. No less rigourous? by Chris_Jefferson · · Score: 5, Funny
    although the discipline is no less rigourous than any other kind of engineering

    Oh? Your wall has fallen down? That just seems to happens sometimes. Well, just push it up, go outside your house and come back in. Hopefully it won't happen again.

    --
    Combination - fun iPhone puzzling
    1. Re:No less rigourous? by Quasar1999 · · Score: 3, Interesting

      A damned 'Engineer' in all the title's glory developed my car, and yet half the time a warning light comes on, I'm told to turn the car off, wait a minute, turn it back on and hope it doesn't show up again. And the 'Engineer' that designed our local highway, forgot about this thing called 'grade' and why it's important to have water run off the road rather than pooling in the middle of it. Many millions of dollars later in court, it was verified that the Engineer f'ed up the plans and the construction crews were not at fault. So care to tell me about the 'rigours' of this so called Engineer?

      --

      ---
      Programming is like sex... Make one mistake and support it the rest of your life.
    2. Re:No less rigourous? by Anonymous Coward · · Score: 0

      Bridges collapse, walls become moist and moldy, roofs leak. Engineers don't deliver perfection either. The lack of a difference becomes more obvious when engineers have to work under the same time and budget constraints as software developers. You know they would push up walls and hope for the best if their budget for repairs were non-existent.

    3. Re:No less rigourous? by Bluesman · · Score: 2, Insightful

      Yeah, show me where the software engineer's signature is from the guy who guarantees that the software won't kill anyone.

      I guess it depends on what he means by rigorous, though. At least in most kinds of engineering the problems aren't unexplored, so you have some guidelines to work within that pretty much guarantee your building won't catch on fire.

      But there's a huge difference between guaranteeing something will work and making something that pretty much works most of the time, we think. Comparing the two is slightly ridiculous.

      --
      If moderation could change anything, it would be illegal.
    4. Re:No less rigourous? by Surt · · Score: 1

      I'm not sure what the point of your comment is. Walls in houses fall down a lot.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    5. Re:No less rigourous? by kidgenius · · Score: 4, Insightful

      Interestingly enough, that first one sounds like something in the computer is messed up....hmm, software maybe?

    6. Re:No less rigourous? by nonsequitor · · Score: 5, Insightful

      Sure, make light of the industry. I've been writing safety critical software for the last 7 years. You can thank the software engineers that wrote the fuel injector firmware for the turboprop on your plane for properly engineering it to always work. And while you're at it the software engineers who wrote the code running the life support systems in the ICU also deserve some props.

      Not all of us work in a fault tolerant environment. Because we do our jobs well, you don't hear about the latest scandal on Slashdot. This would explain the lack of articles about software bugs causing airbags in Ford cars failing to deploy. I know you were just joking, but to some of us, software engineering is serious business.

    7. Re:No less rigourous? by dmatos · · Score: 4, Interesting

      And the Engineer who stamped the plans before construction began is now personally liable for all the damage caused. That is the difference (in Ontario) between someone who is an Engineer, and someone who just calls themselves one (illegally). That person has probably been stripped of their certification, and can never work as an Engineer again. There are responsibilities associated with being a Professional Engineer, and penalties should those responsibilities not be met.

      --

      It may look like I'm doing nothing, but I'm actively waiting for my problems to go away.
      --Scott Adams
    8. Re:No less rigourous? by $RANDOMLUSER · · Score: 1

      "If builders built buildings the way programmers write programs, the first woodpecker would destroy civilization".

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    9. Re:No less rigourous? by mrchaotica · · Score: 4, Insightful

      Many millions of dollars later in court, it was verified that the Engineer f'ed up the plans and the construction crews were not at fault.

      You just proved his point! There was a huge court case, and it was verified as to which party was at fault. The Engineer might have lost his license over it, too, if the damages were that high. So yes, that's the difference: the Engineer was held accountable.

      But software is different, for some reason. For example, do you see that happen with Microsoft? Hell no! If Microsoft were held accountable for its software like Engineers are, the company would have been sued into oblivion and Bill Gates would be in jail for gross negligence. And so would the responsible parties of every other software company.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    10. Re:No less rigourous? by ceoyoyo · · Score: 1

      The engineer who messed up that highway is responsible for his mistake (thus the court case) and, if he messed up badly enough, will be censured by his professional organization. The engineer who designed your car, if it was one (it may not have to be in that case) is also responsible if, say, your brakes fail and you die or are injured because of a design flaw.

      The "software engineer" in the article, who sounds more like a programmer, is not.

      He can't call himself an engineer in Canada because here that word means something more than just "I design and/or build stuff." We do have software engineers, who go through a software engineering program in university and are members of a professional engineering organization that regulates them.

    11. Re:No less rigourous? by Anonymous Coward · · Score: 0

      You do realize that the idiots lights in a car are triggered by a computer, right? Using software, right? So if rebooting the car's computer turns the light off, it's was turned on in the first case by a software error.

      I've actually had a car computer crash on me once. It was neat - all the indicator lights stopped working, but amazingly enough all the mechanical parts (you know, the parts designed by engineers and not software people) worked just fine.

      Drove to where it was safe to stop by the side of the road, turned the car off and back on again, and the car computer came back on and all of a sudden all the computerized parts started working again.

      Thankfully all the important parts were designed by engineers, or else I could have died...

    12. Re:No less rigourous? by ceoyoyo · · Score: 2, Insightful

      And those are real engineers, either you or the person who signs off (literally) on your work, taking responsibility for its safety and performance.

      The programmer whose responsibility ends when he's done writing his code is not an engineer.

    13. Re:No less rigourous? by Anonymous Coward · · Score: 0

      I'm not sure what the point of your comment is. Walls in houses fall down a lot.


      Well, what happens more frequently: your software crashing or a wall of your house falling down? If you have to spend more than a fraction of a second thinking that one over, then you've bought a bad house.
    14. Re:No less rigourous? by Anonymous Coward · · Score: 0

      you mean like this: http://it.slashdot.org/article.pl?sid=07/02/25/2038217

      or this: http://www.medscape.com/viewarticle/546153

      or this: http://it.slashdot.org/article.pl?sid=05/05/16/1859251

      there a plane, a medical device, and a car all faulting because of software glitches. Thanks for making all that stuff work!

      like you said *some* software engineers work with fault-intolerant devices... *most* real engineers work with fault-intolerant devices.

    15. Re:No less rigourous? by spook+brat · · Score: 1

      And the 'Engineer' that designed our local highway, forgot about this thing called 'grade' and why it's important to have water run off the road rather than pooling in the middle of it. Many millions of dollars later in court, it was verified that the Engineer f'ed up the plans and the construction crews were not at fault. So care to tell me about the 'rigours' of this so called Engineer?

      (emphasis added)

      I think you've already found your answer. That Engineer who made the mistake is held accountable for his mistakes, and there is a system in place to enable that accountability. No such thing exists in the Software world. When programming has matured enough as a field for a certified "Software Engineer" to be held accountable for errors made by a third party based on correctly following the Engineer's faulty recommendation then I'll gladly welcome Software Engineering into the fold.

      I suspect, though, that computer programmers (taken as a whole) would rather not be held to that sort of standard. Most EULAs have language such as "this product is sold without warranties as to performance of merchantability or suitability for any purpose", and Software companies seem to like it that way. The way things stand, writers of tax software are not liable for you getting fined by the IRS due to a bug in their software. Microsoft will never pay anyone a dime over the multiplication error in Excel 2007. And even if the companies did end up liable for those mistakes, there is currently no way to hold the individual "Software Engineer" accountable for his mistake(s) that caused the problems.

      You can't have both the prestige of an Engineering title and the lack of accountability that the Software world currently embraces. As a result, you are very correct in criticizing the Auto industry's lack of rigor in their electronic vehicle controls. One day that behavior will catch up to them. All it will take is people to start dying because of a software bug in their vehicles; the manufacturer will held liable for the deaths, and the Mechanical/Manufacturing/Automotive engineers who signed off on the design will be (unfairly, in my opinion) accountable for the mistakes of the programmer.
      --
      Travel the Galaxy! Meet fascinating life forms... ...and kill them - http://schlockmercenary.com
    16. Re:No less rigourous? by WGR · · Score: 4, Informative

      Dr. David Parnas actually succeeded in becoming a Professional Engineer (P.Eng) in Ontario as a "Software Engineer". He showed that there are rigorous ways of designing software so that the tenets of engineering safety can be upheld.

      So yes you can be a software engineer in Canada. But not by getting a cereal box certification from Microsoft. Perhaps graduating with a degree in Software Engineering from a University like Waterloo or Toronto, which do have software engineering courses.

    17. Re:No less rigourous? by Anonymous Coward · · Score: 0

      New Orleans was flooded. It had levees which were designed by engineers. When engineers have to satisfy unrealistic demands, their stuff does work as well or as badly as the work of programmers. Most software which is in use today is a mended, extended and poorly maintained mess. The difference between programmers and engineers is that programmers don't get to reject requirements just because they can't be satisfied without going "against code". Software programmers dream of the safety margins which are acceptable in engineering. We have metrics for worst case behavior, you know? Find me one project manager who is willing to size systems accordingly, though.

    18. Re:No less rigourous? by Nursie · · Score: 1


      Come work in real software engineering where that's not acceptable.

    19. Re:No less rigourous? by Beale · · Score: 1

      "If civil engineers had to work to the same constraints as software engineers, Tacoma Narrows would be a weekly show."

    20. Re:No less rigourous? by Beardo+the+Bearded · · Score: 5, Informative

      That's what I came in here to say.

      You CAN be a Software Engineer in Canada. You just have to get a Bachelor's Degree in Engineering (or similar) with Software as your discipline. Then register with your appropriate body (APEG-BC in British Columbia) and there you go. The University of Victoria offers a B.Eng. in Software Engineering. For the first four years after graduation, you can call yourself an Engineer In Training. After that, you can get your seal and stamp as a Professional Software Engineer.

      In other words, yes, you can call yourself an Engineer. Just not after mailing in box-tops to MS.

      (I'm an EE. (in Training) )

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    21. Re:No less rigourous? by joggle · · Score: 2, Informative

      So care to tell me about the 'rigours' of this so called Engineer?

      Sure. I was trained in aerospace so can at least tell you about some of the requirements of engineering. In the military there are many 'Mil specs' that must be met for any aircraft design (although less so for autonomous, unmanned vehicles). Within any company there are standard guidelines for the standard tolerances for various design attributes (such as tolerance for flatness, angle accuracies, cylindrical attributes, etc.). For civilian aircraft design there are many similar, but sometimes different from the mil specs, guidelines that engineers must follow and must be certified step by step.

      For spacecraft you usually have tight tolerances, although less formal guidelines than in passenger or military aircraft design. On the other hand there are extreme guidelines for tracking the parts used to build a spacecraft, especially for NASA. They require that virtually every component must be tracked all the way to the lot and date on which it was manufactured (and only certain manufacturers are allowed). This is required even for small components like capacitors or resistors. Usually rockets and payloads that are intended for a low altitude (non-space) target have much less strict policies though.

      In either case the design process is well documented and any significant change is usually signed off by another engineer. Each step of the design is documented and a reason is given for each change. While there are CVS style comments in software, you usually don't need explicit, signed paper in order to check in each change into your source repository. I don't know if this is the policy at aircraft manufactures but it certainly was at the spacecraft design company I worked at in college.

      There are also rigorous, standard tests for aircraft and for spacecraft. Spacecraft must undergo many tests before a launch, including individual component tests, difficult systems-integration tests, and a shaking test that simulates the stresses of the launch vehicle. Any commercial jet must undergo months of tests after the first one is built. This is in addition to the countless simulations and physical tests they do for individual components during the design and prototype construction stages.

      While some software companies may implement rigorous software repository and design standards, it isn't required by law as it is for aerospace or for civil engineering for that matter. Software writers aren't required to take a standard, national test in order to start their profession (unlike civil or mechanical engineers). And they certainly aren't held to any national standards for software design (although there may be exceptions for some specific problem domains such as aircraft control software or stock trading software for all I know).

    22. Re:No less rigourous? by Surt · · Score: 1

      I think it's also a lousy comparison. How about we compare the number of times my house has gotten a smudge on the wall to the number of software crashes? Because a wall collapsing is a much more catastrophic event than a software crash. Maybe even compare the number of times a wall has developed a crack to the number of software crashes. Those are probably about the same for me.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    23. Re:No less rigourous? by Pope · · Score: 1

      Well, it's a lot better than the wonks I see giving demos of software like Flash and Dreamweaver and calling themselves "Sales Engineers."

      --
      It doesn't mean much now, it's built for the future.
    24. Re:No less rigourous? by s.carr1024 · · Score: 1

      A damned 'Engineer' in all the title's glory developed my car, and yet half the time a warning light comes on, I'm told to turn the car off, wait a minute, turn it back on and hope it doesn't show up again.

      Who advised you to ignore your car's warning light? Surely it wasn't the owner's manual, a qualified mechanic, or the dealer. A warning light indicates that your car has self detected a problem and you should have that problem diagnosed ASAP. Luckily for you, there is the OBD II standard which gives you a common interface to see why the light has turned on regardless of manufacturer. It is possible to have your diagnostic codes checked for free at many places (like Autozone).

      Your car's ability to self-detect faults and alert the user to the occurance of faults (rather than just failing for an unknown reason) is surely an example of good engineering.
    25. Re:No less rigourous? by JaredOfEuropa · · Score: 2, Insightful

      But software is different, for some reason. For example, do you see that happen with Microsoft? Hell no! If Microsoft were held accountable for its software like Engineers are, the company would have been sued into oblivion and Bill Gates would be in jail for gross negligence. And so would the responsible parties of every other software company
      Software is different, in that small mistakes often have very large and far-reaching consequences. When designing software, you also have to deal with far, far more unforseeable circumstances. If we hold software developers to the same liability as we do building contractors and architects, no one would be able to profitably sell any.

      Get a guy to design you a home, and have a contractor build it. They are both liable to make small mistakes. You may be entitled to have it fixed but good luck getting them to do it. Then there's the miriad of small mistakes and oversights that you don't even notice because they do not affect you. If your building contractor used one 5" nail where he should have used a 6" one, the worst that is (un)likely to happen is that a bit of paneling falls of the wall when a truck rumbles by. In software, that one misplaced nail may cause an entire neighbourhood to collapse into matchsticks.

      Also, a lot of bugs are not that serious. Note how car manufacturers deal with liability: if there's a safety issue, it's an immediate recall. If it's an annoying blinky light, they'll fix it when you bring the car in for regular service. Don't most software companies usually (admittedly not always) deal with it like this?
      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    26. Re:No less rigourous? by nametaken · · Score: 1

      I see a lot of people considering buildings and bridges as perfect constructions, free from defect or potential harm. Let's remember that people die from the shortcomings of man-made structures all the time.

      More to the point though, individuals and corporations put their signatures on software that must not kill people all the time.

      I expect you've driven and flown in some of the products that operate safely on software that has promises attached. Not to mention the many buildings you enter and bridges you cross that are safe in large part because of a number of types of software.

      How about the machines that either save your life or keep you alive in the hospital? You think the software for those isn't backed up with promises regarding their functionality? You don't suppose there'd be lawsuits-a-plenty if the software failed regularly?

      When you think of software, you think about Microsoft products or the crap software you use to rip your DVD's. You think of it because that's the cheap, mediocre crap right in front of your eyes on a daily basis. The important, quality software of the world goes largely unnoticed and works about as well as buildings do... which is to say, good, but never perfect.

    27. Re:No less rigourous? by Bombula · · Score: 1
      Not all of us work in a fault tolerant environment. Because we do our jobs well, you don't hear about the latest scandal on Slashdot.

      It's too bad you don't work for Microsoft.

      --
      A-Bomb
    28. Re:No less rigourous? by grqb · · Score: 2, Interesting

      So care to tell me about the 'rigours' of this so called Engineer?

      Yeah, the engineer got sued. That's the difference. Engineers are made responsible.

    29. Re:No less rigourous? by TigerNut · · Score: 1
      It's only an example of good engineering IF the fault is actually existent in the sensor or system. False-positive fault detection is a nuisance and a danger to the driver. If you're driving along in heavy traffic and suddenly a light comes on in the dash, it's going to distract you, right? At least you need to suddenly make a decision on whether to pull over and see if this is a serious problem. Then, if it is a false indication, then it will eventually lead to the driver ignoring legitimate warnings, potentially causing engine damage.

      I have an OBD-II reader and I've used it to diagnose problems with my vehicles... the quality of the information delivered is only as good as the quality of the software that's running on the ECU.

      --

      Less is more.

    30. Re:No less rigourous? by ObsessiveMathsFreak · · Score: 1

      I know you were just joking, but to some of us, software engineering is serious business.
      Then why is it that you, and others like you, allow those programmers who do not treat it as a serious business to call themselves software engineers? Why is it that they are allowed a free ride on your professionalism? Why is a php hacker allowed to rank himself alongside those who write the code for fuel injectors and airbags?

      Then again, a certification body for engineers could just leave us with another guild type organisation.
      --
      May the Maths Be with you!
    31. Re:No less rigourous? by grqb · · Score: 1

      I think a lot of people who want to become a so-called software engineer do it through computer engineering. Most computer engineering departments have a software option (or hardware option).

      But just going to engineering school isn't enough to be an engineer. I graduated with a Chem Eng degree and can't call myself an engineer until I write exams to become a professional engineer.

    32. Re:No less rigourous? by Anonymous Coward · · Score: 0

      So one time you had a car computer crash on you... Interesting. I wonder how many times a mechanical part has failed on you? Flat tire, engine overheat, windshield wiper being inneffective? Aren't all of those things designed by real engineers?

    33. Re:No less rigourous? by strange+dynamics · · Score: 1

      The people that wrote the fuel injector firmware code were likely embedded systems engineers which falls under electrical engineering.

    34. Re:No less rigourous? by Anonymous Coward · · Score: 0
      Interestingly enough, that first one sounds like something in the computer is messed up....hmm, software maybe?

      The problem is whoever designed an idiot light with no means for identifying which of 100 possible problems is the culprit (without an expensive diagnostic machine, that is). I have been chasing an engine light problem in my Honda for over 10 years, that goes on sometimes for hours, except during the numerous occasions I've taken it to be diagnosed for the problem.

    35. Re:No less rigourous? by a+whoabot · · Score: 1

      "I suspect, though, that computer programmers (taken as a whole) would rather not be held to that sort of standard. Most EULAs have language such as "this product is sold without warranties as to performance of merchantability or suitability for any purpose", and Software companies seem to like it that way. The way things stand, writers of tax software are not liable for you getting fined by the IRS due to a bug in their software. Microsoft will never pay anyone a dime over the multiplication error in Excel 2007. And even if the companies did end up liable for those mistakes, there is currently no way to hold the individual "Software Engineer" accountable for his mistake(s) that caused the problems."

      Do such disclaimers actually hold up? I mean, it seems they're doing a bit doublespeak -- on the one hand, in product descriptions and advertisements, they'll describe the software as a tool for doing whatever job ("professionally edit photos!"), but then in the fine print say that it won't necessarily be able to do those things. It would be like someone selling me a washing machine and telling me it'll give me the cleanest clothes I've ever seen, but then in the fine print it says it might not actually clean anything, and, sure enough, the "washing" machine can't even turn on, and then when I ask for my money back, they just point me to that fine print. Seems grossly unfair -- they were still lying in their advertisements and product descriptions, because they stood alone without reference to the fine print.

    36. Re:No less rigourous? by plague3106 · · Score: 1

      That doesn't mean SE if less rigourous. It just means that a building engineer must ensure the wall holds at most X lbs without collapsing, and if it does that, it can do all values less than X.

      Software though, you can only prove that X lbs are handled without collapsing, but X - 1 or X + 1 might make that happen. You won't know unless you actually test that value.

    37. Re:No less rigourous? by plague3106 · · Score: 1

      So, what would you call an SE graduate from RIT in the states? I haven't heard anyone call themselves a Software Engineer and their only backing was an MS test. Usually those are "MS-certified," but not a Software Engineer.

    38. Re:No less rigourous? by Machtyn · · Score: 0, Redundant

      I seem to recall a large amount of technical equipment with hardware and software connected to me when I was in the hospital. I would hope that equipment has gone through the rigors of an engineering method.

    39. Re:No less rigourous? by nonsequitor · · Score: 1

      The people that wrote the fuel injector firmware code were likely embedded systems engineers which falls under electrical engineering.
      Actually I had a contract offered to me for doing exactly that and I am not an electrical engineer, though I do work with embedded systems.

      I have yet to see a civil engineer design something which has a mean time between failures in the 10,000+ year category. For saftey critical software, thats on the low end. Of course the software may be running on 10,000 different devices simultaneously around the world which makes that number seem much less impressive. When you build a bridge, only one is contructed, not 10,000+.
    40. Re:No less rigourous? by mrchaotica · · Score: 3, Informative

      Software is different, in that small mistakes often have very large and far-reaching consequences.

      Ha! You want to talk about small mistakes? Here's a small mistake: a contractor didn't want to bother threading a few nuts up a really long rod, so he cut the rod into three pieces and attached them to the beams they were supporting separately. No big deal, right? I mean, I wouldn't want to have to spend hours spinning nuts on a rod either!

      Well, guess what: it killed 114 people! So don't go telling me that software is "different" because of small mistakes. Because it really damn well isn't!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    41. Re:No less rigourous? by jedidiah · · Score: 1

      They do not.

      They certainly don't fall down at the same frequency that software falls over.

      Just compare both in your own city or neighborhood.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    42. Re:No less rigourous? by Dersaidin · · Score: 1

      Indeed, fatal errors aren't much of a problem for software engineers.

    43. Re:No less rigourous? by Maxo-Texas · · Score: 1

      Oh? Your bridge has fallen down.. oh that just happens some time.

      And people die (unlike when your computer goes down) so they spend a lot of money trying to prevent those kind of failures.

      Bridges... elevated platforms in buildings... lots of things fail all the time. They are often the manifestation of a bug (mis-designed strut or brace most often). That bridge up north that went down was called a "faulty design".... i.e. a bug.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    44. Re:No less rigourous? by Anonymous Coward · · Score: 0

      Although a lot of software has been, and is being, written which absolutely does not meet the standards that most engineers would consider "minimal", that doesn't mean that software is not an engineering field. Frankly, there was a time (and not so long ago) when buildings, bridges, sewers, and cities were not rigorously planned. Software is simply in a very early phase, so the patterns and standards are "years" or "decades" old instead of "centuries". The field of software engineering has advanced very quickly, though, thanks to lessons from the disciplines of traditional engineering. In fifty years, I would be surprised if "cowboy coders" were anything more than hobbyists. Failing to recognize the inevitability of software's future may catch a lot of the old guard off guard.

    45. Re:No less rigourous? by the1rob · · Score: 1

      Having been in ICU, and on life support, you got my thanks!

      ...now stop reading Slashdot, and pay attention to your code.=)

    46. Re:No less rigourous? by jmorris42 · · Score: 1

      > For example, do you see that happen with Microsoft?

      Yes Microsoft is the poster child for malpractice in software but the problem goes far beyond them.

      Open Source has almost as bad a record, even if we are a lot more open about it instead of covering up our mistakes. Go look through the bug tracker of any major project and you will see countless instances where critical security bugs get fixed in code that has been shipping for years. Obviously there isn't enough importance on getting code correct vs getting features in.

      I have long called for calling a one year stop to adding new code (other than new device drivers in kernels) and devoting that time to clearing some of the backlog in bugfixing, auditing and hardening the existing codebases. So many key components have been at 1.0 for years and years. Odds are any pre 1.0 codebase hasn't matured enough for a major audit so are accidents waiting to happen.

      At a minimum companies like RH and Novell that sell open source based products need to make it clear which packages are at what level of confidence. I'd suggest a new rpm package tag and a yum/up2date/etc option to require express permission to install a package below a set threshold of safety.

      Safety: Value

      Where Value would have these choices:

      0-Obviously poor design throughout, unsafe at any connect speed. Or poor update policies.
      1-Totally unaudited, use at your own risk. (Most packages)
      2-No formal auditing, but generally good security practices and/or prompt fixes. (example: Firefox/Iceweasel)
      3-Audited code or exceptional design (example: qmail)
      4-Through security audit, full SELinux support. No updates accepted without reaudit.
      5-Design and implementation validated top to bottom by real certified engineers, fully warranted against defects for paying customers. No updates accepted without detailed re-validation.

      coreutils, glibc and httpd should be striving for level 5 and everything else in a basic server install should be shooting for level 4 within a couple of years. The idea is that it should be possible to run a file/print/web server on 100% audited code with a longer term goal of full warranty against defects on everything above the kernel. Granted you woudn't get crapware like php up to those levels without paying for a fresh rewrite, and the kernel just changes to darned fast to get fully audited, but a fully secured base would be one hell of an advertising win. It would totally turn the argument upside down.

      --
      Democrat delenda est
    47. Re:No less rigourous? by Maxo-Texas · · Score: 1

      Sorry but you don't get those levels of accountability when you buy a $105 product (which is what system builders Vista OEM sells for now at Fry's).

      If you want completely verified software- in some cases it is possible (in some cases it is provably impossible)- in either case the effort of verifying it that completely raises the cost by at least 1000%.

      If you want to pay $100,000 for a certified PC with fully tested video drivers, operating system, hardware, etc. you go right ahead. I'll buy one for $400 and accept that it is going to crash now and then.

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    48. Re:No less rigourous? by Anonymous Coward · · Score: 0

      There were also engineers that explained and complained that the current levees weren't enough to protect the city from a major storm many years before the problem, but nobody cared, til after the problem

    49. Re:No less rigourous? by Maxo-Texas · · Score: 3, Informative

      And another thing-- my company decided that they wanted to go from 99% bug free to 99.999% bug free software rollouts (a bug costing us perhaps $1000 per minute of downtime).

      The result is that our software takes a minimum of 8 to 12 times longer to roll out than it did before. It is now so slow that our developers are starting to lose their skill set because there is so much downtime.

      Where before we could roll it out-- suffer the "$30k" loss, fix the bug (which takes weeks of testing but only a few minutes in production to flush out), and put in a fixed build in a total of 2x the time.

      And the real kicker is that we STILL get bugs in production after all that testing because the best test site in the world doesn't simulate 70,000 users hammering on the software. (and the company doesn't begin to pay for the "best" test site anyway).

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    50. Re:No less rigourous? by ebh · · Score: 2, Interesting

      Are you then liable for life for any bugs that may turn up in anything you ever put your name on?

    51. Re:No less rigourous? by Beardo+the+Bearded · · Score: 1

      That's up to your Professional body or Association. In your case, I suppose I'd call you "plague3106". You professional title is whatever your local body lets you nail to the wall.

      In Canada, each province has an Act (for example, the Engineers and Geoscientists Act) which spells out the requirements for calling yourself and Engineer and what services you can provide. Penalties for violation are spelled out in the Act. In BC, the penalties range from a warning to suspension to a $25,000 fine. (That's about $26000 USD.)

      My point was to say that you CAN be an SE in Canada and that the article is incorrect. You just have to actually be an Engineer.

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    52. Re:No less rigourous? by fat4eyes · · Score: 1

      Yes, but we are constantly expected to turn houses into cathedrals without disrupting the people living in the house, to do it in less time it took to build the house and to have the option to make the cathedral even larger. And we do it, if imperfectly. I dare structural engineers to do this, especially when even the very materials we work with (libraries, operating systems) change in the blink of an eye. Try building a bridge when the very riverbed changes from sand to clay to rock while you are building it, while even the steel you use (even that you already have in place) changes its very properties. Not to mention that people want you to completely change the way the bridge was built when it is 90% complete. That is what we software engineers have to deal with. And I think we manage well enough.

    53. Re:No less rigourous? by Anonymous Coward · · Score: 1, Insightful

      I am an Canadian Engineer, with a P.Eng. even.
      Yes, you can be a Software Engineer with the proper degree.
      I've been mostly doing hardware, but now find myself in a software heavy role and I can tell you NO, it is NOT as rigourous as most other engineering professions. It should be, but it isn't. Mostly because of what the States calls "software engineers" are really just programmers.
      It's not the same.

    54. Re:No less rigourous? by Surt · · Score: 1

      I live in NO, where we have a much higher rate of wall failure than software failure.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    55. Re:No less rigourous? by plague3106 · · Score: 1

      I guess the US government doesn't spell it out exactly. The Labor board puts it as a subcategory of computer specialist. I, however, can call myself a Software Engineer, and do to those that ask what I do (although technically my degree was in Computer Science). But my title has typically vaired with my employer, its whatever they deem the position to be. Currently, I don't really have a defined title.

    56. Re:No less rigourous? by Anonymous Coward · · Score: 0

      You can thank the software engineers that wrote the fuel injector firmware for the turboprop on your plane for properly engineering it to always work. Really? The firmware spec'd out just a few of the more 'engineeing' related aspects of the fuel injector:

      -Injector Geometry(-ies)
      -Mass and Material Transfer Analysis
      -Material Composition(s)
      -Lifecycle Analysis including MTBF

      I could go on, but I guess my point is the firmware didn't dictate all that - the Aero, Mechanical, Chemical and possibly Electrical Engineers did in their design. The programmer received a spec sheet, and was consulted on the firmware computational and physical requirements, which were then built back into the design.

      I don't mean to sound negative, but I spent 4 years in undergrad, worked 12 years now as a Chemical Engineer while obtaining my PE and PhD for a very well-known Chemical Engineering software simulation company (where faults carry significant risk to human health on many scales) - I have seen numerous so-called Software Engineers who do little to advance their nominative notions.

      At first, we looked where we had gone wrong - did our models not convey all the necessary information? We added more documentation and began sending our programming staff to school, we added plant visits, and we added outside consultants to review our practices. We then asked was it our hiring process, our compensation package, our recruitment locations? We addressed all those areas, based our initial candidates off faculty recommendations from very established, highly recognized CS programs.

      Disappointment continued to abound.

      We, as a team and as a company, have had a far greater track record hiring actual graduate engineers, spending 6 months teaching them the considerable idiosyncrasies of C, ADA and AIX in-house then we ever did when we hired CS graduates and presented standardized IDEFx models for implementation, to the point while we will consider anyone aptly qualified for the position, it has become standard practice to recruit the best and the brightest from the traditional Engineering and Applied Mathematics. The differences are profound, which I attribute as much to the undergrad curricula as I do to tenancy towards self-selection of those with a CS degree.

      Your mileage may vary, and this isn't intended with any disrespect towards the majority of the slashdot crowd; these are only my observations and experiences.
    57. Re:No less rigourous? by Smidge204 · · Score: 1

      Engineering licenses are the State's responsibility. Legally speaking, you can not provide services as a "Professional Engineer" without a state specific license (Some states will accept valid out-of-state licenses though, I think, at least for some purposes.)

      I'm not aware of any Software Engineering licenses, and I'm inclined to say calling yourself a "Software Engineer" carries a certain connotation that it doesn't really deserve. You can certainly have a degree in software engineering, of course, but not everyone who gets a degree in electrical engineering is entitled to call themselves an Engineer.

      While it would be pompous to say there's no "engineering" in Software Engineering, I feel it's equally pompous to call yourself a engineer professionally unless you hold both personal and legal liability for the quality of your work. If your code screws up and you, personally, don't end up in court...
      =Smidge=

    58. Re:No less rigourous? by period3 · · Score: 1

      It's actually pretty difficult. I did a BASc in computer engineering from U of T, but even so it's difficult to become certified - mostly because of the "experience requirement". They require that you work for some period of time under someone else who is certified - but, in the software field, most people are not certified engineers. Satisfying this experience requirement requires one to be quite picky about the development jobs they will accept.

    59. Re:No less rigourous? by nonsequitor · · Score: 1

      You absolutely right, and absolutely wrong at the same time. Congrats!

      Yes, the quality of CS majors varies greatly. Most are not what I would consider software engineers. I was not a CS Major. The computer science program at my university was developed by the college of engineering, which is why my degree says Applied Sciences, rather than Computer Science.

      However, you are completely wrong about not needing Software Engineers for engineering projects. Will your retrained Mechanical Engineer be able to calculate your worst-case CPU load to make sure that no matter what, you always meet the critical deadlines? What about profiling for performance enhancements? How about writing code which is maintainable by other engineers? Most EEs write a mess of unreadable spaghetti code and call it a day. Sure, it works, but god forbid you ever have to modify it.

      Software Engineers are a critical piece to any engineering company. You may be able to get by for a while without them, but once your code base exceeds a certain size, things like version control, bug tracking, requirements, design, and testing separate the Engineers who moonlight writing software from the Software Engineers.

    60. Re:No less rigourous? by Beardo+the+Bearded · · Score: 1

      Not yet.

      I'm an EIT in my last year of EIT time. Once I get my P.Eng. designation, then yes, I would be liable for errors that I make. (I'm Electrical, not Software)

      I have written code that is being used right now in life-critical situations. If it fails, there's a good chance that someone would die. The code and electronics that I'm working on right now (a different project) could cause injury or death if they fail.

      You don't have to write bug-free code. You just have to do your very best, work to the accepted standards, and make sure your work is checked over by other people. (That's an oversimplification, but it suffices for the /. crowd.) If your work happens to fall through all those cracks, then that's what liability insurance is for.

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    61. Re:No less rigourous? by Anonymous Coward · · Score: 0

      In Canada, the title Engineer is protected (trademarked I think) by the Canadian Council of Professional Engineers (or whatever it's now called). The personal liability is a different issue.

      In the US, things differ from state to state, but some of state courts appear to have decided that even though anyone can call themselves an engineer, doing so gives you personal liability for any damages project delays due to your errors. (Which is a nice thing to point out to an IBM "sales engineer".)

    62. Re:No less rigourous? by kelnos · · Score: 1

      although the discipline is no less rigorous than any other kind of engineering Oh? Your wall has fallen down? That just seems to happens sometimes. Well, just push it up, go outside your house and come back in. Hopefully it won't happen again. Yeah, no kidding. As a software developer with electrical engineering training, I can say software development is much, much less rigorous than other forms of engineering. Hell, most software I see explicitly avoids accepting any kind of liability for use of the software. A "real" engineering profession shouldn't allow that. But, of course, standards have fallen... I know several people who have "engineer" in their title who are really just glorified project managers.
      --
      Xfce: Lighter than some, heavier than others. Just right.
    63. Re:No less rigourous? by WebCowboy · · Score: 1

      A damned 'Engineer' in all the title's glory developed my car, and yet half the time a warning light comes on,

      Hey, don't blame us, it was the damned software "engineer" who programmed the firmware who came up with how that idiot light worked. Leave it to a software guy to come up with the brilliant idea of illuminating a "check ENGINE" light when the GAS CAP isn't properly tightened ;-)

      Many millions of dollars later in court, it was verified that the Engineer f'ed up the plans and the construction crews were not at fault.

      Doctors eff up too. Sometimes brain surgeons carve out the wrong bit of grey matter, and sometimes they prescribe conflicting medications, etc etc. That doesn't mean the practice of medicine is any less "rigourous". Same goes with engineering. You say "many millions of dollars later in court"...well that means the engineer was taken to task for his malpractice. Contrast that with programming: there has been more than one error in DCOM in the Windows OS that I know for a fact has been directly involved in the cause of many thousands, if not millions, of dollars worth of downtime. Can they sue the programmer at MSFT that wrote the code that failed to perform to the specs as Microsoft published them? Nope--look at the EULA. Can't sue MSFT, and can't sue the programmer. Probably can't even figure out which programmer to take to task.

      So care to tell me about the 'rigours' of this so called Engineer?

      The ones who pay for the mistakes are the end users, who often demand compensation from the engineers who used automation software that depended on the flawed DCOM code. Then, engineers have to get the programmers to acknowledge their responsibility. Pulling impacted molars is easier than that sometimes.

      The 'rigours' of engineering ultimately boil down to that. When a screwup engineer messes up your road, well, someone ultimately sues, a "professional practice" review board will then review the case and has the power not only to make sure you are fired from your present employer, but that you can't design roads for any other employer either. There really isn't that equivalent for Software really established yet. In Canada there is CIPS, but there isn't legislation mandating membership and professional oversight by CIPS for IT professionals--you can go to "MCSE boot camp" and then call yourself a professional IT person. The provinces mandate that to practice engineering you have to belong to the provincial association affiliated with CCPE, and to be a professional member you have to get a degree from an accredited institution, take professional practice exams and log a minimum number of "professional development" hours.

      I'm not saying that there is not such thing as "software engineering" or that software development isn't any more "rigourous" than, say, designing a building or automation systems or an automobile's drivetrain. I'm just saying that the regulatory infrastructure is not fully established yet, and indeed it is very important to recognise that software engineering really can be engineering and should be accorded that respect. The CCPE takes the title of "P. Eng." as seriously as medical associations take the title "MD". They don't want people who went out and studied for MCSE certification for a few days or weeks to present themselves as being capable of taking on the responsibilities of an REAL engineer whose conduct can have serious consequences.

    64. Re:No less rigourous? by Chris_Jefferson · · Score: 1

      Sorry, you are right, there are programmers who really do work in safety critical software.

      That is certainly not what 99.9% of the people who call themselves 'Software engineers' do however.

      --
      Combination - fun iPhone puzzling
    65. Re:No less rigourous? by Chris_Jefferson · · Score: 1

      You can't compare the two.

      As you say, when a bridge falls down, that's major news. When a windows application, or windows crashes, that's life.

      --
      Combination - fun iPhone puzzling
    66. Re:No less rigourous? by DeadDecoy · · Score: 1

      You must be a hardware engineer.

    67. Re:No less rigourous? by easter1916 · · Score: 1

      Oh Beardo, how I love that you slipped in your little currency jab... the Loonie is having it's day.

    68. Re:No less rigourous? by thegrassyknowl · · Score: 1

      "Because we do our jobs well, you don't hear about the latest scandal on Slashdot."

      And because we do our jobs well we get paid handsomly and nobody ever "sees" our handiwork. The boss doesn't understand what we do. I spend a good 50% of my time analysing and designing the system. At least 20% is testing so that doesn't leave a whole lot for actual coding. Usually the PHB doesn't get software and wants to see the blinkenlights as quickly as possible in the dev cycle (with the associated hacks and crap that comes with that).

      Part of being good at what I do is resisting change for the sake of change. Safety critical systems are best example of this, but any reliable piece of software can be shown as an example. Changes introduce modifications to a well designed piece of software. Often the PHB wants wholesale changes for the sake of adding more useless features and tick boxes to the marketing brochure.

      The other part of being a good software engineer is budgeting a sensible amount of time instead of the 10 minute hack that the boss wants to hear. You need to be able to allow ample time for analysis, design and testing; not just hacking.

      I was interviewing some "software engineers" recently. Many claimed to be senior level with tonnes of experience. Either I am REALLY the best at what I do (not likely) or they were really dumb.

      There's a lot of people out there couldn't write a program to add two amounts of currency (dollars and cents) and guarantee an accurate result. These people (at least where I come from) call themselves software engineers when really they're two-bit (IQ?) hackers.

      --
      I drink to make other people interesting!
    69. Re:No less rigourous? by Maxo-Texas · · Score: 1

      But despite the lofty engineering claims of perfection- it still happens even tho people die.

      So why bust software engineer's asses for producing buggy $300 products?

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    70. Re:No less rigourous? by Com2Kid · · Score: 1

      But software is different, for some reason.


      Versus the piece of crap plastic junk designed by some "Product Engineer" and verified by a "Plastics Manufacturing Engineer" that doesn't even work the first time it is taken out of the box?

      If you want software that has verifiable reliability (and the hardware to run it on), there are companies that will sell it to you. You will pay through the nose for it, and as IBM found out quite some time ago, the market for such hardware and software can shrink quite rapidly when compared against "good enough" kit that costs a small fraction of the price.
    71. Re:No less rigourous? by Beardo+the+Bearded · · Score: 1

      Well, I HAD to, or else I'd get replies of "What's that in real money?".

      It's close to par, but the extra cash is to compensate for the cost of conversion.

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    72. Re:No less rigourous? by rjstanford · · Score: 1
      Also (from the wiki article, but very relevant here):

      The Missouri Board of Architects, Professional Engineers, and Land Surveyors convicted the engineers employed by Jack D. Gillum and Associates who had signed off on the final drawings of gross negligence, misconduct, and unprofessional conduct in the practice of engineering; they all lost their engineering licenses in the states of Missouri and Texas and their membership to ASCE. While Jack D. Gillum and Associates itself was cleared of criminal negligence, it was stripped of its license to be an engineering firm.
      Unstated, the liklihood of those engineers in question getting licensed anywhere is pretty much zero. With software "engineers," you never have your personal livelihood on the line. That's the difference.
      --
      You're special forces then? That's great! I just love your olympics!
    73. Re:No less rigourous? by Anonymous Coward · · Score: 2, Interesting

      This argument gets really old folks. For those of us that took Engineering 101 what were we taught engineering is? Answer: "the application of mathematics and science to produce useful artifacts"

      So applying the basic concept of what engineering is there is no reason why some software developers shouldn't be called software engineers.

      As for the PE argument, sure one should not call them self a Professional Engineer if they are have not past a standardized, peer reviewed, process. And in many states electrical engineers, civil engineers, and mechanical engineers can be called an engineer just not a Professional Engineer. I would be 99.9% of the EE's at Intel are NOT PEs yet they call themselves engineers.

      Only certain areas where safety and public interest are important are PEs required by law. Intel, AMD, TI, Dell, Apple, GE, etc, etc are not required by law to have PEs working on their consumer technology. But PEs are required for civil, structural, and aviation do to safety concerns.

      Today even the IEEE and ABET recognize software engineering as an engineering discipline. ABET has even started accrediting computer science programs and this was done in agreement with the IEEE. At least two states in the US have a SWE PE.

      While we are on rigor, I have a cousin that is a civil engineer with a PE. These guys are always looking things up in tables or running them through software. They rarely if ever think about calculations. He even admits its the least rigorous field of engineering. The technology is quite slow to change too. They hardly ever "invent" something new. They just apply fundamental rules of thumb and a minor bit of first term physics.

      From what I have seen only one group of engineers complain about software engineering. That being EEs. Civil engineers and mechanical engineers seem to be very open to it. All I can figure is that EEs must want to claim software as their domain also.

      Now we come to the question of what in the world of software development should be considered software engineering and what shouldn't be. Well I think the IEEE and ABET have a good start on this. I think a pragmatic way of looking at this is asking what is the difference between electricians, lab techs, electrical engineers, and PE EEs. Similar distinctions can be made in the software industry.

      For what it is worth I have one degree from a school of engineering and another from a school of science. I have seen both sides of the coin...something that it seems few others can say. I believe that the profession of software engineering is just as viable as any other engineering profession.

    74. Re:No less rigourous? by joggle · · Score: 1

      I have a 1990 Saab that often shows a check engine warning light. It has been doing this for at least 8 years and probably longer. I was told by the local Saab repair shop that this is a common problem for this model. False positives can be almost as harmful as unreported problems since, like the boy crying wolf, the warning eventually gets ignored.

    75. Re:No less rigourous? by Anonymous Coward · · Score: 0

      I respectfully disagree. Parnas succeeded in becoming called a Professional Engineer, in that he has the PEO's permission to use that term. I would suggest, however, that until he is willing to put his name to a rather large project of work that matches in complexity what a house or a bridge would entail, that he has not succeeded in becoming a Professional Engineer.

      Personally, I don't believe anyone will be able to sign off on a software project and not get successfully sued when the software crashes for quite a while yet...

    76. Re:No less rigourous? by jbengt · · Score: 1

      I agree with what you say, but I want to clarify a couple of points.
      You talk about liability of building contractors and architects, and also about liability of car manufacturers. Those are three different things (in the USA, anyway).
      Product liability is absolute. It doesn't matter if you run into an unforeseeable problem, you are still liable for it.
      Architects, and consulting engineers like the one I work for as an HVAC engineer and project manager, are held to a standard of reasonable professional care, that is, what would a typical, careful, professional have done. That leaves alot more room for forgiveable error, which is reasonable, since, for example, it is not possible to make a prototype and test it like a manufacturer can do with a mass-produced article.
      I am not sure about all the liabilities of a construction contractor, but it includes the responsibility for safety on the jobsite, methods and sequences, which are not usually part of the architect's liabilities (if they are, the architect's liability insurer will have a harsh word with the architect about their specs). IANAL, so if it's important, consult a lawyer in your particular jurisdiction.

    77. Re:No less rigourous? by wellingj · · Score: 1

      I work on this product line.
      So if I don't make safe, reliable, and most of all easy to maintain code, Tractors drive through houses and you don't get your high-fructose-corn-syrup-filled beverages. So yes, I would say I earn the title of engineer as much as any ME or EE even though I graduated a CS. That's not to say it isn't fun.

    78. Re:No less rigourous? by Ironpoint · · Score: 1


      You have to be a moron to accept this sort of personal liability at an engineer's salary.

    79. Re:No less rigourous? by Anonymous Coward · · Score: 0

      Well no matter what people may think the reality is that Software Engineering has been recognized as Real Engineering and it is moving forward. ABET (Accreditation Board for Engineering and Technology) and the IEEE both recognize it. Texas has a SWE PE program and other states are considering or developing their own SWE PE.

      From the ABET web site (abet.org/history.shtml): "In response to the anticipated boom in computer science education, ABET helped establish the Computing Sciences Accreditation Board (now CSAB) in 1985. CSAB is now one of ABET's largest member societies with more than 250 accredited programs."

      From CSAB's web site (www.csab.org): "CSAB serves as a participating body of ABET with two members on the ABET Board of Directors. CSAB is the lead society within ABET for accreditation of programs in computer science, information systems, software engineering and information technology, and is a cooperating society for accreditation of computer engineering." "CSAB is governed by its Board of Directors whose members are appointed by the member societies. The current member societies of CSAB are the three largest technical, educational, and scientific societies in the computer and computer-related fields. The member societies are the Association for Computing Machinery, Inc. (ACM), the Institute of Electrical and Electronics Engineers, Inc. -- Computer Society (IEEE-CS), and the Association for Information Systems (AIS)."

      The IEEE/CS has compiled a "Software Engineering Body of Knowledge".

      You can put your head in the sand, but sooner or later Software Engineering will be regulated.

    80. Re:No less rigourous? by ScrewMaster · · Score: 1

      That's just not true. Developers have gotten in deep shit over serious bugs ... when people have died you better believe the lawyers will go after anyone and everyone. However, you're right that in most cases that doesn't happen and I'll tell you why.

      See, most of the time the software developer is not where the responsibility lies. Nobody is perfect, everyone makes mistakes, and it is management's responsibility to make sure that the organization is capable of spotting such errors and correcting them. You know ... management: the guys in the corner offices that make three times the pay of the people who work for them. Also, in the case of a building or other major physical structure, there's no real way to test it until you've built it, which is why mechanical engineering tends to be so conservative. With software, that's just not the case. Software can be tested, before a customer ever sees it, can be tested continually while it is under development. If it's not tested, or not tested well enough, that is not the developer's responsibility. It is management's for not devoting sufficient resources to quality control.

      Sure, you can point to specific areas where a program can't be fully tested until it's actually used (the Space Shuttle control systems come to mind) but in no case is a single developer or engineer solely responsible for a problem. There are layers of checks and balances that code (and its architecture) must go through before it ever gets near a Shuttle computer. That's also true in major engineering tasks of any kind, whether we're talking a bridge, a skyscraper or a passenger jet. If you can point to a decision made by a single engineer and lay all the blame at his feet, it means the organization itself was deficient.

      --
      The higher the technology, the sharper that two-edged sword.
    81. Re:No less rigourous? by mrchaotica · · Score: 1

      See, most of the time the software developer is not where the responsibility lies. Nobody is perfect, everyone makes mistakes, and it is management's responsibility to make sure that the organization is capable of spotting such errors and correcting them. You know ... management: the guys in the corner offices that make three times the pay of the people who work for them.

      In engineering, this "manager" is called the "Engineer of Record," and he's the P.E. who signs off on all the plans. This is the way things should be done in software, too: with a lead developer in charge, not an MBA. Now, the lead developer doesn't have to necessarily be a "software engineer" or have a license unless it's something like your Space Shuttle control systems example. But there's no case where a non-programmer should be responsible for the quality of the software.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    82. Re:No less rigourous? by Quino · · Score: 1

      I think you highlight the difference; neither one of your examples is considered acceptable. There's something wrong with your car, and you should be able to get it fixed -- we have lemon laws so there are legal limits to hiding behind "that's just the way it is" from the car manufacturer. What's more, there's regulation and testing for car safety, emissions, etc. You will be legally and financially penalized for selling a death trap and/or a lemon that breaks down all the time.

      Your civil example too -- that's not considered acceptable. A licensed professional engineer (likely several) literally put their signature on the plans and took responsibility for the engineering work. Their registration number is printed on the plan set. The public can do searches on licenses held by professional engineers. Your license (and your ability to do civil or civil-related engineering work) can be revoked for negligence, corruption, incompetence, etc. "That's just the way it is" is not acceptable when you build a road and something is wrong. If there was a boneheaded mistake / corruption /etc. in the example you cite, then there was an investigation and someone or many lost their license and can no longer practice engineering.

      Those are rigors.

      Of course, there are rigors *because* mistakes/glitches/design flaws/implementation issues can happen when you design cars or roads, and we expect consequences.

    83. Re:No less rigourous? by ScrewMaster · · Score: 1

      But there's no case where a non-programmer should be responsible for the quality of the software.

      I don't know as that's necessarily true. As a software developer myself, I have to say that many (maybe most) top managers aren't programmers or engineers. Rather than having programming ability (which does not, in and of itself, mean anything so far as overall product quality is concerned) I'd say it's more important to have an excellent grasp of the design/development and quality control processes, and understand the care and feeding of engineers. Push upper management to spend money on testing, then push them some more. Watch the engineering staff, be aware of when they're starting to go off the beam, and most of all use them to check and monitor each other so they can't stray too far. In other words, an efficient organization designed around the production of good software.

      In any event, my point is that when it comes to an organizational structure that consistently supports good design (and good designers), and the allocation of resources to ensure that said design is verified, reviewed and double-checked, and then checked again, and also that adequate quality control is applied to the final product ... that, my friend, is the purview of the MBA. Many of them, I might add, do a piss poor job of it. That's because quality costs lots of money, and there are many things upon which money can be spent which have nothing to do with product quality. Like that MBA's salary, for example.

      Sure, you can have a senior engineer whose reputation is on the line, who goes down in flames when something goes wrong. However, if the organization backing him up is lacking, a string of disasters is in the making no matter how good he is at his job. The truth is, engineers rarely have the authority to determine how such things are set up ... management decides that.

      Then, when they screw up royally and get some people killed, guess who gets the blame ... yeah, that's right. The engineer, who was probably doing his best to work with whatever crumbs they gave him. Seems like you hardly ever see the MBAs going to jail, or losing their certifications, when it's usually their fault.

      --
      The higher the technology, the sharper that two-edged sword.
    84. Re:No less rigourous? by germansausage · · Score: 1

      I am a professional engineer in Canada, so I can call myself an "Engineer". I also write code that could kill somebody if it fails unsafely(*). My degree is in Electrical Engineering, so even though I write life-critical software, and I am for damn sure responsible and liable for it, I can't actually call myself a "Software Engineer".

      (*)The software I write is actually not in the form of Von-Neuman type software with if-then-else, loops and branches and algorithms. I write equations for a state machine. This makes it _possible_ (but not easy) to rigorously test for all failure modes. As has been pointed out here many times, it is likely _not_possible_ to write non-trivial software in the usual way without bugs.

    85. Re:No less rigourous? by Anonymous Coward · · Score: 0

      Oh? Your Therac-25 killed some people? Is it plugged in? Is it turned on? Okay, cycle the power and hopefully it won't happen again.

    86. Re:No less rigourous? by Zspdude · · Score: 1

      For the first four years after graduation, you can call yourself an Engineer In Training. After that, you can get your seal and stamp as a Professional Software Engineer. I'm sure you're just trying to save text, but this a serious oversimplification. In Alberta, at least, there are quite well defined criteria for exactly what kind of experience will be credited to you when you apply for status as a Professional Engineer (P. Engg. in Canada). Not having the official guidelines directly in front of me, I will only say that one requirement is that you must work under the direct supervision of a P. Engg. Certain kinds of work aren't accepted as engineering experience.

      Programming is one of them.
      --
      What's in a Sig?
    87. Re:No less rigourous? by chris_sawtell · · Score: 1

      Because we do our jobs well, you don't hear about the latest scandal on Slashdot.
      That's true. The typical /. reader is totally above grovelling around in the gutter to read that kind of scandalous, grubby journalism.

      To get the whole nine yards about the effects computerised ninnies have on the rest of us you have to go to:- http://catless.ncl.ac.uk/risks which is a very interesting and sadly illuminating read.

    88. Re:No less rigourous? by Seismologist · · Score: 1

      Engineers have accountability, "software engineers" do not... Look at MS for example... don't see em' court for fucking up the Airports terminal display...

      --
      ~ In Trust, We Trust ~
    89. Re:No less rigourous? by Stoned_Rain · · Score: 1

      If you're going to mention Dr. Parnas (The father of Software Engineering), you could at least have the decency to mention McMaster as a university that offers a Software Engineering degree. He did after all work there for quite some time and founded the discipline there.

      - A McMaster SE.

    90. Re:No less rigourous? by Anonymous Coward · · Score: 0

      and chances are, the people who wrote those things had actual software engineering degrees.

    91. Re:No less rigourous? by Kamineko · · Score: 1

      How many software engineers do you know who own planes?

    92. Re:No less rigourous? by driftingwalrus · · Score: 1

      Mistakes do happen, and it is precisely because of these mistakes that engineering is as regulated as it is. When engineers make mistakes, people die.

      --
      Paul Anderson
      "I drank WHAT?!" -- Socrates
    93. Re:No less rigourous? by Anonymous Coward · · Score: 0

      The closest one would get at Toronto is Computer Engineering. Computer Science is separate from, and less rigorous than the engineering faculty. Nothing stopping you from taking traditional compsci (although it needs to be sponsored for credit since it's in a different faculty) but the engineering aspect is associated with hardware rather than software methods.

    94. Re:No less rigourous? by mindstrm · · Score: 1

      Show me a place where a software engineer is legally responsible for their work?

    95. Re:No less rigourous? by Shotgun · · Score: 1

      But software is different, for some reason. For example, do you see that happen with engineers that work for Microsoft? Hell no! If Microsoft's engineers were held accountable for its software like Engineers are, the company would have been sued into oblivion and engineers that work for Bill Gates would be in jail for gross negligence. And so would the responsible parties of every other software company.

      There, fixed that for you. It is a subtle distinction, but a clear one. A PE is responsible, not the company he works for. HIS (or her) name is on the drawings/report/design spec/etc. That will make a major difference in what a person is willing to toss over the wall on the eve of a marketing set deadline.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    96. Re:No less rigourous? by yabos · · Score: 1

      Yep, I'm in software engineering right now and I'll be getting my Bachelor's of Engineering Science at the end of April 2008. You are still a software engineer, you just can't say you're a professional engineer without getting your P.Eng by writing the test and passing all the requirements.

    97. Re:No less rigourous? by Smidge204 · · Score: 1

      Show me a place where a software engineer is legally responsible for their work? That's kind of what I was getting at...

      Perhaps there are some niche areas involving life-safety adn critical systems this would apply to: Medical devices, passenger aircraft, etc. that use software that needs to be certified six ways from Sunday, but even then I don't know if the programmer as an individual is held liable for that software's performance.

      A typical Professional Engineer can't hide behind a company. In that sense, I don't think it's entirely acceptable for someone to sell themselves as a "Software Engineer."
      =Smidge=
    98. Re:No less rigourous? by plague3106 · · Score: 1

      I'm not aware of any Software Engineering licenses, and I'm inclined to say calling yourself a "Software Engineer" carries a certain connotation that it doesn't really deserve.

      And would you believe the same of someone that DOES have a degree in Software Engineering? What about employers that post positions as Software Engineer? If there's no license, and both employee and employer are using the term to describe what they want, what is the problem?

      While it would be pompous to say there's no "engineering" in Software Engineering, I feel it's equally pompous to call yourself a engineer professionally unless you hold both personal and legal liability for the quality of your work. If your code screws up and you, personally, don't end up in court...

      I'm not aware of any EE's (say, building computer chips) that end up personally in court and held liable. I'm not aware of anyone even being sued for a faulty chip design... the F00F Intel bug comes to mind...

      So... where are you getting your POV?

    99. Re:No less rigourous? by Kelsen · · Score: 1

      Excellent post, but I beg to differ. An Engineer is a guy with a blue hat with white lines on it... and a train. Everyone else is something other than an engineer.

      RFT!!!
      Dave Kelsen
      --
      Great minds drink alike.

    100. Re:No less rigourous? by easter1916 · · Score: 1

      I hear you... bad news for Canadian exports to the US, but is a much more accurate reflection of the "true" strength of the Canadian economy. Back when the pound Sterling blew out of ERM (Exchange Rate Mechanism, a way of converging currencies and having them float within a narrow band relative to one another, a precursor to the introduction of the euro), around 1992 or 1993 I think, the Irish pound was briefly the highest valued single currency unit in the world. We celebrated until we realized what it would do to our export-driven economy! ;-)

    101. Re:No less rigourous? by Beardo+the+Bearded · · Score: 1

      Yes, I greatly over-simplified for the /. crowd.

      However, 3/4 of my EIT time is programming embedded C, and that's been counting towards my P.Eng. certification. I've been using the online reporting system, so I get feedback as I progress, and I know for sure that it's been counting. I'm not sure where you heard that programming isn't acceptable experience, but I'd like to find out.

      Also, there is no P.Eng. here - my work is being supervised by a contracting company (and they DO have a P.Eng.), and this time will still count towards my P.Eng certification.

      I know that I'm not interpreting incorrectly, as I've talked to APEG-BC directly to confirm that I'm obeying the law.

      Maybe it's a BC / AB thing.

      --

      ---
      ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
    102. Re:No less rigourous? by OrangeTide · · Score: 1

      As a software developer in the US I tend to agree. The term Engineer gets bandied about until is meaningless. I prefer terms that are more appropriate with the role programmers have with their technology. Computer Scientist, Software Developer, Systems Programmer, Software Technician, etc.

      I am good at what I do. but I have no formal training, it has all been either from my hobby of hacking bits or (mostly) from my programming jobs. I usually end up with the title "software engineer" but I prefer "embedded developer", "appliance developer" or "software developer". My role is far more like that of a technician in other fields (my dad is a medical technician, intelligent and well educated guy. But he's not a doctor or engineer)

      Some of the big places just hand out titles like: "Sr.MTS3", which would be "Senior Member of Technical Staff #3." I've had plenty of ambiguous titles like that before.

      --
      “Common sense is not so common.” — Voltaire
    103. Re:No less rigourous? by mdwh2 · · Score: 1

      To be fair, I think we hold software to a higher standard. Yes, computers crash, but then cars don't start and equipment breaks down. And even structures like walls do need maintenance sometimes, and so roads and places get closed for repair work (and it seems like the railways have "engineering works" all the time!)

      If a computer crashes, it's detected that something's gone wrong, and shuts down safely. People don't die. People could die if you were depending on the computer in some life critical way, but then people could die if you need the car to get you to a hospital, or the road on the way there is closed for repairs.

      Imagine if everytime your computer crashed or there was a bug, someone had to be sent round to physically fix it? I think in some ways, software does better in trying to cope with every situation without intervention - but that seems to raise people's expectations to a higher standard.

    104. Re:No less rigourous? by geekoid · · Score: 1

      The fact that an engineer did not follow the rigors of his trade doesn't mean there aren't rigors in the trade.

      Blame that person, not the discipline.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    105. Re:No less rigourous? by Anonymous Coward · · Score: 0

      Dr. Parnas is retired now but he was the head of the Software Engineering program at McMaster University for many years. Many of the software engineering professors there are his colleagues and friends and they are all Professional Engineers.

      Before the Software program was certified as an engineering discipline on its own, you would be given a Bachelors of Computer Engineering with a Software specialty when you graduated. Real, certified Software Engineers have been graduating from a handful of schools in Canada for several years now.

    106. Re:No less rigourous? by Anonymous Coward · · Score: 0

      Several of the Software Engineering professors at McMaster University (where Dr. Parnas founded a Software Engineering program) were directly involved in the design, implementation and verification of the shutdown system for the Darlington Nuclear Generating station just outside of Toronto. I believe Dr. Parnas was one of them.

      http://portal.acm.org/citation.cfm?id=187123.187126&dl=portal&dl=ACM

    107. Re:No less rigourous? by rjstanford · · Score: 1

      Then, when they screw up royally and get some people killed, guess who gets the blame ... yeah, that's right. The engineer, who was probably doing his best to work with whatever crumbs they gave him. Seems like you hardly ever see the MBAs going to jail, or losing their certifications, when it's usually their fault.

      Actually, not quite. And I'm not a PE, but my wife is, so I get a fair amount of this. At least in Texas (and I believe in the other US states but do not know for sure), pretty much the one thing that you cannot do to a PE is to force him or her to seal something against his judgement. And disciplining a PE for not sealing something that they don't feel is ready is the easiest way to have a wealthy, retired PE on your hands. Does this mean that things have to be perfect before they're sealed? Of course not. But it does mean that the PE seal actually does mean something very substantial.

      Any licensed Engineer who seals drawings just because some MBA ordered them to even if they don't think they're ready (or haven't taken the time to review them) is not fulfilling their professional obligation and are themselves liable for some pretty strict discipline if anyone (contractors, competitors, etc) find serious problems in them down the line - this is actually a remarkably rare case IRL.
      --
      You're special forces then? That's great! I just love your olympics!
    108. Re:No less rigourous? by easter1916 · · Score: 1

      Entertaining myself here, but if that question were to be posed to you today, you should respond "I DID just tell what it is in real money." Hubris will be my downfall.

    109. Re:No less rigourous? by ScrewMaster · · Score: 1

      Any licensed Engineer who seals drawings just because some MBA ordered them to even if they don't think they're ready (or haven't taken the time to review them) is not fulfilling their professional obligation and are themselves liable for some pretty strict discipline if anyone (contractors, competitors, etc) find serious problems in them down the line - this is actually a remarkably rare case IRL.

      Okay, I'll buy that. But systemic issues cannot be ignored either: like I said, as a software developer I have a slightly different perspective.

      --
      The higher the technology, the sharper that two-edged sword.
    110. Re:No less rigourous? by rjstanford · · Score: 1

      Oh, agreed - I'm a software developer myself - but its just another way in which the current software world is not "Engineering" in the legally accepted sense of the term.

      Personally, I'd love the creation of a Software Engineering discipline that is both licensed and held accountable, legally. It wouldn't be mandatory (or even necessary) for many projects, but there are certainly some where it would be beneficial. It would also allow some organizations to advertise "Engineered Software" as a benefit, and charge more for it (note that Engineering firms, whatever the discipline, are also licensed independently from Engineers, and any firm offering or promoting Engineering services is generally (possibly always) required by the State to have posted a fairly significant bond that can be forfeited if they are found liable of a disciplinary breech).

      --
      You're special forces then? That's great! I just love your olympics!
    111. Re:No less rigourous? by mindstrm · · Score: 1

      I guess my point is that the term "Engineer" is not as well defined as many engineers would like it to be.

      Yes, in some situations, certified professional engineers can sign off on things, and be legally responsible..but there are plenty of engineers who are NOT putting an official engineer stamp on their work.. they are doing normal everyday work at a company like many other people.

      To joe average, the term "engineer" does not necessarily mean what you want it to mean... hence the ton of people who call themselves "Engineers".

  5. Yes, you can call yourself an Engineer, if... by Anonymous Coward · · Score: 1, Informative

    In Canada you're allowed to call yourself a Software Engineer if you hold (go figure) a software engineering degree and have met all the professional requirements of being an engineer.

    1. Re:Yes, you can call yourself an Engineer, if... by Fox_1 · · Score: 4, Insightful
      He's right. http://www.softeng.uwaterloo.ca/Current/grad_info.htm

      The inability for random people to call themselves software engineers in Canada is because the Real Engineers objected to the proliferation of people with MCSE's and the the like doing a discredit to the standards of the profession, both in terms of training and work results.

      So go to university for 4 or so years and you'll get the respect you crave. And the nifty IRON ring, much sexier then token ring any day.

      --
      The rock, the vulture, and the chain
    2. Re:Yes, you can call yourself an Engineer, if... by Hatta · · Score: 1

      How do they feel about Computer Scientists?

      --
      Give me Classic Slashdot or give me death!
    3. Re:Yes, you can call yourself an Engineer, if... by Anonymous Coward · · Score: 0

      No particular regulations.

    4. Re:Yes, you can call yourself an Engineer, if... by Tridus · · Score: 1

      Seems to be a fair number of jobs for those, so long as you don't want to call yourself an engineer.

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    5. Re:Yes, you can call yourself an Engineer, if... by tompaulco · · Score: 1

      So go to university for 4 or so years and you'll get the respect you crave.
      I graduated with a degree in Electrical Engineering. My job title can be Software Engineer (though it could be even if I dropped out of High School here in the U.S.). However, I cannot call myself a Professional Engineer even with my degree because I would have to go spend about $5,000 on a certification program, in addition to the $30,000 or so I spent on college.
      Interestingly, even if I did get the Professional Engineer certification, I would still not be entitled to so much as change out a circuit breaker box. That requires an Electrician's license.

      --
      If you are not allowed to question your government then the government has answered your question.
    6. Re:Yes, you can call yourself an Engineer, if... by ceoyoyo · · Score: 1

      Even if you graduate from a software engineering program at university you're still not allowed to call yourself an engineer. You have to get a Professional Engineer certification and join an engineering professional association.

      Computer science has a few outcomes. You can be a code monkey, or more likely a systems analyst or such. Or you can become an actual scientist by going to grad school and going into research.

    7. Re:Yes, you can call yourself an Engineer, if... by blowdart · · Score: 1

      In the UK you can get CEng (Certified Engineer) as part of the certification process through the British Computer Society. I did think about myself, but it's been years since I did anything that mrchaotica rants about above (I wrote software for medical heart monitors as my first job. Scary stuff); so I just applied for CITP instead.

    8. Re:Yes, you can call yourself an Engineer, if... by Hatta · · Score: 1

      Computer science has a few outcomes. You can be a code monkey, or more likely a systems analyst or such. Or you can become an actual scientist by going to grad school and going into research.

      That's kind of what I was getting at. If you call yourself a computer scientist, you ought to be doing real science, original publishable research. Just like a software engineer should be doing real engineering.

      --
      Give me Classic Slashdot or give me death!
    9. Re:Yes, you can call yourself an Engineer, if... by CastrTroy · · Score: 1

      Not only go to university, but also pass a few other exams, and work under another engineer for about 5 years. I graduated from University of Ottawa in Software engineering, so I get to wear the nifty iron ring. Getting experience working under another engineer is currently the hard part. Kind of a chicken and egg problem there. Very hard to find work under another software engineer when there are so few currently.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    10. Re:Yes, you can call yourself an Engineer, if... by p0tat03 · · Score: 1

      Even if you graduate from a software engineering program at university you're still not allowed to call yourself an engineer.

      Incorrect, assuming you're talking about Canada. If you have graduated from a CEAB accredited program you ARE allowed to call yourself an engineer (in the lay sense anyway). You may NOT call yourself a Professional Engineer, that title is reserved for people who have achieved that licensing AFTER graduation.

      IIRC and FYI, you need 3 years of work experience supervised by a licensed P.Eng, be a member of your local provincial engineering association, and then take a test.

      CompSci graduates are definitely not allowed to call themselves engineers, not in this country anyway. It's always weird when I go on internships with American companies - they like throwing the word engineer around, and I always end up having to change my own title (not graduated yet, can't call myself an engineer).

    11. Re:Yes, you can call yourself an Engineer, if... by geminidomino · · Score: 1

      Out of curiosity, what are "all the professional requirements of being an engineer" in canada?

    12. Re:Yes, you can call yourself an Engineer, if... by Syrinx_87 · · Score: 1

      Actually, it's 4 years before you can be called a P.Eng.. I'm currently studying, at a Canadian university, computer engineering and my boyfriend is in software engineering. He will most definitely be able to go for his P.Eng., just like I would, once we've graduated and done our 4 years under a P.Eng..

      --
      GE d- s-: a--- C++>$ UL P L++ E(--) W+++ N o-- K- w O+ M-- V- PS+ PE Y+ PGP- t- 5 X- R+ tv-- b+ DI+ D+ G+ e>++ h!
    13. Re:Yes, you can call yourself an Engineer, if... by Anonymous Coward · · Score: 0

      No, you get to wear a Stainless Steel "Iron Ring". Only graduates of the University of Toronto and York University (Camp 1) get to choose actual iron "Iron Ring"'s.

    14. Re:Yes, you can call yourself an Engineer, if... by p0tat03 · · Score: 1

      I'm glad you have so much optimism. I'm studying Mechatronics Engineering at a Canadian university, though I'm working mostly software jobs. As a CE and SE you will both have a tough time getting your P.Eng license. The software industry has almost NO P.Eng's, being dominated by CS grads, and it's likely you'll be perpetually unable to meet the mentorship requirement.

      Or at the very least you will find yourself passing on perfectly good job offers just to stay in an environment *with* P.Eng's... The price you pay for the certification may be high.

    15. Re:Yes, you can call yourself an Engineer, if... by ceoyoyo · · Score: 1

      I agree. I don't think there's as much of a problem with random people calling themselves scientists though (now inventor....). Computer "scientists" who aren't actually doing science tend to call themselves other things, like systems analyst. They'd love to call themselves software engineers too.

      Getting a degree in engineering doesn't automatically make you an engineer just as getting a degree in science doesn't make you a scientist. There are additional requirements.

    16. Re:Yes, you can call yourself an Engineer, if... by Syrinx_87 · · Score: 1

      Well, I never said that it'd be easy to find work under a P.Eng. right out of university. They tell us that it will be but I think that's more of a generalization across all of the disciplines. I do know that many of the co-op jobs available want EE, CMPE, or SWE and that we're promised that it will count towards the 4 years of experience.

      --
      GE d- s-: a--- C++>$ UL P L++ E(--) W+++ N o-- K- w O+ M-- V- PS+ PE Y+ PGP- t- 5 X- R+ tv-- b+ DI+ D+ G+ e>++ h!
    17. Re:Yes, you can call yourself an Engineer, if... by ceoyoyo · · Score: 1

      Is there not a requirement for an engineering graduate to be working in the field, with at least the possibility of working towards a PEng?

    18. Re:Yes, you can call yourself an Engineer, if... by p0tat03 · · Score: 1

      If you don't mind me asking, which university do you go to? At UW we start our co-op experience early, and a lot of us were optimistic about our P.Eng's until we had about 2-3 jobs, then we realized that working with P.Eng's in a software environment is nigh impossible.

      AFAIK the PEO does not accept any substitutes towards the mentorship requirement. I'm not sure who's promising what and if they're qualified to promise it - but having worked a few software jobs now... Maybe if you were working strictly in embedded software, but anything remotely high level is probably out.

    19. Re:Yes, you can call yourself an Engineer, if... by p0tat03 · · Score: 1

      I'm not sure quite what you mean. There is no requirement of working in the field of your original study. You can be an electrical grad and be working in a mechanical position, and it will still counts towards your PEO mentorship requirement, so long as you're working with a P.Eng, who is keeping a journal for you.

      There is also no time limitation on P.Eng, you can go 10 years doing nothing, then suddenly realize you want to pursue it, and get it.

    20. Re:Yes, you can call yourself an Engineer, if... by Syrinx_87 · · Score: 1

      I'm at UNB. They start to push co-op in second year but it's optional unlike at Waterloo. I'm in my second semester of first year so I haven't looked into it too much but from what they've told us, we'll be working under P.Eng.'s and the work will count towards the 4 years. Keep in mind I'm a computer engineer, my program is almost identical to the electrical engineering program here so that might make things a bit easier. Software probably will be harder to find work under a P.Eng. but, again, it's fairly similar to the computer and electrical programs here but I don't know if that really affects anything.

      --
      GE d- s-: a--- C++>$ UL P L++ E(--) W+++ N o-- K- w O+ M-- V- PS+ PE Y+ PGP- t- 5 X- R+ tv-- b+ DI+ D+ G+ e>++ h!
    21. Re:Yes, you can call yourself an Engineer, if... by xRelisH · · Score: 1

      The inability for random people to call themselves software engineers in Canada is because the Real Engineers objected to the proliferation of people with MCSE's and the the like doing a discredit to the standards of the profession, both in terms of training and work results.

      Yeah.. unfortunately, Waterloo's Engineering (especially Software) program has some issues. Professors cram as much as they can into the students to the point where they are simply reciting formulas without understanding their meaning. The program has degraded mostly to just raw memorization, and what you typically get are a bunch of code monkeys and a few strong Engineers that decided to learn the actual theory beyond the curriculum.

      And sorry, but Waterloo's SW Engineering program is a farce. All people that I know that have been in it and don't suck have dreaded it, and some have switched into CS to get more theory and less fluffy mandatory courses. Personally, as a CS grad from UW, I am glad that I chose CS over SE, as I've been happy with what I've learnt (I've taken the "big three" plus Quantum Information Processing), have a minor in physics and obtained a good job in Northern California upon graduation

      The problem upon graduation for a lot of these students is that they come out expecting to make top dollar and are surprised when they have trouble finding a job. What students need to realize is that the University program is a tool, not a free ticket, it's up to you to use it.

    22. Re:Yes, you can call yourself an Engineer, if... by ceoyoyo · · Score: 1

      If I do an engineering degree then decide I'm going to be a janitor, can I still call myself an engineer? Or do I have to be working under the supervision of a P.Eng. to use the title, until I'm a P.Eng myself?

    23. Re:Yes, you can call yourself an Engineer, if... by sudog · · Score: 1

      That page doesn't have any evidence. That's a graduation outline and description. It appears on that page the implication is that you can call yourself a Software Engineer upon graduation.

    24. Re:Yes, you can call yourself an Engineer, if... by tzhuge · · Score: 1

      I have an EE BSc and I'm working in the software industry in Alberta. There are a couple of PEngs at the office, so that's not really the problem... However, usually software work experience does not even count towards your PEng. It's sad, but there's this arbitrary criteria (at least for APPEGA) that only work on control systems type of software counts. Really, the engineering associations in Canada have nothing to offer those graduates working in the software field in general. They're still quite happy to collect the dues though.

    25. Re:Yes, you can call yourself an Engineer, if... by CastrTroy · · Score: 1

      All the better. I'd rather not have a ring that's susceptible to rust.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    26. Re:Yes, you can call yourself an Engineer, if... by p0tat03 · · Score: 1

      Yes. An accountant sweeping floors can still call himself and accountant, and engineers are no different. Unemployed, differently employed, if you've graduated from a CEAB approved program you get to call yourself an engineer whenever you want.

    27. Re:Yes, you can call yourself an Engineer, if... by yabos · · Score: 1

      Most of my SE professors at UWO are P.Eng.

    28. Re:Yes, you can call yourself an Engineer, if... by p0tat03 · · Score: 1

      Academics are entirely different. In an academic environment EVERYONE has their P.Eng, by virtue of the fact that all these grad students worked directly under P.Eng's before, it's easy to gain that experience.

  6. Er, yeah... by itwerx · · Score: 1

    A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.

      A mythical beast then, eh?

    1. Re:Er, yeah... by alexj33 · · Score: 1, Funny

      A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.

      ....insert sad violin music here.... :(

    2. Re:Er, yeah... by Jack9 · · Score: 1

      A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.

      Poet? No.
      Salesperson? No.
      Empathy? Hell no.

      None of these are part of the job, although they are a part of being a human being.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    3. Re:Er, yeah... by Anonymous Coward · · Score: 0

      Ok then. I resemble the bits all the way up to logic and empathy. So, what does that make me?

      I have been known to surreptitiously amuse myself at the expense of people who are buzzword compliant ;)

    4. Re:Er, yeah... by sgt+scrub · · Score: 1

      A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.

      I think he is just confusing his job with the sign of the times. ie. You must work 10 hours a day and perform the duties of several people now. You are not hired to do A job, but simply payed for the one.

      --
      Having to work for a living is the root of all evil.
    5. Re:Er, yeah... by Anonymous Coward · · Score: 0

      A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.
      A mythical beast then, eh?
      The original article writer is truly a legend in his own mind.
    6. Re:Er, yeah... by Gat0r30y · · Score: 1

      After further research it was discovered that life as a software engineer is much like regular life, but with more compiler errors.

      --
      Prediction: The real iPhone killer is going to be sex robots from Japan. Think about it.
  7. A software engineer is a digital cook by Anonymous Coward · · Score: 0

    Nobody cares what goes into it, as long as the result satisfies the taste of the customer. Monosodium glutamate helps the lazy chef who feeds the masses.

    1. Re:A software engineer is a digital cook by Reverend528 · · Score: 2, Funny

      Would that mean java programmers are baristas?

    2. Re:A software engineer is a digital cook by XaXXon · · Score: 4, Funny

      No, the baristas didn't want their title being denigrated in such a demeaning fashion.

    3. Re:A software engineer is a digital cook by vbraga · · Score: 1

      In a related news, Starbucks to buy Sun?

      --
      English is not my first language. Corrections and suggestions are welcome.
    4. Re:A software engineer is a digital cook by sgt+scrub · · Score: 1

      If there full time job is working for Starbucks, then yes.

      --
      Having to work for a living is the root of all evil.
    5. Re:A software engineer is a digital cook by Anonymous Coward · · Score: 0

      An apt analogy, considering that MSG causes many people headaches afterwards (me included).

    6. Re:A software engineer is a digital cook by Anonymous Coward · · Score: 0

      no, java programmers are 'data entry specialists' or basically, overpaid typists.

      problem A = java cookbook solution A
      problem B = java cookbook solution B

      kind of like what a coffee server does , just press the buttons, and don't think, let the JRE do the hard stuff for you.

  8. You have got to be kidding me. Get over yourself. by Anonymous Coward · · Score: 0

    You have got to be kidding me. Get over yourself.

  9. Huh? by 4D6963 · · Score: 5, Interesting

    I'm obviously going to be modded down for this, but what does this blog post do on the front page of Slashdot? I mean ti's not news, it's just a guy with a job like another telling us his life. Surely that may be relevant to some, but that's just a blog entry about someone's life among others, so what the hell is it doing here? Is that guy pals with ScuttleMonkey?

    --
    You just got troll'd!
    1. Re:Huh? by Anonymous Coward · · Score: 0

      Apperently he has more of a life than you. You're here at Slashdot bitching about a blog post about a blog post. Who cares? You maybe, but most othere people simply ignored it.

    2. Re:Huh? by Kenoli · · Score: 1

      This article seems unworthy...
      I say seems because I can't actually access the article. I'm going off the title. It tells me that it is an uninteresting and generally useless blob of text.
      I'll assume the site has been temporarily destroyed by being erroneously linked-to on the front page of slashdot.

    3. Re:Huh? by davido42 · · Score: 1

      == slow Slashdot day?

      --

      BitWorksMusic.com -- odd tunes for odd times

    4. Re:Huh? by Anonymous Coward · · Score: 0

      Yeah, if I'd seen it on the firehose, I'd have labelled it binspam.

    5. Re:Huh? by Vellmont · · Score: 1


      I mean ti's not news, it's just a guy with a job like another telling us his life.

      It seems you have a rather narrow definition of news. Newspapers have fluff pieces about peoples lives all the time. Newspaper columnists are known make an entire career out of doing what you just describe.

      It may not be any good, it may be crap (I can't read the thing as it's slashdotted), but just because it's not "something that happened today or yesterday" doesn't make it "not news".

      --
      AccountKiller
    6. Re:Huh? by forestbrooke · · Score: 1

      well, seems like scuttle monkey had a bone to pick with this guy... slashdotted his site and blog and everything else to mulch!! ex-girlfriend's 'friend'?

    7. Re:Huh? by Anonymous Coward · · Score: 0

      Newspapers have fluff pieces about peoples lives all the time.

      Which is why many of us stopped reading newspapers for tech news and come to slashdot instead.

    8. Re:Huh? by 4D6963 · · Score: 1

      It seems you have a rather narrow definition of news.

      Au contraire, you seem to have a fairly wide definition of news. What is less news than this according to you?

      --
      You just got troll'd!
    9. Re:Huh? by fmerenda · · Score: 0

      451 comments so far, that's what. :)

      er...make that 452. :)

      --
      -- http://www.MindBlowingPhotos.com
      Photography inspired by music, nature and life itself.
  10. Part artist and designer by mini+me · · Score: 2, Insightful

    Using a bridge-building analogy, in my opinion the software development phase is akin to designing the bridge. You've got to present what you want it to look like and how you want it to function in a visually appealing way but the exact details aren't your concern, that's up to the engineer to figure out. In the software world, the computer plays the role of the engineer. It's up to the computer to figure out how to implement what you've described. Therefore, Canada has it right. Software development isn't engineering at all.

    1. Re:Part artist and designer by PJ1216 · · Score: 1

      or you can make the analogy comparing it to engineer/construction worker. the software engineer writes the blueprints and what not, the computer just puts it together.

      analogies are great that way. you can make almost any argument if you really try. Seeing as how the definition usually comes down to one who uses science and practicality to solve problems, I think engineer can apply.

    2. Re:Part artist and designer by jeti · · Score: 1

      Are you clueless or are you a Prolog programmer?

    3. Re:Part artist and designer by CastrTroy · · Score: 2, Interesting

      Canada does have software engineers. The difference is that you can't just decide to call yourself a software engineer without having the proper credentials. Just like you can't call yourself a doctor if you aren't a doctor.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    4. Re:Part artist and designer by MCZapf · · Score: 3, Funny

      If they engineered bridges the way they "engineer" software, they would just take parts of existing bridges plus random scraps of custom metal and concrete, duct tape it all together, and test the result to see if it crashes.

    5. Re:Part artist and designer by GottliebPins · · Score: 1

      I would love to know what kind of computer can figure out how to implement anything. A computer is as stupid as a compass or a plumb bob. It doesn't figure anything out on it's own. Through the science of computer programming, which is no less difficult than the science of physics or chemistry, it is up to us as Software Engineers to build applications from detailed requirements docs that must meet stringent levels of quality to the satisfaction of the clients who will use it. You miss a zero here or use the wrong conversion formula there and a billion dollar satelite burns up in the atmosphere, a building collapses, or an bridge ends up in the river. Nobody is going to blaim the computer for not implementing the requirements correctly. So go tell your protractor to implement your next architectual project ;)

    6. Re:Part artist and designer by seriesrover · · Score: 1
      Engineer : a person trained and skilled in the design, construction, and use of engines or machines.


      I'm sorry, but you're talking nonsense. Engineering is the application of [applied] mathematics to create a machine of sorts. The "function in a visually appealing way" is the role of UI designer. The computer can't create or engineer something (even with AI \ fuzzy logic etc) - it can only follow a set of instructions and execute them exactly each time ....but it takes an engineer to create those rules the first time. Sure, the computer can play role as a sophisticated tool to aid an engineer but it can not "figure out the details" itself and consequently is not the engineer.

    7. Re:Part artist and designer by compro01 · · Score: 1

      well, depends on the software in question. common software development isn't engineering by a long shot and should never be referred to as such.

      if you're something where actual engineering principles and standards need to be and are applied, like the software for airliner's control systems or medical equipment, or something else in the "if this fucks up, people die" realm, that can definitely be called software engineering.

      --
      upon the advice of my lawyer, i have no sig at this time
    8. Re:Part artist and designer by adonoman · · Score: 1

      Suppose real engineers could test those makeshift bridges without causing real damage. And suppose that after the bridge failed a test, they could that that exact same bridge, and add an extra bit of rebar and some duct tape, and try again. If that was possible, I don't think engineering as a profession would really be needed.

    9. Re:Part artist and designer by Nebu · · Score: 1

      Using a bridge-building analogy, in my opinion the software development phase is akin to designing the bridge. You've got to present what you want it to look like and how you want it to function in a visually appealing way but the exact details aren't your concern, that's up to the engineer to figure out. In the software world, the computer plays the role of the engineer. It's up to the computer to figure out how to implement what you've described.
      If you think programmers/software developers/software engineers/whatever you want to call them simply describe what a program looks like and how it should function in a visually appealing way, but leaving the exact details up to the computer to figure out, you've clearly never done any programming.
    10. Re:Part artist and designer by Anonymous Coward · · Score: 0

      it is up to us as Software Engineers to build applications from detailed requirements docs What are these detailed requirements docs are where do I get them? All I ever seem to get are scribblings on a post-it.
    11. Re:Part artist and designer by Tony+Hoyle · · Score: 1

      You're confusing developers with managers.

      Managers want the duct tape solution. Get it out of the door quick. Who cares if it works, that's what version 2.0 is for.

      Developers want the elegant solution. A developers bridge would be very pretty, do exactly what was needed (plus loads of stuff you wouldn't expect of bridges, like free blowjobs halfway across) but cost 500* as much and take 30 years to build.

      An ideal software engineer is somewhere between the two - sucking up to management just enough to get a project that actually works, and avoiding running over and not have any extraneous features. It's as much 'engineering' people as software. That's why the job pays more.. as TFA said, it's multifaceted.

    12. Re:Part artist and designer by Anonymous Coward · · Score: 0

      It's up to the computer to figure out how to implement what you've described. HAHAHAHAHA

      I must have been doing things wrong all my life. So you're saying I can write a couple interfaces and the "computer" takes over from there? WOW! Who invented these amazing things called "computers?" There must have been some engineers who invented the "computer"... what do you call these people?

      Why stop there? Maybe we don't actually have to describe anything. Maybe this amazing new invention called the "computer" can read our minds and write the code for us...
    13. Re:Part artist and designer by CodeArtisan · · Score: 1

      Are you clueless or are you a Prolog programmer? > yes
    14. Re:Part artist and designer by tkw954 · · Score: 1

      Canada does have software engineers. The difference is that you can't just decide to call yourself a software engineer without having the proper credentials. Just like you can't call yourself a doctor if you aren't a doctor.
      First part right, analogy wrong. In Canada, the term "engineer" is an official mark and protected by the Canadian Council of Professional Engineers which require qualifications including a degree from an institution accredited by them. Doctoral degrees (i.e. PhD) need not be accredited by anyone, so anyone can issue degrees to people who can then call themselves "Doctor". For example, the Universal Life Church issues Doctorates for $35 if you read their book and pass a test on it.
    15. Re:Part artist and designer by CastrTroy · · Score: 1

      Oh, I for some reason thought that you couldn't just call yourself a doctor. Maybe that's only for medical doctors. There was a recent case where a guy was arrested for saying he was a dentist, and doing dental work, without actually having the proper qualifications. You can run around calling yourself a plumber or a carpenter, without having any real qualifications. I don't think the same holds true for those in the medical fields. Although you may be right about the PhD type of doctors.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    16. Re:Part artist and designer by tkw954 · · Score: 1

      You can call yourself a doctor, but that doesn't mean you can perform surgery.

  11. a wiseguy, eh? by Anonymous Coward · · Score: 0

    I haven't visited the site, but that's because this Jonathan Wise guy sounds like a huge egotistical asshole based on his summary. No thanks.

  12. Summary by middlemen · · Score: 4, Funny

    "I want to be an engineer, sex can wait !" -- and this sums up the life of an engineer...

    1. Re:Summary by geekgirlandrea · · Score: 3, Insightful

      For some of us, sex was never really an option most of the time.

    2. Re:Summary by Anonymous Coward · · Score: 0

      reminds me of a joke,

      What is an engineers most effective type of contraception?

      His personality....

    3. Re:Summary by xhrit · · Score: 1

      really? cuz i have a hard time thinking a hottie like u would have a hard time getting teh secks.

  13. Huh? by Anonymous Coward · · Score: 0

    Are you looking for a date in this place??

    Could become interesting after the third repost I guess ...

  14. Link timed out....but, this is /. .... by iknownuttin · · Score: 2, Interesting
    ... we're not allowed to call ourselves engineers...

    I've ran across EEs, MEs, CEs, you get the idea, here in the US that insisted that software coders, Computer scientists, or LAN engineers were not engineers. Basically, they said that their profession was based on physical laws - engineering is applied physical science - whereas CS is based on man made rules just like grammar and writing. And you don't see writers being called "language engineers". Snobbery? Maybe, but I kind of sympathize with them because looking at all of the different computer languages, computational methods, etc... I can see their point.

    --
    I prefer Flambe as apposed flamebait.
    1. Re:Link timed out....but, this is /. .... by Punko · · Score: 1

      Parent is close, engineering is the application of science (not only physical science). Software coding is no different than specification writing or CAD drawing. These specific tasks (which are often performed by engineers) are the expression of the design ideas through a medium. Our drawings and specifications make things happen; so does software. You may make the arguement that the software is designed, indeed it is, according to the performance criteria established by an engineer. But the control software for a treatment plant is a different beast to web application. One is regulated as it pertains to public safety, whereas the other is not.

      --
      If only we could fall into a woman's arms without falling into her hands
    2. Re:Link timed out....but, this is /. .... by croddy · · Score: 1

      More to the point, an engineer has a degree from an accredited engineering program and has passed the exams and other professional requirements for an engineering license. The word has been diluted mostly by people who not only have insufficient technical understanding to practice in the fields to which it is applied, but even to distinguish those fields from other technical fields.

    3. Re:Link timed out....but, this is /. .... by gnick · · Score: 3, Interesting

      I've met software engineers that I'd be happy to refer to as "software engineers". I've also met code-monkeys that will happily claim "software engineer" status. Canada's upholding some standard for the term engineer is spot on. Get a degree and proper accreditation, and then you get your title. This may sound egotistical, but it's unfortunate that, here in the US, describing myself as an "electrical engineer" distinguishes me only slightly from the "sanitation engineer" that hauls off my recyclables once a week.

      --
      He's getting rather old, but he's a good mouse.
    4. Re:Link timed out....but, this is /. .... by ZeroPly · · Score: 1

      Well, here in the U.S. the guy who rides on the back of the garbage truck is a "sanitation engineer", so I think the word engineer is used more as a feel-good affirmation than as an actual descriptor.

      I think the word should be reserved for positions that require significant technical, and especially mathematical knowledge. If you don't know at least some math that an advanced HS student wouldn't, then you're not an engineer. Sorry, but reading books on methodology doesn't make what you do complex.

      --
      Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    5. Re:Link timed out....but, this is /. .... by Anonymous Coward · · Score: 0

      Well, I'm in the US, have a liberal arts degree and have never studies Engineering, flunked out of 100 level math at uni and have never written a line of code yet my job classification is "Senior Software Engineer". I hope those Canadian style rules don't make it south of the border...

    6. Re:Link timed out....but, this is /. .... by tompaulco · · Score: 1

      The way I see it, A software Engineer is actually tasked with designing an application based on the requirements given and with knowledge of the software tools at his/her disposal. A software Engineer may not ever write single line of code, though he/she should be knowledgeable on the particular language and development framework chosen. A Software Engineer would probably have a strong background in programming, and like most engineers, probably still likes to tinker around with the technology.

      --
      If you are not allowed to question your government then the government has answered your question.
    7. Re:Link timed out....but, this is /. .... by ceoyoyo · · Score: 1

      In Canada the word engineer is reserved for someone with not only significant technical and mathematical knowledge who has a degree in engineering but also takes legal responsibility for his work and is monitored by a professional association.

      We have sanitation engineers too, but they're definitely not the guys who ride on the back of the garbage truck.

    8. Re:Link timed out....but, this is /. .... by Firehed · · Score: 1

      I must agree - the engineer title is so prevalent in America because it makes people feel better about their jobs, or something. Where I currently work, I was promoted from a Technical Support Engineer to a Sales Engineer - neither really qualifies as engineering in any sense of the word, though the former would be closer as I actually had to figure things out in order to accomplish something (as an SE, I just tell people how our product works - I'm really a Pre-Sales Demo Assistant). In reality, it's because it looks better on a business card. My freelance coding work would be much closer to "software engineer" than any of the engineer titles I've had so far, but even still I just refer to myself as a programmer.

      --
      How are sites slashdotted when nobody reads TFAs?
  15. A software engineer may get to travel by NetDanzr · · Score: 1

    I just returned from a seven weeks stint in Europe as a software engineer. My company sent me there because according to my boss there are limits on software exports from the US - they found it cheaper and more time efficient to do all the affected coding in Europe, and thus avoid these limitations.

    1. Re:A software engineer may get to travel by Quasar1999 · · Score: 1

      And your company violated US law, specifically something called 'export controls' by doing so. Do the research, you and your company are in for a whopping hell of a fine once they find out.

      --

      ---
      Programming is like sex... Make one mistake and support it the rest of your life.
    2. Re:A software engineer may get to travel by NetDanzr · · Score: 1

      My company is incorporated abroad, our servers are abroad, and I'm not a US citizen. Thus, the only limitation we've had was for someone physically sitting in the US and writing the code, which we avoided by shipping me abroad.

  16. Whoever tagged this by techpawn · · Score: 3, Insightful

    Who tagged this Pompous... Beat me to the punch. I write code, it's my job. No more, no less. To try to give it esoteric meaning beyond what it is reaches a level of loathing that even I am not going to try to comprehend. It's a job! We may want to make ourselves seem more important based on our position because of the tech around us and being able to tell people "no" but in the end we're just beating the next level of rocks together.

    --
    Ask not what you can do for your country. Ask what your country did to you
    1. Re:Whoever tagged this by zrq · · Score: 1

      I write code too, like you it is my job, and (most of the time) I enjoy what I do.

      I also enjoy being able to tell people "yes", as in "yes, I can give you tools that will help you".

      I kind of liked the article, each to their own I guess.

  17. More like a code monkey by Anonymous Coward · · Score: 0

    In most cases, mostly a code monkey, holed up in a dark office, with very little social interaction with others. Probably a little bit smelly too.

  18. Professionalism versus rigor by s20451 · · Score: 4, Interesting

    You are not allowed to call yourself a "software engineer" in Canada, not because the discipline lacks rigor, but because it lacks professionalism.

    A profession is formed for the public good, in order for experts in the field to supervise, regulate, and discipline one another. In Canada this is carried out through non-governmental professional associations, and there is one engineering association per province. It serves public safety well and is an excellent alternative to both "buyer beware" and governmental intervention. Doctors, nurses, lawyers, and teachers are similarly regulated.

    I'm personally sympathetic to the professionalization of software engineering. Basically this would mean that you would need a license to practice, all your code would be signed by its author, and the association would discipline any software author who wrote bad software, either maliciously or accidentally. Although it means hobbyists could no longer tinker, we are at the point where that hobbyist tinkering could have significant implications for the international system of computing infrastructure. Why should unlicensed software authors be any different from unlicensed doctors? Both can cause harm; in the former case, potentially more harm.

    --
    Toronto-area transit rider? Rate your ride.
    1. Re:Professionalism versus rigor by Dolohov · · Score: 1

      When's the last time you signed an agreement to hold a car manufacturer or builder harmless in case their product broke down or fell apart? Amateur software authors produce some of the most important and well-tested code used today, while the professionals at, say, Microsoft, have a proven record of producing insecure crap. How would licensing change this?

      While there may be a professionalism problem, it seems to me that there is a rigor problem as well.

    2. Re:Professionalism versus rigor by Anonymous Coward · · Score: 0

      interesting post except for the bullshit you tacked at the end. Just because there are board supervising engineers doesn't mean people can't tinker with metal, dipshit. I'm all for registering programmers (which you need for a *Software Engineering* qualification in Canada), but that would still allow tinkerers.

    3. Re:Professionalism versus rigor by Anonymous Coward · · Score: 0

      Oh, I love this!

      Although it means hobbyists could no longer tinker, we are at the point where that hobbyist tinkering could have significant implications for the international system of computing infrastructure.

      Yeah, it might improve! Can't have that!

      Yah, yah, licensing, regulating and punishing people for their own good or, worse yet, for the good of all. After all, the AMA has done so much good for the quality of doctors in the US... NOT! Instead it is just another "good ol' boy" network that protects the incompetent and fails to reward the competent. Crawl back in your hole, you closet fascist!

    4. Re:Professionalism versus rigor by s20451 · · Score: 1

      When's the last time you signed an agreement to hold a car manufacturer or builder harmless in case their product broke down or fell apart? Amateur software authors produce some of the most important and well-tested code used today, while the professionals at, say, Microsoft, have a proven record of producing insecure crap. How would licensing change this?

      In Canada, corporations that provide engineering services are required to hold a "Certificate of Authorization". This certificate can be suspended or revoked (and individual engineers disciplined) in the case of incompetence. One can easily imagine that this could happen to a Microsoft.

      Actually I see this as complementing the open-source system by formalizing peer review of code. Also, I would suggest that most of the people who designed open source software are not necessarily amateurs; they may have other jobs in software, and many of them are paid for their open-source contributions.

      --
      Toronto-area transit rider? Rate your ride.
    5. Re:Professionalism versus rigor by Shados · · Score: 1

      Correction: You ARE allowed to call yourself a software engineer in Canada, if you ARE one. That is, with accreditation, the ring, the degree.

    6. Re:Professionalism versus rigor by dmatos · · Score: 1

      Further pedantic correction: The degree (from an accredited institution) is not required if you're willing to write many many MANY equivalency tests. Basically, write the final exam for every course in 4 years of University, and you don't need to have a degree to become a P.Eng.

      And the ring is just for tapping against beer bottles. Everyone knows that :)

      --

      It may look like I'm doing nothing, but I'm actively waiting for my problems to go away.
      --Scott Adams
    7. Re:Professionalism versus rigor by Vellmont · · Score: 1


      A profession is formed for the public good, in order for experts in the field to supervise, regulate, and discipline one another.

      That's funny. I always thought a "profession" had more to do with social class than anything about supervising, regulating, and discipline. This is the first I've ever heard such a formal definition, with rules set forth, etc.

      Doctors, nurses, lawyers, and teachers are similarly regulated.

      So you can't call yourself a "professional" unless you've been regulated by the government, or some other "official" organization? I guess there's a lot of people with misleading perceptions of themselves.

      --
      AccountKiller
    8. Re:Professionalism versus rigor by Dan+Posluns · · Score: 1

      You can call yourself a software engineer in Canada if you are, in fact, a software engineer.

      I myself have a Bachelor's degree in Engineering (B.Eng) in the discipline of software that I obtained from McMaster University. These programmes are fairly new (only been around for about ten years) but they are accredited and graduates may go on to obtain their professional engineering license (P.Eng.).

      Content of an undergraduate software engineering degree differs from a traditional CS degree in that there is typically a greater focus on development safety-critical systems, rigorous design, theorem-proving and testing, and cross-disciplinary engineering maths and sciences.

      Dan.

    9. Re:Professionalism versus rigor by Anonymous Coward · · Score: 0

      Why would a software engineering professional association stop me from tinkering? I can still build a radio, and treat my headache with ASA, why would I not be able to write code for my own use? What I can't do is sell that radio, prescribe codeine, or (assuming a professional association) distribute my non-certified code.

    10. Re:Professionalism versus rigor by Anonymous Coward · · Score: 1, Informative

      Correction, in all Canadian provinces and teritories (Excluding Quebec) you are permitted to call yourself an Enginer regardless of education, schooling or other. The term Engineer was ruled to be a non-protected term. However you cannot call yourself a "Professional Egineer" unless you are certified by the Canadian Councel of Enginering Professionals and you have completed 4 years of relevent work experience guided by a regognized Professional Engineer.

      Drives me nuts when people state that "Engineer" is a protected term. Check court papers (on google) (or even wikipedia), both show that calling oneself an Engineer (of any type) is fair game in Canada. Just do not call yourself a Professional Engineer without the proper accredidation or you will be violating Canadian Laws. (again this does not apply in Quebec)

    11. Re:Professionalism versus rigor by Timothy+Brownawell · · Score: 1

      Although it means hobbyists could no longer tinker, we are at the point where that hobbyist tinkering could have significant implications for the international system of computing infrastructure. Why should unlicensed software authors be any different from unlicensed doctors? Both can cause harm; in the former case, potentially more harm.

      Doctors always work on people, and will harm/kill people if they screw up. Software people can only mess up whatever their software is given access to mess up. Hobbyist tinkering wouldn't be good in the control systems for large hydroelectric dams, but there's absolutely no reason to forbid people from writing, say, games for fun. The rules belong on the other side, about what software can be used for a particular task in a particular situation rather than about who can write software.

    12. Re:Professionalism versus rigor by nonsequitor · · Score: 1

      In the US if someone who writes software wants to be recognized as an Engineer, they can go out and get licensed as a P.E. (Professional Engineer). This license places the liability upon the engineer for the work they do and is not something which is given out as easily as an engineering degree.

    13. Re:Professionalism versus rigor by RobBebop · · Score: 1

      Why should unlicensed software authors be any different from unlicensed doctors? Both can cause harm; in the former case, potentially more harm.

      A group of software authors who write code which will run on a system where there is a danger to human life if there is a failure is treated with as much or more scrutiny than doctors. Each release is reviewed, tested, and certified with formal processes and procedures. There have been failures that have resulted in the lose of life, but this is true of licensed and practicing doctors, too.

      Other software authors who code financial systems, video games, and productivity tools are only as rigorous as their industry requires... and that turns into an economic argument. It doesn't make sense for EA Software to subject new developers for the Madden franchise to go through a licensing course that educates them in the rules of football, the structure of the video game code, the architecture of the game, and the processes used for developing the game. And let's face it... a software developer who is qualified to write code for NASA is probably NOT going to be appropriate to start coding next years Madden release.

      Which begs the question, doctor's are licensed for specific parts of the body (optometrist, podiatrist, dentist, surgeon, neurologist, etc), so why shouldn't software engineers be licensed for different domains. Well, subtle differences within domains that would make it an industry-wide challenge for standardization. In the field of communications software, there are competing standards and the people who understand it well have been doing it for 20 or 30 years... which is something that can't be taught through a "licensing" class.

      Add that to the fact that communications has changed immeasurably from 20 years ago, and you will have a good idea why there are no software licensing exams.

      --
      Support the 30 Hour Work Week!!!
    14. Re:Professionalism versus rigor by HotSauceRoss · · Score: 1
      Furthermore, as others have mentioned, it is possible to become a fully licensed professional software engineer in Canada. I'm familiar with this because I have an Ontario accredited software engineering degree and am in the process of obtaining my professional engineers designation (I have yet to write the requisite ethics exams).

      Any individual in Canada wishing to pursue a career in software engineering as a licensed professional must begin with a degree from an accredited engineering school. For a list of accredited programs, see: http://www.engineerscanada.ca/e/acc_programs_1.cfm

    15. Re:Professionalism versus rigor by theAtomicFireball · · Score: 3, Insightful

      A profession is formed for the public good,
      Bullshit. Professions in the sense you speak are formed for the good of those people already in the profession. It allows them to control who can compete against them, both by giving them a say over who can join, and by getting the government to restrict what people who haven't joined can do.

      Although the "professionalism" and "public good" argument you make has been used ad nauseam, and it has a certain attractive logic to it and seems like it should be true. But, there is very little quantitative evidence available, and almost all that there is indicates that government sanctioning of professions has had absolutely no positive impact on the quality of the services rendered by those professions, and there is considerable evidence to suggest that it may have degraded it (although it's difficult to determine causality given the number of factors that go into something like that). In other words, they do absolutely nothing to protect the common good over, and they may harm it.

      Government sanctioning and licensing of professions is completely about control and prosperity of a particular group. That's now how they're justified and you won't find it in the charters or enabling legislation, but it's the reality of the situation. They are lobbying groups and industry associations all rolled up into one, with quasi-governmental powers to boot.

      Although it means hobbyists could no longer tinker, we are at the point where that hobbyist tinkering could have significant implications for the international system of computing infrastructure. Why should unlicensed software authors be any different from unlicensed doctors?
      Your statement shows a fundamental misunderstanding of the craft. Basically, every really incredible programmer/developer/software engineer got that way by tinkering. Not by taking 60 credit hours of programming classes. It's the countless hours of trying things out and figuring shit out that got them good. The classes, if they were even taken, provided a starting point. Anything that discourages tinkering prior to or in addition to formal training would have a dramatically negative impact on the "international system of computing infrastructure" because it would drastically reduce the ranks of those who actually make all the stuff work.

      While I actually have issues with licensing of Doctors, I'll point out one very serious and very obvious difference: You an code on your own computer -- tinker if you will -- and have absolutely no chance of hurting anyone else. You can't exactly practice surgery on your friend safely. You can study anatomy all day long, but without being able to work under a doctor while cutting into a patient or diagnosing a difficult case, you're likely to do far more harm than good no matter how much knowledge you have shoved into your head. They are not comparable cases; there is some basis for licensing of doctors, absolutely no rational one for licensing of software engineers unless you are completely ignorant about how good coders become that way.

      Now, if you want to talk about specific accreditations for programming in fields where there is a high risk of harm, such as coding for the FAA or NASA or military, I'm willing to be slightly more sympathetic to your argument, but am skeptical that it would guarantee or even improve the quality even in those fields.
    16. Re:Professionalism versus rigor by ceoyoyo · · Score: 1

      It doesn't mean hobbyists CAN'T write software, it just means they can't call themselves engineers and sell their software as produced by an engineer.

      Nursing is a profession but I can still care for my sick grandmother. I just can't sell my services to others as a "nurse," I have to call myself a "homecare worker" or "caregiver" instead. Hospitals won't hire me for certain jobs because I lack the knowledge, experience, oversight and legal responsibility of a nurse.

      Ditto for "doctors" (properly, physicians). I can set up an acupuncture or naturopathy practice but I am not allowed to call myself a physician or medical doctor, which makes it immediately obvious to my clients that there is a difference between me and a real medical doctor.

      I taught high school students, as a tutor. Not as a teacher, because I lack the degree and professional membership.

    17. Re:Professionalism versus rigor by russotto · · Score: 1

      Although it means hobbyists could no longer tinker, we are at the point where that hobbyist tinkering could have significant implications for the international system of computing infrastructure.


      Yeah, some amateur might create an operating system which becomes dominant in an important sphere of computing...

      I'm a programmer by trade. I have a 4-year computer science degree, from a time where computer engineering degrees were rare (CMU offered one, but not too many others). Were a program similar to the one you suggest be implemented, I'd almost certainly be grandfathered in without much trouble. And I still see it as nothing but a disaster for the "international system of computing infrastructure".
    18. Re:Professionalism versus rigor by FireFury03 · · Score: 1

      This certificate can be suspended or revoked (and individual engineers disciplined) in the case of incompetence. One can easily imagine that this could happen to a Microsoft.

      But can you imagine the hell that would ensue if Microsoft lost it's licence to write code? I mean, there are loads of civil engineering companies - if the one maintaining your bridge gets its licence revoked, you can contract someone else to maintain it. But with a monopoly software vendor like Microsoft, what would happen if they lost their licence? Who would support all the MS products out there? This is especially true with closed source software, which just plain isn't maintainable by anyone else, but even if it were open source I still wonder if there would be enough capable companies to take on the job of supporting all of MS's customers...

      Actually I see this as complementing the open-source system by formalizing peer review of code. Also, I would suggest that most of the people who designed open source software are not necessarily amateurs; they may have other jobs in software, and many of them are paid for their open-source contributions.

      It seems like quite a problem to regulate this though. You have a piece of Free software that was originally written by someone who may either be an amateur or a professional. Then, over the years more people, who may also be either amateurs or professionals, add and modify bits to it.

      Whilst I like the idea of nice stable software, I think regulating it so that *only* licensed software engineers can write code would pretty much kill much of the innovation in software.

      I'm sure that if random people were allowed to build bridges (and the materials cost them practically nothing) we'd have lots more innovation even though a lot of them would regularly fall down.

      For the record, even though I am a professional software developer I certainly don't consider myself to be an engineer. As far as I'm concerned, an engineer is someone who writes provably (as far as possible) correct code - such as that used in safety of life systems (fly by wire, etc.). I am a software developer - I don't write code that I mathematically prove to be correct, my "proof" is that when I drive a few trucks over the bridge it doesn't fall down (this is the case for most software developers). The two disciplines are very different and I have a lot of respect for the software engineers, but software engineering is really expensive compared to normal development. Can you imagine the cost of writing the Linux kernel, or the whole of Windows, or the whole of OpenOffice if it was engineered with mathematical proof of the correctness of the code? (Hell, Windows might even justify its astronomical price tag then :)

      I guess the thing is that shiny features are more important to the general public than stability - a company who engineers software properly is going to spend the time proving its correctness rather than adding shiny new features. It's not as if someone dies every time Word crashes...

    19. Re:Professionalism versus rigor by Shados · · Score: 1

      And the ring is just for tapping against beer bottles. Everyone knows that :)
      Thats the WHOLE POINT of becoming an engineer!!!! Thank you for the correction though!
    20. Re:Professionalism versus rigor by p0tat03 · · Score: 1

      Except that if you look at the websites of these Canadian engineering association (such as the PEO), they make public all disciplinary proceedings, and document all punishment and consequences. LOTS of engineers those their licenses every year due to negligent and incompetent practice.

      Licensing and regulation is not the problem. Perhaps you should ask yourself why the USA fails at it, and why other countries have had great success with it.

    21. Re:Professionalism versus rigor by Junior+J.+Junior+III · · Score: 1

      Basically this would mean that you would need a license to practice, all your code would be signed by its author, and the association would discipline any software author who wrote bad software, either maliciously or accidentally. Although it means hobbyists could no longer tinker, we are at the point where that hobbyist tinkering could have significant implications for the international system of computing infrastructure.


      You are right in that unqualified programmers working on critical systems could have significant implications. Has this ever NOT been the case? No, not really. It's just that, the more we rely on our computing infrastructure, the greater the potential impact.

      Does this mean that we need to somehow lock all hobbyist/amateur programmers out of computing, and force everyone to get professionally certified? I don't think so. You don't need an engineering degree to build a tree house in your back yard. You do if you are going to design a bridge or a dam. Require the engineering degree to practice programming professionally, or on sensitive projects which I would think would include the majority of professional programming, though probably not all. Let amateur/hobbyist hackers continue writing, compiling, and running code, and contribute to projects, so long as they are rigorously code-reviewed by appropriately certified professionals before being used in mission critical infrastructure roles.

      Considering it's impossible to prevent people without professional certification from gaining access to programming tools, solving the problem this way would be a lot less draconian.
      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    22. Re:Professionalism versus rigor by p0tat03 · · Score: 1

      I always thought a "profession" had more to do with social class than anything about supervising, regulating, and discipline.

      You are sadly mistaken. Doctors, accountants, lawyers, engineers, all are considered professions since they regulate their own behaviour. Accountants are liable for the accuracy of their work, lawyers have a strict code of conduct they must adhere to, and likewise engineers have a hefty tome of ethical and technical requirements they must always fulfill.

      Most people in society aren't aware that a profession is a tightly regulated field, mostly because they don't need to, and it's a testament to self-regulation.

      So you can't call yourself a "professional" unless you've been regulated by the government, or some other "official" organization?

      Sure you can call yourself a "professional", just not a "professional engineer" or "professional accountant", or anything of that sort. Being a professional is more than merely being able to do your job, it comes with legal and ethical responsibilities that you accept, and which carry very real consequences when broken.

      That's the difference between a professional and a non-professional. One accepts legal, social, and ethical responsibility for what they do, the other is hands-off the moment the work is delivered.

    23. Re:Professionalism versus rigor by Anonymous Coward · · Score: 0

      That's because the majority of software that is written are not "mission critical." The majority of software is "good enough" for everyday use. You could technically write nearly bug-free software for day-to-day use, but it would drive up the price of software to astronomical levels. A typical desktop computer crash is not life threatening. However, it may screw up many man hours of work, but the general attitude towards hardware/software in modern consumer/business level PCs is low cost. This is somewhat unfortunate, because in reality software bugs and unreliable hardware have led to millions of dollars of lost work (a client of mine lost hundreds of thousands of dollars worth of IC design work when he failed to heed my warning to backup his data on a workstation). The industry seems to not care much about losing user data, and contracts tend to absolve vendors from liability due to use of consumer/business level hardware/software. Should we change this culture? Perhaps, but that would require that consumers be aware that the true cost of software is much higher than what is currently reflected in today's prices. It would also mean that the industry as a whole will need to slow down (No more Moore's law) and start adapting solid engineering practices. In other words, no more "cowboy coding." Overall, it would also mean a lot less innovation.
      Also, I'm not quite sure if you want to apply rigorous engineering practices to entertainment software, I'm not sure if consumers can shell out a couple thousand dollars for a game.

    24. Re:Professionalism versus rigor by przemekklosowski · · Score: 1

      I'm personally sympathetic to the professionalization of software engineering. Basically this would mean that you would need a license to practice, all your code would be signed by its author, and the association would discipline any software author who wrote bad software, either maliciously or accidentally. Although it means hobbyists could no longer tinker

      You are creating a false dychotomy: sure the hobbyists can tinker---they just can't be put in charge of large systems where there's money or safety of other people at stake. A good example here is how Maryland regulates electrical work: homeowners can't work on the electrical installation in condos and townhouses, but it's perfectly OK to fix your own electricity in a detached home--if you screw up, you only hurt yourself and your family, rather tban burning down the whole block.

      In any case, I agree that the software industry is headed for regulation. It always amazed me how much of a free ride they were getting for deficient products--(insert a predictable analogy of faulty cars and resulting lawsuits). The best part is when the software company comes out with a new version that fixes all bugs and REALLY works, and everybody is expected to buy it again.

      The reason why people were putting up with this for so long was the progress that the industry was making, which would be impossible without this leeway. Imagine if the industry practice from around 10 years ago was codified in the software analog of National Electrical Code, a thick rule book that all electricians in the US must follow (conformance is checked by official independent inspections, btw.). Having said that, I think that we'll see a National Software Code sooner or later.

    25. Re:Professionalism versus rigor by Vellmont · · Score: 1


      Sure you can call yourself a "professional", just not a "professional engineer" or "professional accountant", or anything of that sort.

      So you're saying that jobs that require licensing require a license to practice that job? What does that have to do with being "professional"? (Which seems to be the operative word in this discussion)

      --
      AccountKiller
    26. Re:Professionalism versus rigor by p0tat03 · · Score: 1

      There's the lay definition of a professional, and then there's the legal definition of it. The lay definition simply describes someone who's good at what they do, whereas the legal definition is far more rigorous.

      It's a bit like my computer illiterate friends describing "memory" to each other (being interchangeable with "hard drive"). They understand each other quite well, but as a computer literate guy I'm completely stumped. Mixing lay definition with legal definition is a great way to cause confusion.

    27. Re:Professionalism versus rigor by blackbirdwork · · Score: 1

      And what are you going to tell to the software engineer (not the one with a diploma, the real one with years of experience) that has been programming since the beginning of the software industry when a "university career" didn't exist? You are going to tell them they need to study in the university? Yeah right.

    28. Re:Professionalism versus rigor by Tablizer · · Score: 1

      I'm personally sympathetic to the professionalization of software engineering. Basically this would mean that you would need a license to practice, all your code would be signed by its author, and the association would discipline any software author who wrote bad software, either maliciously or accidentally.

      Past attempts to codify "best practices" always turned into a paradigm or language fight. Until objective and consensus metrics appear (beyond speed), software design is more art than science.

      Another twist is what happens when the supervisor says, "the sales person told the customer it would be finished tomorrow, so you must finish no matter what!". Companies would lose that flexibility unless they hired non-accredited people. Plus, they'd start having to pay us more, and they don't want to do that.

    29. Re:Professionalism versus rigor by Vellmont · · Score: 1


      There's the lay definition of a professional, and then there's the legal definition of it. The lay definition simply describes someone who's good at what they do, whereas the legal definition is far more rigorous.

      Maybe. Slashdot isn't a legal forum though, and "professional" isn't really legal jargon.

      --
      AccountKiller
    30. Re:Professionalism versus rigor by Anonymous Coward · · Score: 0

      You are not allowed to call yourself a "software engineer" in Canada, not because the discipline lacks rigor, but because it lacks professionalism.

      You are saying to be professional and honorable you need to be a P-Eng? Oh so give me a break.

      Of the 4 worst professional attitudes I have seen in my 30+ years in Engineering and Information Technology, 3 were P-Eng. I even had the honour of firing one once. He said I should be working for him, 3 months on the job out of school. I let his arrogance hang himself...

    31. Re:Professionalism versus rigor by fooDfighter · · Score: 1

      It seems like quite a problem to regulate this though. You have a piece of Free software that was originally written by someone who may either be an amateur or a professional. Then, over the years more people, who may also be either amateurs or professionals, add and modify bits to it.
      In non-software engineering this happens as well. In Canada non-engineers can help to design a bridge/car/building but the final design has to be signed-off by a Professional Engineer. Effectively this holds the engineer responsible for the design, if he did not review it/verify it himself he is still responsible for whatever happens.
    32. Re:Professionalism versus rigor by PhotoGuy · · Score: 1

      A profession is formed for the public good

      Really? I thought law was considered a profession...

      --
      Love many, trust a few, do harm to none.
    33. Re:Professionalism versus rigor by Anonymous Coward · · Score: 0
      Although it means hobbyists could no longer tinker, we are at the point where that hobbyist tinkering could have significant implications for the international system of computing infrastructure.

      What a crock. You don't have to buy software from a hobbyist if you don't want to.

      What's next -- unlicensed civilians can't buy matches or lighters? Of course th anti-smoking fucks would love that.

      Perhaps you should read this -- http://knox.villagesoup.com/rewrite/108448.htm -- the title of the article is "Middle school issues ban on intentional flatulence".

      By the way, if "hobbyists" can pose such a threat, why are those who can' stop the threat asking to be knighted with the title of "engineers"?

  19. Quit your whining. by Anonymous Coward · · Score: 0

    What job does not include many different tasks. Try working in a high level NOC and see how many different aspects you have to use every day. Its all part of your job. Your profession may be specialized, but your job is going to involve a whole lot else.

  20. Engineering in Canada by RobinH · · Score: 4, Interesting

    To become an accredited engineering program in Canada, there has always been a strong requirement for a scientific background. This first created problems for computer engineering programs in Canada to become accredited, so they added courses on things like the physical properties of silicon, etc. to meet this requirement. Electrical engineering, of course, has thermodynamics, etc.

    Software engineering has this problem of needing to incorporate science courses into the curriculum. Also, the field of software engineering isn't considered to have matured *as much* as more traditional disciplines. I'm pretty sure that there are accredited programs and you can be a software engineer in some provinces now. These things don't happen overnight.

    I would like to have as much confidence in a piece of software as I do in a bridge, but we're not at that point yet. I do think we're getting closer. At this point, very little software is really "engineered" in the rigorous sense. Software that is tends to be much more expensive, and much more reliable. Go figure.

    Most software buyers don't want to pay the extra expense for the extra quality at this point. Of course, if you're purchasing a flight control system for an aircraft, you probably have deeper pockets and more stringent requirements.

    --
    "I have never let my schooling interfere with my education." - Mark Twain
    1. Re:Engineering in Canada by Shados · · Score: 1

      Just as an example, in Quebec, the ETS has an accredited software engineer program. I didn't take it, so take the following with a grain of salt, but I had a few friends who did... To enter, you need to already have a CS background of some kind (be it from another school, work experience, etc) so they can give you credit for the basic CS classes, and they replace them with the engineering classes (and also allows them to start a decent bit further... I don't know if its still that way, but my friend's first semester had classes involving application servers, design patterns, software architecture, etc... no IF/Do/While/variables/Methods classes in there).

      It is quite a good program... the graduates are actually able to be productive afterward, as opposed to spending days arguing about if they should use a quicksort or a bubblesort to keep 5 items in a dropdown menu ordered...

      Its a good start.

    2. Re:Engineering in Canada by Dan+Posluns · · Score: 2, Insightful

      I would like to have as much confidence in a piece of software as I do in a bridge, but we're not at that point yet.

      Do you suppose such confidence is either unavailable or impractical when considering safety-critical systems like nuclear reactors, medical lasers, space shuttles, missile guidance systems, etc.?

      In not every software system is it permissible to keep releasing bug fixes and new updates. It either works correctly and according to the specification the first time, or people die. Just like a bridge.

      Dan.
    3. Re:Engineering in Canada by Nursie · · Score: 1

      "I would like to have as much confidence in a piece of software as I do in a bridge"

      hope you don't get in a plane then. Or need complex surgery. Or drive a car.

    4. Re:Engineering in Canada by strange+dynamics · · Score: 1

      "Electrical engineering, of course, has thermodynamics, etc."

      You think this is why it is allowed to be called engineering ? It has electricity. All of the mature engineering disciplines use applied physics to solve problems. That is what has made them engineering. The definition may be changing, but historically that is why some things are called engineering, and some are not.

    5. Re:Engineering in Canada by nonsequitor · · Score: 1

      I would like to have as much confidence in a piece of software as I do in a bridge, but we're not at that point yet.
      Modern avionics software has higher reliability than any bridge. The mean time between failures for safety critical avionics exceeds once in 10,000+ years. With thousands of planes in operation running identical instances it *IS* more reliable than a bridge which may last for 100 years of continuous service before collapsing. Of course you don't build 10,000 identical bridges and hold the engineer responsible if 1 out of 10,000 fail.

      Of course software does not degrade over time like physical materials, so its not quite an apples to apples comparison.
    6. Re:Engineering in Canada by Anonymous Coward · · Score: 0

      Apparently you've been driving across bridges somewhere other than in Minnesota.

      Hrm, perhaps poorly written software led to a poorly designed bridge. ;-P

    7. Re:Engineering in Canada by Jim_Callahan · · Score: 1

      I think you're not giving enough credit to the materials science aspect of electrical engineering. Control engineering, which is probably the most important coding-based application of EE industrially, requires a fairly thorough knowledge of not only the processes you're trying to automate, but the behavior of the control hardware itself. Plus if you can turn it into a hardware control cheaply, you save your company a lot of money and boost the reliability considerably. And, academically, you really need to be familiar with the hardware to properly optimize your simulation code.

      Just saying that those courses are in there because they're an important part of electrical engineering, not because they felt like tossing some extra crap in for accreditation. Sure, you can do nothing but be a non-calculation-intensive code-monkey with an EE degree, but only in the same sense that I have the option to make really good pizzas for a living with my ChE degree.

      --
      ...it's really a sad day for America when we require a goddamn ACT OF CONGRESS to make our DVD players work properly. ~
    8. Re:Engineering in Canada by linzeal · · Score: 1

      Cognitive theories are science, why don't they just borrow alot of the rigor of the psychology and neurocognitive disciplines and incorporate them into an engineering discipline? Artificial intelligence applications I would consider an actual engineering discipline. They require modeling behavior often of physical objects such as robots that require high standards of reliability and safety. As a mechatronic student we incorporate software engineering in the form of AI, vision and automation all the time and they are no less crucial in designing correctly than any of the electrical or mechanical parts.

    9. Re:Engineering in Canada by RobinH · · Score: 1

      think you're not giving enough credit to the materials science aspect of electrical engineering. Control engineering, which is probably the most important coding-based application of EE industrially, requires a fairly thorough knowledge of not only the processes you're trying to automate, but the behavior of the control hardware itself.

      Actually, I am a controls engineer and have been since graduating from Comp. Eng. in 2000. While I can attest that the hardware design is generally "engineered", the controls software rarely is. In many, if not most cases in industry, the controls software development is started too late in the process and most systems are installed on the plant floor with software that barely downloads to the controller without faulting it. The program is usually fleshed out and debugged during the startup phase, unfortunately.

      Note that this is not the case with OEM machines (where a company just sells one type of standard machine over and over), but in almost all custom machines I've seen installed, most of the "software development" gets done onsite after the equipment is in place. Also, in many cases it is written by non-engineers and non-software developers. Sometimes it's written by electricians. Certainly, after you leave the machine, it's normally modified regularly by electricians, and sometimes by the end customer's engineering department.

      The firmware on the controllers that runs the user application is typically quite well tested and reviewed, but even leading vendors such as Allen-Bradley have only recently started using CMM for software development. Certainly there have been plenty of bugs found in deployed firmware, and they have been fixed over time.

      Now in Canada at least, the "safety" components of the machine (both hardware and software) have to pass a Pre-Start Review (PSR) that is signed by an engineer. Some components of the safety system can now reside in software, but those are specially standardized and certified modules that run on redundant processors and are locked with a password by the signing engineer. Those parts can't be modified. Certified safety components and systems are designed in such a way that any single component failure will be detected and the equipment will stop, and can't be restarted until the failure has been corrected. Specifically it only applies to the safety of the operators, not necessarily to maintenance personnel (who can always remove physical guarding, etc.), and not to the machine itself which is always capable of destroying itself through bad programming.

      --
      "I have never let my schooling interfere with my education." - Mark Twain
    10. Re:Engineering in Canada by High+Hat · · Score: 1

      To become an accredited engineering program in Canada, there has always been a strong requirement for a scientific background. This first created problems for computer engineering programs in Canada to become accredited, so they added courses on things like the physical properties of silicon, etc. to meet this requirement. Electrical engineering, of course, has thermodynamics, etc. Silicon is the basis for SE? What about logic and formal mathematics? It doesn't get more scientific than that, so I would argue that EE does not have a scientific basis as strong as that of SE. You need the real world for thermodynamics to make any sense - logic makes sense on its own.
    11. Re:Engineering in Canada by gbaker386 · · Score: 1

      Under Canadian Law you are permitted to call yourself an Engineer regardless of education. However you can only call yourself a Professional Engineer if the Canadian Council of Professional Engineers approves of your education and experience. You must have an accredited education combined with four years of related experience, plus pass an exam in order to become a professional engineer.

      However Canadian courts and law shows that calling oneself an engineer is not protected. If someone called themselves a "Software Engineer" there is nothing that could be done to prevent them (unless the person lived in Quebec). But this person called themselves a Professional Engineer in the field of Software then the law would be violated and the council would likely enter into litigation.

      http://en.wikipedia.org/wiki/Controversies_over_the_term_Engineer#Canada

      It is akin to one calling themselves a carpenter when their only training is cutting some wood, compared to a journeyman carpenter who has the education and the experience to qualify and register as a journeyman.

    12. Re:Engineering in Canada by RobinH · · Score: 1

      Strictly speaking, engineers don't consider math to be a science. Math is used as a tool to help us develop some scientific models.

      --
      "I have never let my schooling interfere with my education." - Mark Twain
  21. summed up in one word: by Anonymous Coward · · Score: 0

    <homer>
            Boring!
    </homer>

  22. why do people always... by micromuncher · · Score: 1

    assume I'm an arrogant self important ass when I tell them I'm a software engineer/software developer/systems architect/systems analyst/computer programmer/software designer?

    Must be my identity crisis.

    --
    /\/\icro/\/\uncher
    1. Re:why do people always... by Anonymous Coward · · Score: 0

      So why not just tell them you're a micromuncher?

      That way you'll find out if they think you're an arrogant self-important ass because of your job title or because of your demeanor.

    2. Re:why do people always... by protohiro1 · · Score: 1

      I never realized I was being a pompas ass when I said I was a software engineer. I certainly don't consider what I do on par with "real" engineering, not at all. I am just a code monkey, but thats my title, and around silicon valley anyone that does coding is generally called an engineer. I don't think it really means the same thing as Engineer means in canadian law. If that sounds pompas I guess I will say uh...web developer? But the trouble with that is that when I say that people always think that means they can ask me to "Design their website", which isn't really what I do...

      --
      Sig removed because it was obnoxious
    3. Re:why do people always... by micromuncher · · Score: 1

      Trying to explain to people what you do, when prefaced by "its complicated", I've resorted to saying "I make big computer programs."

      In or around 1996 APEGGA issued me a demand letter to remove the word "software engineering" from my corporate web site as it was not an accredited field (even though I had numerous articles and citings of SEI and ISO quality processes I adhered to - exception was taken with the promotion of "applied software engineering.")

      My response was pretty much "sue me, dick heads" and I never heard back from them, however, working in Alberta and OG I continually meet lead rings that frown upon computer science or software engineering as an "engineering" discipline. Working with real engineers has only illustrated to me that lead rings should not be doing OOD/OOA, computer science, or anything that resembles programming (other than an HP calculator.)

      --
      /\/\icro/\/\uncher
  23. Canada? Not allowed? by Aliencow · · Score: 1

    Where I live (Montreal, QC) you are allowed to call yourself an Engineer as long as your are an Engineer. That means if you take a degree in Computer science ENGINEERING, and pay your yearly fees to the Order, you can call yourself an engineer. Because you're not allowed doesn't mean real engineers aren't. (Unless the laws in your province are different in regards to this)

  24. I call BS by Anonymous Coward · · Score: 0

    Given that the University of Calgary offers degrees in Software Engineering http://www.enel.ucalgary.ca/undergraduate/, and that it is a protected term by APEGGA http://www.apegga.org/members/Publications/peggs/Web02-05/compliance.html/ (Association of Professional Engineers, Geologists, & Geophyscists of Alberta), I think the more accurate statement would have been "I don't have the credentials to call myself a Software Engineer, and I'm going to whine about it on the front page of Slashdot".

  25. Since when is engineer a coveted term? by 140Mandak262Jamuna · · Score: 1
    I never knew people coveted to be called engineers. Class conscious England clubbed the Engineers with tradespeople and snubbed them regularly. Even in USA I am not sure people really took the engineers seriously, mostly mistaking them for railway locomotive drivers. Not many people with engineering degrees sit for PE examns and qualify themselves as Professional Engineer. Those who do, seem to be mainly expert witnesses for defense for the ambulance chasers.

    A few decades back there was this movement to persuade engineers to prefix Er. to their names like the doctors and try get addressed as Engineer, in India. This blatant aping of doctors failed miserably, nobody bothered. That too in India, where mothers stay up as long as their sons are up burning midnight oil preparing for engineering entrance examns supplying them with bottomless pots of tea.

    So why is this Canadian cribbing he can't call himself an Engineer?

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Since when is engineer a coveted term? by Viv · · Score: 2, Informative

      Not many people with engineering degrees sit for PE examns and qualify themselves as Professional Engineer. Those who do, seem to be mainly expert witnesses for defense for the ambulance chasers. Nonsense. It just depends on your discipline and industry.

      In the USA, PE licensing is all but mandatory in the Civil Engineering field. It's very helpful in electrical engineering if you want to be a power distribution guy. Mechanical engineers can stand to have a PE license if they're going to be doing HVAC work. In other words, if you're going to be an engineer in construction, a PE license is very important to have.

      If you're contracting out a big dollar engineering project, it's common to require a PE sign off on all designs. Where you typically don't find PE's is in unregulated industries in companies with internal engineering going on.
    2. Re:Since when is engineer a coveted term? by 140Mandak262Jamuna · · Score: 1

      Thanks for the correction. What you say seems to make sense.

      --
      sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    3. Re:Since when is engineer a coveted term? by Stoutlimb · · Score: 1

      What you described is a perfect example of what happens in countries that water down the meaning of the word Engineer. It loses meaning and value. Hiring an engineer becomes the same thing as hiring a technician. This is exactly why many foreign engineers have a hard time getting accredited in Canada. We covet the P.Eng after names in Canada because it actually does mean something.

      That answers your question about why he's whining. And personally I think he's an idiot, because we do have software engineering programs in Canada that are probably far more rigorous than the article writer has ability or money to complete.

      And the difference between a programmer and engineer? Real accountability.

      An engineer has the mandatory legal responsibility of due diligence. That means an engineer must do "whatever it takes" to design something right the first time. And there's an organization with the heavy force of law behind it to make sure they do.

      Boy would I love to see Microsoft held to those standards.

      E

  26. empathy? by King+Gabey · · Score: 1

    I've been a software developer for over 10 years and empathy is not high on the list of common traits that I've seen in my fellow programmers.

  27. You can't visit the site anyway by VampireByte · · Score: 1

    It times out... I guess that ego can't be channeled to power everything.

    --

    Run and catch, run and catch, the lamb is caught in the blackberry patch.

  28. Yeah, right! by mrchaotica · · Score: 2, Insightful

    I'm a student of both civil engineering and computer science, and I'll tell you this: most people who call themselves "software engineers" are wankers who have no idea what Engineering actually means. So they have some UML and unit tests? Well, that's wonderful -- at least they're not just randomly bashing on keyboards. But it ain't Engineering.

    So what is Engineering, you might ask? Well, here's a clue: being an Engineer means that when you screw up, people die. It means that the thing you're making has to conform to standards for safety and performance. And those standards are legally enforced, and you have to be able to prove that your work meets them. It means responsibility. Ask people what professions they think require high responsibility, and they might say something like "doctor." Well, doctors really don't have all that much: unlike Engineers, they can only kill their patients one at a time. Engineers kill people in big groups.

    Now, don't get me wrong: I'm not trying to disparage computer science, or programming. But us programmers shouldn't pretend that our craft is anything other than that: a craft. It's not Engineering, it's not even science unless you're doing theory, and compared to either of those things we're still bumbling around in the Dark Ages.

    If I were applying for a programming job, and the interviewer told me that my title was going to be "software engineer," you know what I'd do? I'd laugh at him, and then insist he change it to something else. There are exceptions to this, of course: people who are writing code to do things like controlling space ships, performing structural analysis, or regulating a nuclear power plant can likely legitimately call themselves Engineers. But the vast majority of programming jobs aren't like that.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    1. Re:Yeah, right! by Anonymous Coward · · Score: 0

      Mod parent insightful.

      Far too much software is simply hacked together for anyone but some truly intelligent computer scientists to refer to themselves as "engineers".

    2. Re:Yeah, right! by darkmeridian · · Score: 1

      What do you think is harder: building a bridge, which people have been doing for centuries, or engineering Windows Vista, which was a completely unprecedented feat?

      --
      A NYC lawyer blogs. http://www.chuangblog.com/
    3. Re:Yeah, right! by Anonymous Coward · · Score: 0

      You using the software we created are you not? If I made the software and there was a bug in it, and you killed million, I'm pretty sure I would be held responsible.

    4. Re:Yeah, right! by Anonymous Coward · · Score: 0


      Computer science isn't science.

    5. Re:Yeah, right! by Viv · · Score: 2, Insightful

      Being called a "professional engineer" is not about how difficult your job is, it's about the level of accountability you have to assume to practice your job.

      By law, professional engineers, like medical doctors and lawyers, can be sued if their product isn't up to snuff. If it's bad enough, they can have their license to practice revoked.

      Software "engineers" have none of that burden.

    6. Re:Yeah, right! by russotto · · Score: 5, Insightful

      Well, here's a clue: being an Engineer means that when you screw up, people die.


      Such drama. Lots of engineers work on non-life-critical things. That doesn't make them non-engineers.
    7. Re:Yeah, right! by jacksonj04 · · Score: 1

      Depending on the choices I make during my next year at uni, I may gain the right to legally call myself a chartered engineer. I probably won't be controlling spaceships or managing a nuclear power plant (I'm doing a cybernetics degree) but I'll be no less an engineer than anybody else who has legally earned that right. Civil engineers take many forms, not all of which are necessarily directly responsible for hundreds of lives (Acoustic engineering for example) but all of which may play a role in a larger system which does. If I can put CEng after my name, I'm an engineer both professionally and legally no matter which soap box you happen to be stood on.

      I agree that the job title "software engineer" is a bit misleading, perhaps "software developer" would be more appropriate, but those people who have earned the right to call themselves Engineers should be able to do so.

      --
      How many people can read hex if only you and dead people can read hex?
    8. Re:Yeah, right! by flibuste · · Score: 1

      being an Engineer means that when you screw up, people die I'm a computer scientist, AKA as "software engineer" in 90% of countries I worked in. If I make a mistake and insert a wrong value in a database, or someone didnt test something correctly, thousands can die in a train crash. Is that engineering?

    9. Re:Yeah, right! by aprilsound · · Score: 2, Informative

      It's not Engineering, it's not even science unless you're doing theory, and compared to either of those things we're still bumbling around in the Dark Ages. Most CS research (especially networking) relies heavily on the scientific method. It's not a 'natural' science like Biology or Physics, but the methods are very much the same. TCP/IP would not be where it is today if not for heavy experimentation and analysis.

      Even debugging (to be effective) requires the scientific method.

    10. Re:Yeah, right! by daevux · · Score: 1

      Computer Science / Software Engineering != Computer Programming.

      Software engineers actually do write applications that can kill people, or cause much harm otherwise (be it financial, etc). And we do have to conform to standards and regulations, whether government or corporate. Unfortunately, the discipline is so new there aren't nearly as many, or as well-defined, or as well-enforced. But eventually, when more and more systems fail because of poor software, software development will need to be formally recognized as an engineering discipline. Or we can do that now, and prevent bad software from happening in the first place.

      Just because software isn't tangible doesn't mean it isn't critical to the well-being of man-kind.

    11. Re:Yeah, right! by WaHooCrazy7 · · Score: 0

      Software engineers have the capability to make people die when they screw up, you may not think of it but they do. For instance take say the navigation computer in any modern airplane, if the software engineer who wrote the code that runs that box screws up the plane has a very good chance of flying into a obstruction. Or the guy who writes the code that controls any major roller coaster that runs multiple trains, if he screws up on the blocking 2 trains of people could die. And going back to that airplane example if the navigation is screwed up, crashing a fully loaded 747 would kill people in big groups now wouldn't it?

    12. Re:Yeah, right! by ak3ldama · · Score: 1

      What do you think is harder: building a bridge, which people have been doing for centuries, or engineering Windows Vista, which was a completely unprecedented feat?

      Wow, I don't know if you are being serious or sarcastic. Not to mention I think you need to swap where you placed the words "engineering" and "building."

      --
      "but money is the God of Algiers & Mahomet their prophet." - Rich. O'Bryen June 8th 1786
    13. Re:Yeah, right! by mdielmann · · Score: 1

      I agree with pretty much everything you said, which is why I'm against programming being held to the same standard, with the exceptions you mentioned. We are still at the infancy of programming, and a lot of mistakes still have to be made before we're going to be able to say what is the best way to do something in a given situation, and why. We have those rules in a few limited areas (sorts, trees, etc.), but the vast majority of software happens outside those realms.
      I think the best professional body that describes programming is the guild. We have our craft, and it's a mystey to most of those outside of it. And how each person does things is slightly different, but the results are strikingly similar for the average user. But 'programming' and 'rigorous standards' in the same sentence is best described as a joke. I'm curious about whether this will change in my lifetime.

      --
      Sure I'm paranoid, but am I paranoid enough?
    14. Re:Yeah, right! by puppetman · · Score: 1

      Engineers like to say that their mistakes have the potential to kill people. The guy who drives the bus I take to work could say the same.

      In fact, the way the guy drives, I'm sure there are a few dead bodies in his past.

    15. Re:Yeah, right! by eggsurplus · · Score: 1

      Well, here's a clue: being an Engineer means that when you screw up, people die.
      Being as that you are yet still a student I will let this statement slide with just a link to some infamous bugs where people have in fact died due to people screwing up.

      http://www.wired.com/software/coolapps/news/2005/11/69355

      Software controls many applications that are vital to sustaining life or that if gone awry could even threaten life. With your narrow definition of an engineer there is no doubt that there is such a thing as a Software Engineer. More so than you'd like to give credit for. I would expand your definition to "when you screw up, you screw other people". This is still not all encompassing but it's a step closer.
    16. Re:Yeah, right! by PrescriptionWarning · · Score: 1

      according to the grandparents halfbaked logic... yes. However that would also make Napoleon, Ceasar, Hitler, and Bush all engineers too because they screwed up and people died too.

      Engineers are people who do more than simply what they are told. They are not black boxes. They find solutions to problems, sometimes even everyday problems, and solve them using some form of technology.

      Example: an architect is an engineer, a brick layer is not
      2nd Example: a software engineer is an engineer, a programmer (what I consider someone who simply writes what you tell them) is not
      3rd Example: the CEO of a mega tech corporation is not an engineer, because engineering requires that you do more than simply come up with the idea. You have to actually be the one figuring out how to go about implementing the solution.

      My idea may certainly have some fallacy in there somewhere, but its certainly more robust.

    17. Re:Yeah, right! by mrchaotica · · Score: 1

      Depends. Is your bridge spanning a 2-lane highway in rural Iowa, or the Akashi Strait (crossing a major fault line)? I'd say that designing Windows Vista is somewhere in between the two. (Incidentally, we should also remember that Microsoft failed to properly design Vista, really.)

      However, as the other reply mentioned, the difficulty is irrelevant. It's about the accountability and responsibility. So here's a better question: Which project is more accountable to its users? The answer is obviously the bridge, by an infinitely large margin. And that applies to the overpass in Iowa just as much as it does to the suspension bridge in Japan!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    18. Re:Yeah, right! by tixxit · · Score: 3, Insightful

      There are plenty of qualified engineers designing non-"life or death" products that wouldn't agree with you. I'd hardly say a using a toilet will turn into a life or death situation, but I guarentee you some engineer took great pride in his crapper. You can say this about thousands of other common things; cell phones, car climate systems, radiators, fans, key pads, etc.. Some software is related to life-or-death (you gave some examples), but much of it isn't. The same can be said for engineered products. I can guarentee you a lot more "rigour" went into the engineering of the guidance system of most airplanes than the gas tank in my car. When your designing software, you are allowed a certain amount of failures. It would simply cost way to much to create something as complex as an operating system an expect to, literally, never fail. The same goes for something like a car. Some things are extremely complex, and there are just too many variables to have it work 100% all the time. Your goal, as an ENGINEER, is to produce something that does its job with a failure rate lower than some minimum and do it within budget. Not everything engineers touch is 100% perfect or someone loses their accreditation. Cars break down routinely, nuclear reactors go off-line, giant undersea cables get cut, roads break and crack, jet engines fail, toilets leak, etc. Software engineering is about taking the standard principles of engineering and applying them software. This is where the idea of testing, monitoring failures rates, cost models, etc. come from. The same way an engineer can produce a product with some defined failure rate, so can someone create software with a defined failure rate. What makes software engineering not real engineering, as has been mentioned, is that engineers sign their name and can be held responsible for their failures directly. Although I don't see why this can't happen with software. We should be able to design software that works within predefined limits. Just because it crashes, doesn't mean someone will get sued. GM isn't sued everytime someone's MAF sensor fails. But, if someone designs some critical, one off, software for a client and guarentees a failure rate that it is obviously not meeting, then they can sue (though they can already do this already).

    19. Re:Yeah, right! by UncleTogie · · Score: 1

      But eventually, when more and more systems fail because of poor software, software development will need to be formally recognized as an engineering discipline. Or we can do that now, and prevent bad software from happening in the first place.

      If 15+ years of BSODs don't qualify as failure, I don't know what does...

      --
      Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
    20. Re:Yeah, right! by Anonymous Coward · · Score: 0

      Sorry - I forgot that being a professional engineer means that your work is based on thousands of years of wild ass guesses, followed by discarding those things that didn't work (usually by blaming them on something or someone outside your control) and proudly declaring success when something didn't fail miserably.

      Sure. Now everything is built by engineers after careful testing and design evaluation (mostly done on computers with software written by software engineers...oops, software developers), but engineering has a long and dark past of failures that most engineers won't own up to, as if failures never take place anymore. Guess that is one difference. Software people generally know their stuff is going to fail and don't get their panties in a knot when someone suggests that it might fail.

    21. Re:Yeah, right! by Waste55 · · Score: 1

      What about those of us who work on life-critical software? We have to have our product conform to very rigorous safety and performance standards. (DO-178B is one example)

      There are software "screw-ups" that can get people killed.

    22. Re:Yeah, right! by p0tat03 · · Score: 1

      Really? You wouldn't think that a battery designer is doing anything life-critical, until the batteries blow up in the user's face. You wouldn't think that the guy designing an electric fan is doing anything life-critical, until the motor detaches itself from the housing and sends a spinning blade into a poor bystander.

      I've seen both, though the latter was a car radiator cooling fan, not fun, and luckily it only took my boss's finger off, and not his life.

      You don't have to be engineering jetliners to be directly responsible for someone's life. Engineers do it every day, and that's what separates the guy coding spreadsheet apps vs. the guy coding embedded software for a heart monitor.

    23. Re:Yeah, right! by mrchaotica · · Score: 1, Insightful

      according to the grandparents halfbaked logic... yes. However that would also make Napoleon, Ceasar, Hitler, and Bush all engineers too because they screwed up and people died too.

      Nope, that's your half-baked logic, not mine. My statement was "if you are an Engineer, then people die if you make a mistake." Your statement is the converse: "if people die if you make a mistake, then you are an Engineer." Sorry, but those two statements are not logically equivalent.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    24. Re:Yeah, right! by urcreepyneighbor · · Score: 1

      Engineers kill people in big groups. A-ha! See?! Further proof that engineer = terrorist!

      What sort of chaos are you planning, "mrchaotica"?
      --
      "The fight for freedom has only just begun." - Geert Wilders
    25. Re:Yeah, right! by computational+super · · Score: 1
      being an Engineer means that when you screw up, people die.

      Aw, dude - my boss read that and now he's up there on the rooftop shooting one person for every screwup we made...

      --
      Proud neuron in the Slashdot hivemind since 2002.
    26. Re:Yeah, right! by mrchaotica · · Score: 1

      Software engineers actually do write applications that can kill people, or cause much harm otherwise (be it financial, etc). And we do have to conform to standards and regulations, whether government or corporate.

      Yeah, and I already made an exception for that sort of thing. However, that's the vast minority of software, and most people who call themselves "software engineers" aren't working on things like that.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    27. Re:Yeah, right! by Anonymous Coward · · Score: 0

      I agree with what you're trying to say, but maybe you should pick a different example...

    28. Re:Yeah, right! by Anonymous Coward · · Score: 0

      And also, some software developers do work on life critical things as well. Look up the Therac-25 case.

    29. Re:Yeah, right! by mrchaotica · · Score: 1

      I agree with pretty much everything you said, which is why I'm against programming being held to the same standard...

      Oh, I know -- and I didn't say it should be either! I think that we shouldn't hold programming to the same standard as engineering, and nor should we call it that when it's not.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    30. Re:Yeah, right! by Anonymous Coward · · Score: 0

      I bet you wear the funny little hat as you lean out the train window, pull back on your throttle and think to yourself... I am omnipotent

    31. Re:Yeah, right! by syousef · · Score: 2, Informative

      I don't suppose you've heard of software that can cause people to die, and in large groups? You know like

      http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.html

      That's just one very classic example. There is plenty of software out there that can kill in large groups. Take the software flight control systems for modern jet airliners.

      I grant you that control systems are just one kind of software. Financial systems however can destabilize entire nations if they fail and that can lead indirectly to loss of life in a variety of ways. Accounting for billions of dollars isn't something you take lightly.

      --
      These posts express my own personal views, not those of my employer
    32. Re:Yeah, right! by pscottdv · · Score: 1

      I have a friend who is a Professional Engineer. He designs parking lots.

      When he screws up, people get their feet wet.

      --

      this signature has been removed due to a DMCA takedown notice

    33. Re:Yeah, right! by Reverberant · · Score: 4, Interesting

      engineers take many forms, not all of which are necessarily directly responsible for hundreds of lives (Acoustic engineering for example)

      You'd be surprised what kind of dangers engineers from different disciplines have to face. Remember the ICE high-speed rail crash from a few years back? That crash happened because a resilient wheel came apart, which derailed the train. Resilient wheels are used as a noise control measure for train wheel/rail noise - thet are designed and spec'd by acoustical engineers.

    34. Re:Yeah, right! by Anonymous Coward · · Score: 0

      I definitely agree - it shouldn't be the potential "death count" that denotes an engineer.

      I can just imagine the outcome:

      Fast Food Engineer (kills by obesity via burgers)
      Highway Line-Painting Engineer (merges lines too quickly)
      Crack Distribution Engineer (slinging the rock)

      I do agree that developer or programmer is a better term, but please spare the drama :)

    35. Re:Yeah, right! by grqb · · Score: 1

      And if thousands of people do die from your mistake, is it you who goes to jail or is it your company's ass on the line? If you're an engineer, it's you who goes to jail. (although, I'm sure the company would also be in trouble).

    36. Re:Yeah, right! by Anonymous Coward · · Score: 0

      I'm a medical doctor. I guess now I am an engineer too?!

      Cue Bones McCoy...

    37. Re:Yeah, right! by PrescriptionWarning · · Score: 1

      perhaps the associative property wasn't on my side, as I read through the post the first time as the converse of what it actually was, however that doesn't mean that the statement was logical

    38. Re:Yeah, right! by Lurker2288 · · Score: 1

      Actually, if the doc in question is the medical monitor in a clinical trial and he screws up, then yes, he can kill large numbers of people all at once. Although a single point of failure would never be enough to put an unsafe drug on the market, bad medical decision making has led to plenty of misery associated with improper drug approvals and prescribing. Granted, it's generally not as dramatic as a bridge collapsing or a nuclear plant melthing down....

    39. Re:Yeah, right! by mrchaotica · · Score: 1

      Being as that you are yet still a student I will let this statement slide with just a link to some infamous bugs where people have in fact died due to people screwing up.

      I'm well aware of those examples; we were told all about them in a few of my introductory CS classes. However, they just prove my point: the people designing those programs should have been, and likely were, engineers! Specifically, I'll bet the code for Mariner I was written (or at least vetted) by an aerospace engineer, and the Therac-25 incident was the fault of a mechanical engineer (because he should have verified that the software was correct or, finding himself unable to do so because he wasn't a computer scientist, at least kept the damn mechanical safety interlocks!).

      With your narrow definition of an engineer there is no doubt that there is such a thing as a Software Engineer.

      Yes, I agree -- I mentioned exceptions at the end of my previous post. However, most people calling themselves "Software Engineers" don't meet that definition!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    40. Re:Yeah, right! by Larry_The_Canary · · Score: 1

      It's not what someone happens to be doing at any particular moment that determines whether or not they are an engineer it's the knowledge of a process that they hold. Just because the project on which someone with this knowledge is currently working doesn't require them to fully apply that process doesn't make them any less of an engineer. If an engineer builds a backyard patio does that mean that they are no longer an engineer?

      Most people who would call themselves 'Software Engineers' have learned a process to guarantee, barring any unforeseen circumstances, that what they build will work correctly. This process may not be perfect but neither is a 'real' engineer's process. Bridges collapse, buildings fall down, shuttles blow up, planes crash and people die in car accidents.

      The fact that you are studying both civil engineering AND computer science makes me think that you have a limited knowledge of software development processes and the progress that has taken place in that field. The domain of software engineering has grown very specialized in the past decade and encompases alot more than UML and unit tests and is not something that can be studied casually or would even be touched on in a computer science minor. I sure as hell hope there was a better process used to develop the software that controls nuclear power plants than some wanker with UML and unit tests.

    41. Re:Yeah, right! by mypalmike · · Score: 1

      Engineering the design of a door handle for a Fisher Price play kitchen such that it is more easily manufactured, and hence cheaper, doesn't involve life and death. There are countless real engineering jobs that involve things like cost-cutting and such on non-critical systems.

      --
      There are 0x40000000 types of people: those who understand 32-bit IEEE 754 floating point, and those who don't.
    42. Re:Yeah, right! by karnal · · Score: 1

      That would suck to lose a finger in that situation. You're right though, worse things could happen.

      If your bosses' life was detached, at least he could spend time on the earth looking for delicious brains. mmm... brains.

      --
      Karnal
    43. Re:Yeah, right! by p0tat03 · · Score: 2, Informative

      Until some real bad judgment sees you putting a small plastic part into the door handle, making it potentially hazardous for children - we've seen it before and we'll see it again. Or maybe during all the cost cutting the company opts for shoddy plastic that deforms and gives off toxic substances in a particularly hot summer. Or maybe the plastic becomes brittle over time, allowing it to snap off and form sharp edges.

      I was personally involved with plastic component design with car radiators - the number of issues you can have with them are immense, the same goes for almost every other branch of engineering. Something that on the surface seems simple and completely removed from life and death situations... are actually not. All of the examples I've brought up are perfectly plausible, and in fact I'd wager some of them have already happened.

    44. Re:Yeah, right! by pinkstuff · · Score: 3, Interesting

      And some Software Developers/Engineers work on life critical systems...

    45. Re:Yeah, right! by gandhi_2 · · Score: 1
      Well Sir,

      Technically, an infinite number of monkeys bashing on keyboards WOULD be engineering.

    46. Re:Yeah, right! by Crazyswedishguy · · Score: 1

      I can see where you're coming from, however, I have to very strongly disagree. Before I explain why, for all it's worth I'll let you know I have studied electrical engineering, civil engineering and computer science, but neither is currently my field of work (conveniently, this means I am sufficiently qualified to speak, yet I don't really have a reason to be biased).

      I think this argument has become ridiculous, and I'm not referring simply to the parent post. First of all, most of the comments I've seen describe engineering as something that inherently involves a great responsibility. Engineers don't only build bridges or airplanes. One simple example: engineers design autonomous or remote controlled unmanned underwater exploration equipment. Yeah, they cost a lot, but if they sink they're not likely to kill anyone.

      One of your arguments is that in engineering (I'll assume you mean "as opposed to software engineering"), "if you screw up, people die". Consider the electronics on board airplanes or space shuttles, and even the electronics that are used to control the brakes on a car. Someone previously commented that his car computer failed and that he was lucky the hardware was made by engineers because otherwise he'd be dead... Because seriously, I've never heard of a fan belt breaking, or the hardware of a car being poorly designed... wtf? (remember the Ford Pinto? http://en.wikipedia.org/wiki/Ford_Pinto#Safety_problems) What would happen if there were some serious flaw in the electronics of a car type that resulted in hundreds of serious accidents and a class-action lawsuit? I can assure you that the software engineers that designed the software would be just as liable as the hardware engineers would if the engines had been randomly blowing up.

      Do you realize that a multitude of things these days are controlled by software (including nuclear power plants) and do you realize the huge consequences the failures of some of these systems could have? Maybe not all software is rigorously tested, but then again, it depends on the application. I run Office at work and Excel crashes pretty frequently. If a person were to die every time Excel crashed, I can assure you it wouldn't be released until it was failsafe. The same goes with a lot of engineering equipment. That's a financial question of cost/benefit.

      Now to say that Computer Science isn't a science is another ridiculous statement, and you haven't studied it. And the application of the knowledge acquired from Computer Science is used to make faster and more reliable software, the same way that the application of physics and chemistry is used to make faster and more reliable cars. If you still doubt me, take a class on algorithms.

      I hate it when people are narrow-minded and only consider one example. If you consider that airplanes are engineering and video games are programming, you'll conclude that programming is not engineering.

      The application of physics, math and chemistry is engineering.
      The application of computer science is software engineering.

      --
      This space up for sale.
    47. Re:Yeah, right! by UnderCoverPenguin · · Score: 1

      Well, my employer, and my clients, call me an "engineer". They also call a lot of other "product developers" "engineers" - be they "software", "electronics", "mechanical" or other. At the same time, they do not treat us much like engineers - not even the ones that are Certified Profesional Engineers. They do not care whether we approve of a design or implementation. They do not ask us if something is possible, let alone reasonably possible. They are unwilling to pay any of us enough to cover the premiums for a malpractice insurance policy large enough to mean anything. (On the other hand, they do recognise that they have taken the responsibility onto themselves.)

      Having said that, my response to you is: (FYI, I work in the embedded systems family of industries.)

      If I screw up, people could die. I have a lot of legally mandated standards to comply with. We get audited regularly and have to provide proof of design and code reviews, issue analysis and resolution, and many other things.

      I would rather not be called an engineer, but my potential clients and employers expect to see that job title in my resume. If it wasn't there, the programs that prescreen resumes would reject me out of hand.

      BTW, FYI, at the top of my resume is "Embedded Systems Software Specialist". That's the one thing my employer let me decide. The rest of my resume is written by them.

      --
      Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
    48. Re:Yeah, right! by mrchaotica · · Score: 1

      Hey, can't a guy have some dramatic license? Sure, not every mistake would cause people to die, but some mistakes could.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    49. Re:Yeah, right! by jwiegley · · Score: 1

      you know what I'd do? I'd laugh at him, and then insist he change it to something else.

      Wait, let me get this straight.. You, the inexperienced, ignorant college student, would say that, at the interview, to the professional offering to pay you and provide you with experience and a career? Thank you!!! More available positions for people like myself who are talented, experienced, graceful, can do the job and don't have an ego to stroke about a title.

      BTW, the vast majority of engineering jobs aren't life critical either. You have a lot to learn, both intellectually and socially.

      --
      I will never live for sake of another man, nor ask another man to live for mine.
    50. Re:Yeah, right! by danrat7 · · Score: 1

      In 21 years in this industry I have yet to see a Real Engineering project (i.e. People Can Die) in todays world that is not entirely designed by software, all the tools use one or more forms of embedded software programs, the detailed materials and even the paychecks are generated by yet more software. Programmers also write the software that performs the QA on each piece of steal, plastic, silicon, and flubber before you ever get your hands dirty. Cause even the slightest imperfection in flubber can cause people to die.

      Lets make a distinction between web weenies and professional software "Engineers" like myself and the people I work with. Those who are Software Engineers have to know your job before they can do their job. If you forget something on your next freeway job there should be a piece of software that tells you what a wanker you are before you kill someone.

      So if you are just using style sheets to pretty up some HTML for home pages with a dabble of JavaScript you should not have the title of Engineer. So I get your point that these guys should never get near the title of Engineer.

      However, if you wrote the navigation software for the Global Hawk or the F22 you should get a title much more lofty than the guys working to design a few chip sets with a "Need to Know" barrier who never see's the big picture.

      You will never convince me that what hard core coders who's applications save life's every day are not Engineers.

      You just have to separate them out based on their impact to the big picture and how much flubber is going to be involved.

      Lastly, when you consider how much more rapid the software development industry changes with new frameworks, languages, and platforms, I think begin a Civil Engineer is much easier to keep up with. At this rate I have a new language thrown at me weekly and I have to go find an Engineer and learn their job before I can make the software to help them do theirs .

    51. Re:Yeah, right! by framauro13 · · Score: 1

      Well, here's a clue: being an Engineer means that when you screw up, people die. I work for an insurance company. I engineer code that helps kill people.

      Besides, judging by the arrogance and assumption that your limited schooling implies you know more about the two fields than those who have actually completed the courses, let alone have decades of experience, I'd say you sound EXACTLY like every so-called "Software Engineer" I've ever met!
      --
      In an effort to conform with internet communication standards, please note that the above comment is 100% biased opinion
    52. Re:Yeah, right! by mrchaotica · · Score: 1

      The fact that you are studying both civil engineering AND computer science makes me think that you have a limited knowledge of software development processes and the progress that has taken place in that field.

      Possibly. I've been specializing in graphics and systems on the CS side, not software engineering.

      The domain of software engineering has grown very specialized in the past decade and encompasses a lot more than UML and unit tests and is not something that can be studied casually or would even be touched on in a computer science minor.

      Glad to hear it. But the "software practicum" class I took a couple of years ago provided no indication of that. Also, I'm double-majoring, not just getting a minor.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    53. Re:Yeah, right! by Surt · · Score: 1

      I'm pretty sure the software I've written for airplanes can kill at least 300 people at a throw, more if the plane hits something interesting on the way down.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    54. Re:Yeah, right! by lantastik · · Score: 1


      Engineer means that when you screw up, people die.

      ...which is entirely different from the software developers who write software for heart monitors, oxygen machines, and other critical life support systems? ...or those developers who write software that control traffic signals, emergency response systems, et al. See, even civil engineers need software engineers. Get off your high horse and make sure you pick that CS side of your degree as your career path. You'll make a LOT more money, and while not scientifically proven, you'll have a much hotter wife (or life partner, pick your poison).

    55. Re:Yeah, right! by mypalmike · · Score: 1

      OK, you win. Every engineering decision is life-or-death.

      --
      There are 0x40000000 types of people: those who understand 32-bit IEEE 754 floating point, and those who don't.
    56. Re:Yeah, right! by DrVomact · · Score: 3, Insightful

      Ask people what professions they think require high responsibility, and they might say something like "doctor." Well, doctors really don't have all that much: unlike Engineers, they can only kill their patients one at a time. Engineers kill people in big groups.

      Hmm. I thought you said you are studying civil engineering, but it sounds as though your career objective is combat engineer. Surely you know the distinction: "civil engineers build targets, combat engineers destroy them". But I think I get the idea: you're saying that engineering differs from computer programming in that engineering is an activity that has real-world consequences, while programming does not. So if you're a programmer working on, say, the targeting and guidance software for a cruise missile, then you're completely harmless. I work for the software group of a company that makes lab instruments that analyze yucky bodily fluids to see what's wrong with people. Those instruments are controlled by...software. (It runs on Windows, don't tell.) If I screw up, and a few hundred cases of Hepatitis C go undiagnosed before someone notices, well...I probably won't have killed too many people. After all, I'm just a harmless programmer...

      I actually agree with you—the title "Software Engineer" is pretentious. I disagree with your apparent belief that programming differs from engineering in that only engineering can have serious—even fatal—consequences. As I tried to show with my examples, the way in which computer programs function—or fail to function—can have serious consequences as well. So what is the difference between engineering and programming?

      You might invert the question: why would anyone think they're the same? I think it's correct to say that, in the most general terms, engineers determine how to construct or arrange materials to fulfill a specified purpose. In doing so, they manipulate quantifiable entities—such as the strengths of materials, the distribution of stresses, the known limits and characteristics of varying methods of construction as determined by empirical study, and so on. Programmers don't do anything like that. Programmers write code, and code is an application of logic. You might say that programmers are like engineers who build logical machines, but that's mere metaphor. Computer programs don't break because the wrong type of steel was specified for one of the gears.

      So where did the notion of "software engineering" come from? Maybe it's symptomatic of an unspoken insecurity, a fear that programming isn't a serious profession. Perhaps one source of this insecurity is that programming is still a very new item in the human tool-box, and we haven't quite decided which compartment to put it in. Moreover, programming isn't like any other tool we've had before. It resembles engineering in that the programmer does build something, though no materials are used in the building. It resembles mathematics in that it's logical, but it isn't bound by mathematical rigor. You can't "prove" a program—except perhaps in a—completely impractical—theoretical sense. (Of course you can test programs, and rest assured that where I work, we have very thorough software design and testing protocols.)

      And now the next contentious question: are computer scientists really scientists?

      --
      Great men are almost always bad men--Lord Acton's Corollary
    57. Re:Yeah, right! by Chris+Shannon · · Score: 1

      being an Engineer means that when you screw up, people die. and

      the discipline is no less rigorous than any other kind of engineering. But perhaps its for the best,... Had you been an Engineer, no less than 14 people would have died from that screw up alone.
      --
      "Follow me" the wise man said, but he walked behind.
    58. Re:Yeah, right! by The+One+and+Only · · Score: 1

      You wouldn't think floating point libraries would be life-critical either, until they put one into a life support system.

      --
      In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
    59. Re:Yeah, right! by The+One+and+Only · · Score: 1

      Well, here's a clue: being an Engineer means that when you screw up, people die.

      My dad was an engineer in the Marine Corps. I know that's a different sense of the term, but when combat engineers screw up, people don't die. What do you have to say to that? I've run rings around you logically!

      --
      In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
    60. Re:Yeah, right! by Anonymous Coward · · Score: 0

      Lets look at some definitions of "science".

      dictionary.com
      1. a branch of knowledge or study dealing with a body of facts or truths systematically arranged and showing the operation of general laws: the mathematical sciences.
      2. systematic knowledge of the physical or material world gained through observation and experimentation.
      3. any of the branches of natural or physical science.
      4. systematized knowledge in general.
      5. knowledge, as of facts or principles; knowledge gained by systematic study.
      6. a particular branch of knowledge.
      7. skill, esp. reflecting a precise application of facts or principles; proficiency.

      Lets see yup #1 applies. Much of CS is based on mathematics. Yup #4 applies. Yup #5 applies. Yup #6 applies. Yup #7 applies.

      So it appears you don't know what you're talking about. Maybe you are confusing "science" and "natural science". Then again if you had a science degree you might know this.

    61. Re:Yeah, right! by mrchaotica · · Score: 1

      Where'd that second quote come from? Not only do I not recall writing it, I searched for it in the thread and couldn't find it.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    62. Re:Yeah, right! by p0tat03 · · Score: 1

      Precisely. I'm of the opinion that programming is a form of engineering, but not all of its practitioners deserve to be called engineers. To be an engineer is to accept a certain amount of accountability for your actions.

    63. Re:Yeah, right! by VanessaE · · Score: 1

      Well, here's a clue: being an Engineer means that when you screw up, people die.

      Oh, you mean like that pilot a few years ago who was flying some high-end military jet and nearly bought the farm because the guidance system in said jet decided that he should suddenly nose-down 90 degrees when he crossed the International Date Line? Here's a clue for ya: It sure as hell wasn't his engine or wings that failed that day - it was a piece of software.

    64. Re:Yeah, right! by ishmaelflood · · Score: 1

      "I'd hardly say a using a toilet will turn into a life or death situation"

      6 year old child stands on a washbasin.

      It breaks into foot long shards.

      She is now in hospital, having fallen through and onto the shards.

      So, are you suggesting the 'engineer' should put "don't stand on this" stickers on the washbasin?

    65. Re:Yeah, RIGHT! by yabos · · Score: 1

      Maybe if you were in Software Engineering instead of Computer Science you would understand the difference. Software Engineering is applying the engineering principles to software design, to make it more robust and accountable. There may be laws in place that state software companies can't be held liable because of some EULA but that does not mean that SE does not try to apply the engineering discipline to software. In fact, the first 2 years of my program, SE, was taking regular engineering courses along side mechanical, electrical, chemical etc.

      And, that's a stupid classification to be called an engineer. According to you, you're only an engineer if your stuff can kill someone and you go to jail or be fined or lose your license. That's bullshit. I can write the P.Eng exam in Ontario and become a professional engineer if I pass the test and meet all other requirements.

    66. Re:Yeah, right! by Shotgun · · Score: 1

      Engineer --- one trained and adept at deriving the most benefit from the least investment.

      I was told that by a teacher a long time ago. Getting the most from the least requires that you understand what each component of a system does, and how they all interact. Software Engineering simply means that you choose from among the available algorithms, languages and libraries in order to optimize a certain set of parameters. Mortality rates have nothing to do with it.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
    67. Re:Yeah, right! by yabos · · Score: 1

      I think the GP is suffering from the engineering pompous ass syndrome. I've noticed this a lot from most engineers. They think they are something special because they are engineers. Even the professors say stuff like that and drill it into the student's head that they are better than the lowly worker because they are an engineer.

    68. Re:Yeah, right! by DrVomact · · Score: 1

      I don't know what you mean by "accountable". Do you mean in the legal sense? Are you saying there's going to be more lawsuits if a major bridge collapses than if Vista has a bug in it? Well yeah...nobody has gotten killed by a Vista bug yet, but that's just a special case. As I've written before, there are cases where software can kill people, either by accident or by design. But that isn't really the issue, is it? You say the issue is "accountability", but I'm not sure what you mean.

      It's true that Engineers enjoy a special legal status, which is enshrined by law in many countries. That status is much more formal in Europe (and probably Canada) than it is in the United States. I have a feeling that many of the posters who are coming down on the side of "engineers are accountable" are posting from outside the U.S. Perhaps that is true in your case? In any case, it remains for you to argue that programmers can't be "accountable" in the same sense as engineers; in other words, if you think programmers aren't engineers, why is this not simply a legal matter than can be changed by your legislature?

      Personally, I wouldn't advocate legal standards for programmers; in my opinion, such regulation would only bog down the industry. One of the advantages the U.S. enjoys over Europe is that it is much less bound by credentialism. Back when writing software was just dawning on the horizon as a profession (I speak of the ancient 1980s here), it was fairly easy to talk your way into a programming job, even though you'd never studied computer science in school (I had a degree in Philosophy) and had no real experience. In Europe, this might have been possible, but it was damned unlikely. The notion of hiring someone for a "technical" job who does not have the appropriate academic credentials gives most Europeans apoplexy. That's one of the causes of the great surge in innovation in the U.S. computer industry in the latter couple of decades of the twentieth century. While the Europeans were waiting for the universities to turn out "qualified professionals" to do things properly, smart and motivated people in the U.S. were innovating.

      By the way, if an engineer in the U.S. who works for a construction firm that is contracted to build a bridge makes a mistake, I think he probably isn't going to be legally liable. The firm will be liable—at least in the legal sense. I don't know what would happen in Germany or France.

      And here's a question: suppose there's a bug in a CAD program used by the engineer that causes the design of the bridge to be screwed up. Who's to blame? Does the craftsman get to blame his tools? And where would you engineers be without us software people to create the new wonderful tools you rely on, eh?

      --
      Great men are almost always bad men--Lord Acton's Corollary
    69. Re:Yeah, right! by tixxit · · Score: 1

      I don't remember suggesting anything of the sort, and don't quite see how you got that from my post. Your example is good though. That's one of the things they may (and probably would) account for when engineering the toilet; if it can stand the stress from someone standing on it. Every toilet has been stood on at least once or twice, so it is a fairly likely scenario. But, given that's its a toilet, the engineers aren't going to account for every single possible scenario. They have budgets, so they're not going to engineer the toilet to withstand a blast from a sledge hammer (which could result in shards flying off and hitting someone in the eye), since, you know, it is conceivable someone somewhere may accidently/purposefully smack a toilet w/ a sledge hammer. Its just too unlikely and too costly to have the toilet be able to handle that situation. The same goes with software. Its impossible to test every possible path in some software. So, there are many different testing methods available to let you choose some subset of tests that should account for the most likely situations while remaining cost efficient. Even if bugs are found, how likely is it that someone will find it? Is it standing-on-a-toilet likely, or getting-hit-with-a-sledge-hammer likely. If its the latter, it may not get fixed before the initial release. Releasing software with bugs isn't bad engineering, its good engineering. Its making that trade off between cost and reliability. Engineering isn't just engineering the hell out of something, its knowing when to make that trade off.

    70. Re:Yeah, right! by geekoid · · Score: 1

      If your are a licensed PE, you do have the 'burden'.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    71. Re:Yeah, right! by konohitowa · · Score: 1

      (this is a response to the chicken-littles replying who are able to find myriad ways for even the most trivial of engineering jobs to result in mayhem)

      I find it difficult to believe that a packaging engineer has a life or death decision in their hands. I'm sure the pedants (aka the argumentative) out there will quickly come up with some scenario wherein a poor packaging job results in the subsequent death of some warehouse worker.

      But get real - if my kid's Gameboy suddenly goes TU due to a circuit failure that's traced to poor design or parts spec'ing, the only adverse effect to anyone's life would be to mine when the subsequent whining starts.

      Many engineering jobs are about spending time up front in order to save money in production - under the assumption that a large number of the items will be produced - for EE's it's the "parts count" obsession. Software is a completely different beast because production tends toward being free. Unfortunately, strategies that work well for managing physical engineering (machines, electronics, roads) don't work well with virtual engineering (software, web sites, firmware). That and the fact that the tasks that are typically relegated to software are the types of tasks that aren't easily done in other areas of engineering - tasks that are either unlike anything ever done before (i.e. nearly impossible to estimate) or that are subject to constant, unpredictable change and therefore prohibitively expensive to do in the physical realm.

      Having said that, I work in safety critical software, and there is a lot of systems engineering, design, review, test (in essence, layers and layers of process) that go into any given build. However, control systems are one of the areas where a hardware engineering discipline translates cleanly to a software engineering discipline. This also equates to expense. Which goes downstream to the customer. That type of pedantry applied to MS Office would make it even more outrageously expensive than it already is. Same goes for the free electronic toys my kids get in their Happy Meals. It's just not worth it in those arenas

      In a nutshell, the idea that calling something engineering somehow implies correctness and safety is not necessarily true.

  29. The intro sounds like a Sinatra song by Anonymous Coward · · Score: 0

    From That's Life:

    I've been a puppet, a pauper, a pirate,
    A poet, a pawn and a king.
    Ive been up and down and over and out
    And I know one thing:
    Each time I find myself flat on my face,
    I pick myself up and get back in the race.

  30. A++ tags, would read again by Osurak · · Score: 5, Funny

    programming, douchebaggery, pompouswanker, whining, slashdotted
    How appropriate.
    1. Re:A++ tags, would read again by rabiddeity · · Score: 1

      How appropriate.

      You fight like a cow?

  31. The demand for programmers by ooze · · Score: 1

    When you are a halfway decent programmer and do it professionally, you will come across a wide range of projects. And what happens wich each new project? In a matter of days or 1-2 weeks you gotta acquire the knowledge of your new problem domain. And that is very often a problem domain others spend years to study and get a degree, yet as a software engineer, you gotta be able to understand the problem domain good enough to automate it. T means you must be able to understand all the nomenclature and the structure, you must be able to spot even the subtlest problems, you must know the pitfalls and special cases, you must be able to talk to the experts in their domain on somewhat equal footing. And if you wanna be any good, you must understand the new problem domain enough to generalize it and often to make it accessible to non-experts.
    And that is only one half of the job. The other half is the broad field of computer science ... which is the prerequisite for all this.
    In my life as a programmer I have had to learn the termodynamics and streaming physics of internal combustion engines, the bioengineering for bio-processing tanks in pharmaceutical production. Dentist medicine. Law. Economics. Hard body physics and so much more. And about each year one or two neew things get added to the list.
    Sure, I'm no expert in either of those fields. But I know (or knew) enough to find my way around by myself for 90% of the time, and to know when I should ask the expert. And the fact remains ... it is your bread and butter to learn things in a matter of days others take and need years to learn.

    --
    Just because I can imagine doing a hippopotamus, doesn't mean I'd like to do it.
  32. all this blather by circletimessquare · · Score: 1

    "software engineering" or whatever the hell it is, is something a smart 10 year old can learn and do as well as some guy who has 40 years in the field. you will of course here blather about knowing about N gates and P gates, UML and use case

    as if any of that crap really matters. seriously

    not having htis matter is good, because unlike a real chemical engineer, us IT plumbers, or dot com hot air wranglers, or whatever the hell we are, don't have to play with chemicals that give us cancer

    at the same time, as soon as we turn 30, we are antiquated and ancient

    long live the ultimate job title: electron marching band drill designer

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  33. Canada *Do* call software engineers as such by Anonymous Coward · · Score: 0

    In the Canada where I live, there is software engineers, and they do call themselves software engineesr. They even have university programs for that. (https://www.mcgill.ca/engineering/degrees/undergrad/software/)

    Now, in order to call yourself a "Software Engineer", or any kind of "Engineer" for that matter you have to be member of a professional order. The reason for that, is to make sure that not just any Joe Blow of the street can prentend to be an engineer without being one actually. (unlike in the USA) ...Protects the public against the posers.

    http://www.peo.on.ca/

    that's all.

    So you probably live in a different one than the one were I live.

  34. Rigor? That's not the issue. by Malkin · · Score: 2, Interesting

    I was unable to read the article, due to Slashdottery, but from the quote, I think Mr. Wise is failing to understand what "engineer" means. There's no minimal competency required to slap "Software Engineer" on your card, there's no license board that will certify your competence, there's guarantee to a given customer that you have any clue what you're doing, and you are ultimately not liable for damages, in most cases, if you are producing defective work.

    It's not that software engineers don't care, or that we're somehow inferior. It's that there's no way to learn software engineering the way Engineering disciplines are learned. You can teach a civil engineer to make a bridge that will stand for 200 years, but there is no educational program in existence that can even begin teach a software engineer to design flawless software. That discipline simply doesn't exist. I can use mathematics to design a concrete structure that is 100% guaranteed to float. I cannot use mathematics to design billing system software that is 100% guaranteed to address all requirements. A hodgepodge of algorithm analysis, best practices, design patterns, gut instinct, pretty diagrams, and programming experience does not an engineering discipline make.

    On top of all this, people make demands of software engineers that no one would make of an Engineer. Imagine that a construction crew is halfway through building the bridge which you designed, and then the government comes back to you, and tells you that no, they've decided that really they want the entire bridge to be two feet to the left. Oh, and they don't like how the concrete looks, so could we use granite, instead? Or, imagine that a car company has tasked you with creating a concept car for the Detroit auto show, but they don't quite know what it looks like or what it should do, beyond some vague hand-waving, and they're hoping that you can iteratively evolve a concept car for them, so they can give feedback as you work, but they expect this all to happen for the price of building one car. Then, they come back two months later, and tell you that they've decided that they're skipping the auto show, and instead, they need it to be road legal and ready for production by July.

    So, yes, we may call ourselves "software engineers," but we're not really Engineers. We have a lot of uncertainty in our lives, and in all fairness, I, for one, don't want the liability.

  35. Even Burger Engineers are multi-skilled by EmbeddedJanitor · · Score: 1
    Flipping, charring, till operating, cleaning and eating the shit from customers while keeping a smile on your face. All jobs require multiple skills.

    Silly whining poster probably just got out of college and is used to mommy and daddy telling him he's the greatest. Now in the real world he's just another bottom-of-the-pile programmer. Life: get one!

    --
    Engineering is the art of compromise.
  36. Easy solution to his problem. by onkelonkel · · Score: 2, Informative

    1. Go to university and get a degree in software engineering.

    2. Work a few years till you meet the requirements for registration.

    3. Pass the professional practice exams and become a registered professional engineer.

    4. Now you _are_ a software engineer, so now you can call yourself a software engineer.

    5. Profit??

    --
    None of them can see the clouds; The polished wings don't care.
  37. A few clarifications from the author of the post: by Anonymous Coward · · Score: 5, Informative

    - Sorry about the site being down. Its probably not a coincidence that I made Slashdot AND my host (which, to be fair, survived a Digg-rush awhile ago) is having troubles. I'm on the horn with them right now.

    - A few people, who likely didn't make it to the site, like to make broad generalizations about geeks of this sort not having sex. I'd like to point out for the record that I'm married, have one child and another on the way. This suggests that I've had sex at least twice. And my wife is very beautiful.

    - The intent was not to gripe about Canada's standards for the term "engineer." I only pointed that out the difference between my home country, and my current country of employ. I prefer the term "software developer" myself, but it doesn't really matter to me.

    - The intent was also not to be pompous or fuel my own ego, it was to describe, as eloquently as I knew how, what most of us here on Slashdot are. Although the stigma is going away, us geeky types tend to be considered only that: geeks. When really there is art and beauty to what we do. I'm not even as skilled a programmer as I imagine most are, but I wanted to lend my prose to our art because I believe it is valuable. But flame on, if you must!

    Thanks for reading, hopefully the site will be back up soon! I'd copy and paste the article text here, but I wasn't expecting this and don't have an offline copy!

    Jonathan Wise

  38. Software is different for a damn good reason by Lost+Found · · Score: 5, Interesting

    But software is different, for some reason.

    Two reasons. 1: the warranty disclaimer. Like it or not, "NO WARRANTY" is stamped on to the licenses of commercial software because software consumers don't want to pay the higher cost that would be demanded if a warranty were provided. SLAs do exist, but SLAs cover services. The market is willing to pay for SLA on services, and the whole system works, even if it's not quite as perfect as we might dream.

    The other big reason is that a blue screen of death doesn't result in actual death. If you're building homes or highways, you have human life in your hands, and holding you accountable for negligence seems a bit more appropriate. If you're building door locks for the home and a burgular manages to pick it, holding you accountable for negligence is ridiculous because you never promised the lock couldn't be broken. If you're building the home's foundation and it cracks, you still aren't held liable unless you warranted that the foundation wouldn't break. And you wouldn't do that unless you could afford to fix it if it did.

    Simple economics. The market has supplied what the consumer has demanded. But some people get these ridiculous ideas about licensing software developers or enacting liability laws when there is NO risk to human life. They try to draw comparisons to disciplines where there are, then gloss over the details. Under even the most brief analysis, the argument doesn't hold water.

    1. Re:Software is different for a damn good reason by orclevegam · · Score: 2, Informative

      (To expand on the ideas of your post)
      A great deal of crap software is actually pushed out the door against the objections of the developers that created it. Ultimately it comes down to marketing and PR and not the developers in most cases as to when a particular piece of software is ready to ship. Also, as has been pointed out, people would be unwilling to underwrite the cost of a theoretically "perfect" piece of software that would never crash (barring hardware failure, or cosmic ray induced bit flipping), because given the choice between a $50 piece of software that crashes once a week, or a $9000 piece of software that crashes never, almost everyone is going to pick the $50 one and live with the occasional crash. Does that mean developers like that? No, and most of them cringe whenever anything they wrote so much as hiccups, but sometimes they're just not given the chance or the resources (or clear documentation) they need to design it properly, because the bean counters know that the $9k piece of software the developer dreams of will never sell, but that $50 one they're puttering around with now is just about the right level already.

      --
      Curiosity was framed, Ignorance killed the cat.
    2. Re:Software is different for a damn good reason by AutopsyReport · · Score: 5, Insightful

      I would argue that software is different for other reasons. Most software developers/companies cannot be held accountable because changes in the industry are beyond their control.

      For example, when engineers design and build, they have to contend with a variety of concerns. Most of these concerns are calculable, limiting, and realistic. As a simple example of the forces of nature, wind power is calculable and only occurs within expected limits. Things are built to withstand extreme winds. But there is a threshold -- we don't build to withstand 5,000mph winds because we know it just won't happen. Wind is wind, it increases or decreases, nothing more.

      Software, on the other hand, has the problem of dealing (or not dealing) with unknown circumstances. Developers cannot know that in five years, the platform their product was built on will be obsolete and unusable. Products come and go daily, and support for these products fade just as quickly. Hardware also changes on a daily basis, making it impossible to stand behind your product, the same way an engineer does his. There is no professional obligation for software developers because there are so many unknown variables that come into play.

      Here's another way to look at it using the bridge example. If an engineer 50 years ago built a bridge to support the horse and buggy, not knowing that the invention of the modern-day car was on the horizon, he cannot be held accountable for the bridge's collapse under the weight of multiple vehicles.

      This is akin to software development. Developers cannot predict the future, consequently cannot plan for it, and ultimately therefore cannot be held accountable for it's failure. Also... The other big reason is that a blue screen of death doesn't result in actual death.

      Actually, depending on the context software is used in, it can quite quickly result in death. Planes and automobiles come to mind.

      --

      For he today that sheds his blood with me shall be my brother.

    3. Re:Software is different for a damn good reason by Peter+Cooper · · Score: 1

      Software can cause death. A military helicopter crashed and software faults were one of the main causes.

    4. Re:Software is different for a damn good reason by cp.tar · · Score: 2, Insightful

      Software, on the other hand, has the problem of dealing (or not dealing) with unknown circumstances.

      ... and that is the other end of the issue: the users.
      As we all know, the user is the greatest unknown — the things an uneducated user could think of...

      On one hand, I see the problem with "software engineers" designing crap software; on the other hand, I see the uneducated users as just as dangerous as 14-year-olds behind the wheels. Of sportscars.

      --
      Ignore this signature. By order.
    5. Re:Software is different for a damn good reason by jgclark123 · · Score: 1

      That's why the military, hospitals, and anyone else who depends on 100% accuracy in the programs they use don't buy the $50 software aimed at consumers.

      --
      "May evil beware, and may good dress warmly and eat plenty of fresh vegetables." -The Tick
    6. Re:Software is different for a damn good reason by nusuth · · Score: 3, Insightful
      I would argue that software is different for other reasons. Most software developers/companies cannot be held accountable because changes in the industry are beyond their control. For example, when engineers design and build, they have to contend with a variety of concerns. Most of these concerns are calculable, limiting, and realistic. As a simple example of the forces of nature, wind power is calculable and only occurs within expected limits. Things are built to withstand extreme winds. But there is a threshold -- we don't build to withstand 5,000mph winds because we know it just won't happen. Wind is wind, it increases or decreases, nothing more. Software, on the other hand, has the problem of dealing (or not dealing) with unknown circumstances. Developers cannot know that in five years, the platform their product was built on will be obsolete and unusable. Products come and go daily, and support for these products fade just as quickly. Hardware also changes on a daily basis, making it impossible to stand behind your product, the same way an engineer does his. There is no professional obligation for software developers because there are so many unknown variables that come into play.

      Give me a break! There is no engineering environment better specified than a computer platform. The material world never does what you tell it to and you never get to dictate how it should work. You have to go at length to make its own working to suit your needs. We have means of predicting its behavior but it always has a lot of uncertainty. The raw materials are ill-specified, initial state of the system is imprecise and the models are incomplete. Worse, future environment is usually unknowable. IOW, you never get to know the operating environment of a RW engineered system.

      In software engineering, you always have a precisely defined system and if that environment isn't working to your specifications, you know that some other software or computer engineer messed up. It doesn't matter if the other guy of your own messed up backward compatibility or initial design; it is still some software engineer failing to write bug-free code to specification. The hardware changes are a lame excuse. Why does it matter if they changed the physical realization of a specification? If they did their job, your software shouldn't fail (but sometimes it still does) or they failed their job and you are not supposed to be responsible anyway. Software engineering is hard, but that is due to very complex interaction of very well specified components. Taken as a whole software environments are best specified and controlled engineering environments possible.

      --

      Gentlemen, you can't fight in here, this is the War Room!

    7. Re:Software is different for a damn good reason by cptdondo · · Score: 1

      I could put "NO WARRANTY" on everything I do, but as soon as the seal goes on, I am personally liable for any errors, including those made by others. How many IT professionals would trust their own work enough to do that?

      BSOD doesn't kill people, maybe. But errant software *does* kill people; patients have died because of mis-programmed machines, and so on. I can't quote cases right now, but they've happened.

      Bascially, "real" engineers are held liable for the mistakes made on their watch, programmers are not. It doesn't matter if you're pressured into releasing a design before it's ready, or anything else. Your seal is on the drawings, you are liable. Get a seal, certify your programs, and pay for any real and imagined damages.....

    8. Re:Software is different for a damn good reason by theotherbastard · · Score: 1

      The other big reason is that a blue screen of death doesn't result in actual death.

      Tell this to the people who write and maintain the software that manages the power grid.

      --
      Buttons aren't toys.
    9. Re:Software is different for a damn good reason by umghhh · · Score: 1

      This argument has certainly value. I disagree with all the software designers not being accountable for however. There are areas where not fulfilling predefined quality criteria calls for a high fine. It used to be so at least. Anybody involved in development, sale maintenance etc of telecom software can attest.

      I find it ludicrous that software in a car is of such bad quality as it often is. I wonder sometimes how on earth software controlled airplanes of today do not fall on earth on regular basis. A friend of mine an engineer that stupidly went off the track and became a software developer told me once that he thinks that these are the small genies that keep airplanes flighting. When I think about all the stuff that works on software and for instance keeps heart machine in the hospital working I am convince that he was right and . there must be genies.

    10. Re:Software is different for a damn good reason by AuMatar · · Score: 1

      A small minority of software can. Your web browser can't. The latest video game can't. Its too heavy handed to regulate all of software for those corner cases. Regulate those sections of the market that need it, and let the rest continue. Frankly much of it should be left to civil litigation anyway- it shouldn't be criminal for oracle to crash, but if that crash cost their customer $X, they should be liable for it.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    11. Re:Software is different for a damn good reason by mrchaotica · · Score: 1

      A great deal of crap software is actually pushed out the door against the objections of the developers that created it.

      Yeah, that's another issue: if people calling themselves "software engineers" were required to be licensed, and really important code (which is not even slightly close to "all code"!) was required to be vetted by a licensed software engineer to be used, then the software engineer in charge would suddenly have a lot of power to resist that kind of thing.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    12. Re:Software is different for a damn good reason by naasking · · Score: 1

      Regulate those sections of the market that need it, and let the rest continue.

      Or just don't. There are already software companies that accept liability if their software has bugs, and such software is used in mission critical systems (see QNX). Why introduce regulation when there isn't really a problem?

    13. Re:Software is different for a damn good reason by mrchaotica · · Score: 1

      For example, when engineers design and build, they have to contend with a variety of concerns. Most of these concerns are calculable, limiting, and realistic. As a simple example of the forces of nature, wind power is calculable and only occurs within expected limits. Things are built to withstand extreme winds. But there is a threshold -- we don't build to withstand 5,000mph winds because we know it just won't happen. Wind is wind, it increases or decreases, nothing more.

      Almost. Wind is calculable and only is likely to occur within expected limits. The probability of a 5,000mph wind gust is vanishingly small, but not quite zero. I mention this because all of these "calculable" concerns you mention are based on probability and statistical analysis, and the engineer's decision of what probability of failure is acceptable, not absolute known values.

      Here's another way to look at it using the bridge example. If an engineer 50 years ago built a bridge to support the horse and buggy, not knowing that the invention of the modern-day car was on the horizon, he cannot be held accountable for the bridge's collapse under the weight of multiple vehicles.

      But the engineer who did the most recent serviceability analysis, and failed to rate the bridge low enough to force it to be closed, could be held accountable.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    14. Re:Software is different for a damn good reason by Anonymous Coward · · Score: 0

      In software engineering, you always have a precisely defined system and if that environment isn't working to your specifications, you know that some other software or computer engineer messed up. If engineers had to build bridges like programmers write software, they would have to create one parametric design which could be used to span a creek as well as to connect Africa and Europe across the straight of Gibraltar. After all, the environment is precisely defined: Land mass A, land mass B, water in between. "You want to be paid how much for the design? For a creek bridge?"
    15. Re:Software is different for a damn good reason by styrotech · · Score: 1

      The material world never does what you tell it to and you never get to dictate how it should work. You have to go at length to make its own working to suit your needs. We have means of predicting its behavior but it always has a lot of uncertainty. The raw materials are ill-specified, initial state of the system is imprecise and the models are incomplete. Worse, future environment is usually unknowable. IOW, you never get to know the operating environment of a RW engineered system.


      Exactly.

      This is especially the case with Civil Engineering when your materials include stuff like soil. It is hard to pin down it's mechanical properties in the first place, let alone changes over time due to groundwater levels and settling etc.

      Thinking that wind or earthquake forces are predictable and easy to model on a structure is also naive. While smaller structures can just be designed from overspecified design tables to compensate, that just doesn't cut it for bigger projects (eg skyscrapers or long suspension bridges) that are approaching the limits.

      Also with real world engineering projects the design must be correct before building it. While modifications can be made to minor details after it is built, you can't wait for a refactored new release to fix any major design problems.
    16. Re:Software is different for a damn good reason by nusuth · · Score: 2, Insightful

      I agree, fortunately real engineering disciplines have a sense of scales. So we usually don't (over-)over-engineer. Trying to use the same design for vastly different scales if an illness of the programmer, not the engineer.

      --

      Gentlemen, you can't fight in here, this is the War Room!

    17. Re:Software is different for a damn good reason by gnick · · Score: 1

      The latest video game can't [cause death]. Oh, really? Apparently you are not familiar with a certain litigious fellow who hangs hit hat in Florida. If I understand his position correctly, he may disagree.
      --
      He's getting rather old, but he's a good mouse.
    18. Re:Software is different for a damn good reason by Anonymous Coward · · Score: 0

      You don't understand. It's not the software developer's fault if the sales people accept a specification which is equivalent to "land mass A, land mass B, water in between, design bridge." And then we get the bad rep when you can't land an A380 on the intercontinental bridge that we had 2 weeks to build with a manager breathing down our necks and complaining why it takes so long to build a creek bridge. Software engineers will not accept responsibility for their designs until this nonsense is done away with. Where the requirements and specifications are clear, the budgets aren't penny-jar material and the amount of time is adequate for the scope of the project, software companies do guarantee the quality of their work.

    19. Re:Software is different for a damn good reason by Hognoxious · · Score: 1

      Give me a break! There is no engineering environment better specified than a computer platform. The material world never does what you tell it to and you never get to dictate how it should work.
      The problem is that in the physical world, problems generally manifest themselves early, and they manifest themselves obviously. The wall falls down before you get the last course on; the plane's wings snap before it gets out of the hangar.

      Whereas a heap of shitty code that can bamboozle a compiler into accepting it is assumed to work. Which it does, for very small values of work.
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    20. Re:Software is different for a damn good reason by Torvaun · · Score: 1

      Yeah, but he blames it even (especially) when it's running as it was intended.

      --
      I see your informative link, and raise you a pithy comment.
    21. Re:Software is different for a damn good reason by Skreems · · Score: 2, Funny

      That's a damn good point. If cars were as fault tolerant as users want computer programs to be, you could pour soda into the gas tank and the car would filter it out, put it in a cup, and place it in your drink holder for you. The number of strange operating conditions that software handles gracefully is extremely broad, compared to a lot of other consumer products.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    22. Re:Software is different for a damn good reason by Nefarious+Wheel · · Score: 1
      ...Thinking that wind or earthquake forces are predictable and easy to model on a structure is also naive...

      My brother built a commercial radio station once (KREC). The antenna went up above Brian Head, Utah in the mountains where 110-knot winds are not uncommon. He told the engineer to come back with plans for a broadcast antenna that would survive 300 knot winds.

      When the engineer came back with the plans, he said "Fine -- now double the spec everywhere." "Why?" said the engineer. "Because I want this thing so reliable all I have to do is come back every three years to fire the accountant". True story. No reliability stats are available for the installation, I'm afraid, because nothing has ever failed. YMMV.

      --
      Do not mock my vision of impractical footwear
    23. Re:Software is different for a damn good reason by ScrewMaster · · Score: 3, Insightful

      Let us also not forget that the ultimate responsibility for a major team effort failing is usually managerial. There are processes that any professional engineering team's leadership puts in place in order to make sure the end result is as expected. That's because nobody is perfect and mistakes get made. So, it's easy to pick on a single individual, like the aforementioned civil engineer. One should ask why there was no proper design review (and if there was, why did they sign off on it?) In any event, a properly structured real-world project has layers of checks and balances. Modern engineering projects may have hundreds of individuals working on them, and for anything other then chaos to result, there has to be direction, there has to be oversight, there has to be management.

      When you get right down to it, when a big project fails the grade (like, say, Vista) it's the people who get the big paychecks that should be held accountable. That's why they get the big paychecks! They're supposed to make certain that the development and support staff are competent, and set up systems that provide adequate assurance of quality. Failure to do that is not the fault of the individual engineer, but is a systemic issue with all the fingers pointing to the top. Managers (particularly incompetent ones) will usually find a scapegoat in the form of an engineer, who they can point to and say, "See? It was all his fault!" That conveniently ignores that fact that, even if said engineer is a total bumblefuck ... it was management that hired him in the first place, and failed to manage him effectively in the second.

      --
      The higher the technology, the sharper that two-edged sword.
    24. Re:Software is different for a damn good reason by ScrewMaster · · Score: 1

      Not genies ... that would be magic, and everyone knows there's no such thing as magic. However, I do believe that Gremlins are involved somehow. White Gremlins, the ones that try to fix things rather than break them. There aren't enough of them to go around, unfortunately, so things still break now and then.

      --
      The higher the technology, the sharper that two-edged sword.
    25. Re:Software is different for a damn good reason by joto · · Score: 1

      Two reasons. 1: the warranty disclaimer. Like it or not, "NO WARRANTY" is stamped on to the licenses of commercial software because software consumers don't want to pay the higher cost that would be demanded if a warranty were provided

      And the last time I drove over a bridge, I failed to notice this warning as I entered the bridge: "THE BRIDGE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL [WE] OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE BRIDGE OR THE USE OR OTHER DEALINGS IN THE BRIDGE." The no warranty clauses in software is not the *reason* software comes without warranty. That would be circular argumentation. The real reason software lacks warranty is because it's hard to do.

      The other big reason is that a blue screen of death doesn't result in actual death.

      This is entirely untrue. Bsods can result in ships navigating wrongly, emergency responders being without working phones, medical equipment failing, bombs hitting the wrong target, valves at a chemical plant erroneosly releasing harmful substances, or a zillion other life-threatening things.

    26. Re:Software is different for a damn good reason by SageMusings · · Score: 1

      patients have died because of mis-programmed machines, and so on. I can't quote cases right now
      This is what you are after:

      http://www.netcomp.monash.edu.au/cpe9001/assets/readings/www_uguelph_ca_~tgallagh_~tgallagh.html

      --
      -- Posted from my parent's basement
    27. Re:Software is different for a damn good reason by glitch23 · · Score: 0

      Two reasons. 1: the warranty disclaimer. Like it or not, "NO WARRANTY" is stamped on to the licenses of commercial software because software consumers don't want to pay the higher cost that would be demanded if a warranty were provided. SLAs do exist, but SLAs cover services. The market is willing to pay for SLA on services, and the whole system works, even if it's not quite as perfect as we might dream.

      Was that ever tested? Did software ever come with a warranty and customers decided not to buy it because it cost to much and then companies started to put "NO WARRANTY" in their EULAS?

      The other big reason is that a blue screen of death doesn't result in actual death. If you're building homes or highways, you have human life in your hands, and holding you accountable for negligence seems a bit more appropriate. If you're building door locks for the home and a burgular manages to pick it, holding you accountable for negligence is ridiculous because you never promised the lock couldn't be broken. If you're building the home's foundation and it cracks, you still aren't held liable unless you warranted that the foundation wouldn't break. And you wouldn't do that unless you could afford to fix it if it did.

      Um, I could be wrong but software inside an embedded device such as a heart defibrillator or any other emergency medical device may just be able to cause death if they malfunction. And now we get to test the reality of a BSoD because MS is pushing their way into the automobile industry.

      Simple economics. The market has supplied what the consumer has demanded. But some people get these ridiculous ideas about licensing software developers or enacting liability laws when there is NO risk to human life. They try to draw comparisons to disciplines where there are, then gloss over the details. Under even the most brief analysis, the argument doesn't hold water.

      Sears and Craftsman still put warranties on their tools (lifetime if I remember correctly). For that matter, hard drive manufacturers still put warranties (albeit only 1 year in some cases despite holding gigabytes of data) on their drives. In neither of those cases are human lives in danger in many cases. Why can't software have warranties?

      --
      this nation, under God, shall have a new birth of freedom. -- Lincoln, Gettysburg Address
    28. Re:Software is different for a damn good reason by Seismologist · · Score: 1

      Here's another way to look at it using the bridge example. If an engineer 50 years ago built a bridge to support the horse and buggy, not knowing that the invention of the modern-day car was on the horizon, he cannot be held accountable for the bridge's collapse under the weight of multiple vehicles. To use your example in a modern context, the engineer would perceive the limitation of the bridge design and impose a mandatory weight limit on the bridge to the back calculated minimum design load the bridge can handle. But more likely, that bride would be demolished and replaced with a shining new cable stayed concrete bridge.
      --
      ~ In Trust, We Trust ~
    29. Re:Software is different for a damn good reason by Anonymous Coward · · Score: 0

      This is entirely untrue. Bsods can result in ships navigating wrongly, emergency responders being without working phones, medical equipment failing,...

      All true, but all due to cheapskates using the wrong tool for the job. I believe the Windows EULA says quite clearly that Windows is *not* suitable for any safety critical application. So anyone who chooses it with death or injury resulting should be sued, not Microsoft.

    30. Re:Software is different for a damn good reason by Ash+Vince · · Score: 1

      Actually in that case it is because we bought useless american made shite. There are a number of reasons why the Chinook is a better aircraft than the Westland it replaced, but it has one major problem:

      It requires a complicated linking of the two rotors to prevent the blades ever colliding, this linking prevents the helicopter from being able to auto-rotate in the event of engine failure.

      This makes it much more likely to fall out of the sky like a rock if anything goes wrong.

      --
      I dont read /. to RTFA, I read /. to offend people in ignorance.
    31. Re:Software is different for a damn good reason by stewbacca · · Score: 1

      The other big reason is that a blue screen of death doesn't result in actual death. If you're building homes or highways, you have human life in your hands, and holding you accountable for negligence seems a bit more appropriate. This is quite possibly the most elegant post this month. This also points out to my main problem with software in general -- any joe schmoe can be a "programmer" and the general public just accepts mediocrity (almost expects it, I would venture to say).
    32. Re:Software is different for a damn good reason by cerberusss · · Score: 1

      almost everyone is going to pick the $50 one and live with the occasional crash. Does that mean developers like that? No
      You, sir, have never met my colleagues. They all seem to be perfectly writing $2,95/piece software. ;-)
      --
      8 of 13 people found this answer helpful. Did you?
    33. Re:Software is different for a damn good reason by geekoid · · Score: 1

      "the warranty disclaimer. Like it or not, "NO WARRANTY" is stamped on to the licenses of commercial software because software consumers don't want to pay the higher cost that would be demanded if a warranty were provided."

      completely unfounded.

      "The other big reason is that a blue screen of death doesn't result in actual death. If"
      HAHAHahaha. It does and has.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    34. Re:Software is different for a damn good reason by sjames · · Score: 1

      It goes well eyond even that. In software, the whole platform can be changed out from under the program. Also the program will be interacting with arbitrary other programs. We would see a lot more buildings collapse if the equivilant could happen in civil engineering. For examples:

      New high rise is designed using a support structure of steel 3.0. It's located downtown and built on the bedrock. One day, it gets moved to the beach. Unfortunatly, it starts sinking into the sand and leaning so they lighten it by replacing steel 3.0 with balsa 0.72.

      Although it is sold as an office building, the owner decides to use it to store lead bricks.

      Software cannot EVER be as reliable as other engineering fields unless the platform and use is tightly constrained. Note that where those conditions DO exist in embedded controllers, crashes don't tend to happen. That's why rebooting a bluescreened jet engine isn't an everyday occurance.

      That's not to say that all software is as good as can be expected.A lot of development out there considers (in order)

      1. Eye candy
      2. Bells
      3. Whistles
      4. core functionality
      5. Oh, yeah, reliability (if there's time)

      Then there's management issues. Too many managers just can't believe that anything is happening until something pops up on a computer. This leads to devoting way too little up-front time to design. Equally, too many managers don't understand scratch code. They don't get that some code is just scratch to act as a sort of reference point or center for discussion. Scratch code is all too likely to get pushed out the door as 'production' code.

      A big issue is marketing and management's lock-in goals. Good software considers recoverability importnat. That is, when something goes wrong (and it will), the data should be accessible and even correctable. Perhaps a record goes in that triggers a failure, but it cannot be removed again because the failure is triggered before you can get to the point of deleting. Documented and simply manipulated data files allow that sort of problem to be solved. However, they also permit migration to different software, so the practice gets discouraged by management and marketing.

      Finally, there's the warm body problem. Development is in a continuing boom-bust cycle. During the boom, anyone who ever got 'hello world' to work in BASIC is suddenly a developer. During the bust, the warm bodies are slowly flushed out of the profession, only to return with the next boom.

  39. Software Engineering by topace · · Score: 0

    if he got a Software Engineering degree from an accredited engineering university offering an accredited software engineering degree, then he could call himself a software engineer. University of Ottawa has offered software engineering for ~8 years now, with the first graduating class ~4 years ago.

    http://www.site.uottawa.ca/eng/school/ugrad/softwareengineering.html

    I almost took soft.eng, but opted for comp.eng instead since it is more recognized and the soft.eng program was so new.... now all I do is software.

  40. void parse_prose(char* article) by cryptomancer · · Score: 2, Funny

    {
        if(article) delete [] article; // no time for prose, there's software to be written.
    }

    --
    Yes, we understand these tags always apply: fud, dupe, typo, slashdotted, topic name
  41. Engineer? Yeah, right. by Lilith's+Heart-shape · · Score: 1

    I agree with techpawn. I'm not an engineer of any sort. I'm a programmer, a sysadmin, a database administrator, a network technician. I don't design anything; somebody else comes up with the spec, gives it to me on the back of a McDonalds napkin, and I do the best I can to implement it. Once I've done that, I test it. Then I pass it to QA for more testing. Then one of my eight different bosses decides to change the spec and gives me the changes written on the back of a Ninja Burger napkin.

    I'm not an engineer. I'm a programmer working one thankless job after another. If your kid tells you he wants to code for a living, hit him upside the head and tell him that janitors get more respect. Not only that, but at least the janitor doesn't have to deal with having the goalposts moved every five minutes.

    1. Re:Engineer? Yeah, right. by toadlife · · Score: 1

      If your kid tells you he wants to code for a living, hit him upside the head and tell him that janitors get more respect. Not only that, but at least the janitor doesn't have to deal with having the goalposts moved every five minutes. I'm a relatively well paid sysadmin/"DBA".

      I've always told people that my job is just like a plumber's, except I deal with more shit and make less money.
      --
      I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
  42. So electronic engineering isn't engineering either by Nursie · · Score: 1

    If an electronic engineer screws up a piece of electronics stops working.

    And they do all the time. By your measure, electronic engineers aren't engineers either.
    Likewise anyone working on unmanned flight.
    Or satellites.

    Your "if they screw up people die" thing is nonsense. Does that make software engineers on weapons systems real engineers, but those in banking systems not engineers?

    "If I were applying for a programming job, and the interviewer told me that my title was going to be "software engineer," you know what I'd do? I'd laugh at him"

    And he'd throw you out, good job. Come back when you have a degree in Software Engineering and a few years commercial experience.

  43. Re:I work in Canada with a comp sci degree by onkelonkel · · Score: 1

    "You can put your boots in the oven, but that don't make 'em biscuits"

    --
    None of them can see the clouds; The polished wings don't care.
  44. Missing ingredient by Ossifer · · Score: 1

    A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.
    But where is the love?
  45. is that like Hygiene Engineer? by peter303 · · Score: 1

    who rides on Waste Management trucks?

  46. Software Engineers in Canada by Anonymous Coward · · Score: 0

    I am studying to be a Software Engineer right now in Canada. I am also applying to CO-OP jobs asking that I will eventually complete my degree and become a Software Engineer.

    You most certainly can be titled as a Software Engineer in Canada, you however must earn it. A web developer in his basement out of high school, and a programmer with no post-secondary education are not a Software Engineers as they lack the science, the theory and the mathematical backgrounds.

  47. Re:Yeah, right, you are wrong! by slashdotmsiriv · · Score: 1

    I cannot believe that this troll was moderated insightful.

    I would love to see you repeating the above statements in front of the _software_engineering_ teams in charge of A380. You can replace A380 with
    any advanced means of transportation or any advanced defense system.

    Creating and running pieces of code is easy and perhaps this is the reason people think that it is not a rigorous engineering principle. However,
    creating code for critical applications is something very very different comparing to e.g. writing a Facebook application. The first has to abide by numerous standards and constrains and ensure strict reliability and performance guarantees. Hell, even a Facebook application may be a critical task and have to conform to high standards if millions of dollars of revenue depend on it.

    Since you are also a civil engineer, no doubt you heavily rely on CAD applications to create structurally robust designs and you are not manually applying statics for every brick and column in your design. So ,in the end you depend on the rigorousness of the CAD software engineers to ensure the rigorousness of your structural designs.

    Software is one of the most complicated human artifacts and the fact that humans can successfully create such artifacts (spare me the Windows jokes pls) is the proof that we apply engineering principles.

    Someone else has a nice argument on the subject too
    http://www.embedded.com/columns/embeddedpulse/159904927?_requestid=904565

  48. Software Engineer is fine according to HRSD Canada by Anonymous Coward · · Score: 2, Informative

    http://www23.hrdc-drhc.gc.ca/2001/e/groups/2173.shtml

    According to Human Resources and Social Development Canada, Software Engineer is a perfectly acceptable term for that class of job. Being an American now working in Canada, I prefer '(software/web) developer' as software engineer sounds too 90s for me. But there are plenty of software engineers in Canada and no looming threat from the other 'engineer' subspecies.

  49. Re:Rigor? That's not the issue. by JustNiz · · Score: 1

    >> There's no minimal competency required to slap "Software Engineer" on your card,

    I'm guessing you're not aware that in some countries (for example, Germany I believe) one cannot legally call oneself an Engineer without the appropriate qualifications, in the same way that one cannot call oneself a Doctor.
    I very much like this and feel that the job title 'Engineer' should be earned, and in those countries where it must be, the title does seem to have some value.

    From my own experience, just the difference in respect and regard of a Software Engineers skills and opinions is very noticeable between working in Germany and the US. In the US Software Engineers in general seem to be very unappreciated. Its probably a self-fulfilling prophecy when unqualified people can legally just arbitrarily call themselves Engineers.

  50. A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy."

    This calls for a Narn bat squad.

  51. Could you repeat yourself please by Anonymous Coward · · Score: 0

    Oh wait, you did.

  52. Here in the States, anyone can be an "engineer" by Mesa+MIke · · Score: 1

    My wife is a "domestic engineer" The garbage collector is a "sanitation engineer" Me, I'm a "software engineer"

  53. "let's see" vs. "Yes, it will work" by SCHecklerX · · Score: 1

    Most software development is try something, look for the error. repeat. Engineering isn't like that, at least not to that degree. You have to work everything out ahead of time. You don't get to test to that degree, so need to be able to understand the applied physics and math without creating the actual object. With software, the theoretical thinking part is really the product as well. You can experiment with it without consequence. Heck, this is one reason I love developing software. I get to play and see what happens. I don't call myself an engineer with it though (I *DO* have a degree in aerospace engineering, however).

    Some software could be called engineered, but only if it was carefully thought out and built and compiled and worked as designed with all exception handling done on the first go.

    Do you write software that way? Most likely not. So you aren't an engineer. That's not a bad thing or a good thing. It just is. Stop trying to give yourself an important-sounding title without understanding what that title actually means. Engineering is a lot of applied theory BEFORE the product. Software, well, you get to produce the product right away with no real cost or design required. This is why software also should not be patentable, but I digress.

    1. Re:"let's see" vs. "Yes, it will work" by flajann · · Score: 1
      SCHecjkerX wrote:
      Some software could be called engineered, but only if it was carefully thought out and built and compiled and worked as designed with all exception handling done on the first go.

      I would have to disagree with that assessment. A perfect compile on the first go cannot be a requirement for "true" software engineering. However, I would say a successful deployment on the first go, bug and defect free, would be.

      Having said that, in my 30-year experience, I have rarely, if ever, gotten an exact-enough spec from the customers that would allow for that. Most customers simply do not know what they really want until they actually see it and use it.

      In short, software development is less like engineering and more like anthropology. You have to interview and interact closely with your customer to product the software he actually will find useful. If your customer is not happy, you make the necessary adjustments until he is.

      But even when doing engineering and architecture, you do build rough models to show to your customer early on to make sure said customer is happy. The difference being that in those cases, there are far fewer choices for the customer to make. 99% of the actual work lies with the engineer who can control all the details. Also, you can build a model that looks very much like the finished product very easily, which is also not the same for software production.

      But in the end, the goals are the same. It's all about making the customer happy. So perhaps "software development" and "engineering" is not all that dissimilar, beside what proud camp you wish to belong to.

  54. Whoever tagged this "pompouswanker"... by Brett+Buck · · Score: 1

    Whoever tagged this "pompouswanker" should get a lifetime supply of mod points!

            Brett

  55. Obligatory Futurama Quote by ari_j · · Score: 1, Interesting

    Jonathan Wise writes to share with us an interesting bit of prose describing life as a software engineer.

    Interesting. No, wait, that other thing. Tedious.

    A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.

    No. You're a code monkey. Your poetry sucks, your writing sucks (to the point of your having written "its for the best"), your salesmanship sucks (your article sells nobody on anything), your public speaking is probably twice as melodramatic as your article and therefore sucks, your art sucks, your designs are plagued with whining about having to make them, and you have never experienced logic or empathy as long as you've lived.

    Get over it. If you want to make your pathetic job seem more important than it is, Slashdot isn't the place to do it. If you want to whine about being a code monkey, Slashdot is even less appropriate of a place to do it. Just get up, get coffee, go to job, and have boring meeting with boring manager Rob.

    1. Re:Obligatory Futurama Quote by Anonymous Coward · · Score: 0

      And this is coming from the guy who uses his own aesthetically-challenged homepage explaining the origins of his own name? Get over yourself dude.

    2. Re:Obligatory Futurama Quote by ari_j · · Score: 1

      This from an AC who took the time to click through to the same. Good work, genius. The key difference, for those too myopic to catch it, is that one of these things was submitted to and posted on the Slashdot front page, whereas the other one exists for information purposes to those who seek it out. Incidentally, my web site has played a role in mothers naming children after me. What have you done for the world today, other than hide from it?

    3. Re:Obligatory Futurama Quote by Anonymous Coward · · Score: 0

      Dear fucking god, Ari, it's a harmless opinion/slice-of-life piece. It doesn't belong on /., but no need to go vitrio-nuclear on the guy.

    4. Re:Obligatory Futurama Quote by Anonymous Coward · · Score: 0

      Mods? Hello? Your slashdot community needs you. Parent is currently modded "4 interesting." When I filter at +4 and slice along "interesting" in my preferences, I think I speak for all of us when I say I definitely don't want to see spastic crap like the parent post from people who bought their uids on ebay. Funny maybe. Interesting, no. Bad mod. Bad!

    5. Re:Obligatory Futurama Quote by ari_j · · Score: 1

      *whoosh* Was the original article melodramatic, over the top, and whiny? Sound familiar?

    6. Re:Obligatory Futurama Quote by ari_j · · Score: 1

      You (and others) missed the point. That's okay. However, you should be aware that (a) I did not buy my Slashdot ID anywhere; I've just been here longer than most and (b) I at least have one and bother to use it, no matter what I have to say. You should try that sometime.

    7. Re:Obligatory Futurama Quote by CmdrGravy · · Score: 1

      There are some differences:

      1) Ari hasn't posted his site to /. in some sort of mastubatory yearning for attention

      2) Having read both sites I found Aris to be amusing and pleasant to read whereas this article made me nauseous and reminded me of those awful New Year letters you get from your pretentious stuck-up-their-own-arse aquaintances ( -- Of course Porsche wasn't judged quite the best young artist in the country for her water colour work but then how many of the other competitors are also accomplished poets, writers and downhill skiers ! -- vomit vomit )

    8. Re:Obligatory Futurama Quote by ErikZ · · Score: 1

      Aw, don't be so hard on him. I remember the last time I was fired from a programming job because my poetry sucked...

      --
      Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
    9. Re:Obligatory Futurama Quote by ari_j · · Score: 1

      Thanks for the compliment. :)

  56. more traits... by recharged95 · · Score: 1
    "and always equal parts logic and empathy."

    And sprinkled in with some sarcasm and cynicism. In otherwords, realism?

  57. You call that 'prose'? by Anonymous Coward · · Score: 0

    "A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy"

    Americans are so sweet.

  58. So, let's debate whether computer science by Mesa+MIke · · Score: 1

    ... is really science.

  59. How many software "engineers" can pass the EIT? by Anonymous Coward · · Score: 0

    Slim to none, I bet.

    I'll bet most hardware engineers can't either.

    Even coming straight out of an acredited engineering school, it's not a slam-dunk.

    I received a traditional engineering education. We were taught we were engineers first, and specialists (e.g. electrical, mechanical, etc) second. Mathematicians, Scientists, and the like were not engineers at all.

    If I recall, only about 2/3 of those electing to take the EIT exam from our school were expected to pass. Since most of us weren't going to be "Professional Engineers" (few are), taking and passing the exam wasn't mandatory, but it was pretty much expected if you wanted to prove yourself competent other than just holding a diploma.

    That said, to be a "Professional Engineer" you are required to have passed the EIT exam, the PE exam, and some amount of work experience under a registered PE (details these requirements vary by State, of course. Texas used to hand out PE certificates to anyone graduating from a Texas school, but they are wimps).

    I'm not a PE, and I don't plan to be. I certainly don't hold myself out to be a PE in any way, shape, or form, especially if I'm working in an area where a PE actually has legal standing. At most I'll declare myself an EIT, or that I have earned an engineering degree.

    The typical keyboard jockey calling himself an engineer isn't.

    1. Re:How many software "engineers" can pass the EIT? by flajann · · Score: 1
      Excuse me, but this particular software engineer, who has never had formal schooling beyond high school, actually could pass the EIT.

      I was actually considering it for a while when I was considering switching careers to become a patent attorney. I took a look at the EIT prepratory exam, and found I knew most, if not everything there. Not only would I have passed the EIT, but would have done so with a near-perfect score.

      Engineering is not all that hard as you make it out to be. Really.

    2. Re:How many software "engineers" can pass the EIT? by effigiate · · Score: 1

      Patent Attorny AND PE sure would be nice. Respect from both sides.

    3. Re:How many software "engineers" can pass the EIT? by Anonymous Coward · · Score: 0

      Coulda, woulda, shoulda.

      You didn't pass the EIT did you. Of course you didn't. You didn't take it by your own admission.

      You "took a look" at the exam, found out you "knew most, if not everything"?

      God. What a pompus ass.

      Take the test, pass it, or shutup.

      You're a code monkey for a reason.

    4. Re:How many software "engineers" can pass the EIT? by flajann · · Score: 1

      Well, this old bird decided to stay in the computer field. I knew it would rebound -- it was just a matter of hanging on long enough for it to do so.

  60. Re:I work in Canada with a comp sci degree by p0tat03 · · Score: 2, Informative

    And that is also why you should never be allowed to call yourself "software engineer". In a single short post you have demonstrated a contempt for regulation, law, clear communication, and honesty, which are all required for a Professional Engineer in Canada.

    Despite knowing the regulations and laws behind the matter, you choose to willfully violate them, not to mention potentially defrauding others by impersonating a legal engineer.

    Like others have said in this thread, being an engineer is not about being able to do your job, it's about accountability and the willingness to adhere strictly to established regulations and standards, something you obviously cannot do.

  61. You're an Engineer... by mkcmkc · · Score: 1

    if you write shell scripts in FORTRAN. :-)

    --
    "Not an actor, but he plays one on TV."
  62. Some states, only a registered "engineer" is one. by jimwelch · · Score: 1

    In Oklahoma NO ONE may can themselves an engineer, unless they pass the Registered Engineer exam, pay the yearly fee, have a seal for all documents, etc., etc., etc. I consider it a SCAM. Dating back to bridge scandals. I am sure there are other states, that are the same way.

    --
    Never trust a man wearing a coat and tie!
  63. License not necessary by blueZ3 · · Score: 1

    Anyone can change out an electrical panel without being a "licensed" electrician here in the States. You can do it as a homeowner (which I've done) as long as you can do a sufficiently good job to garner the approval of the inspector that the City sends out to look your work over. You can do it as a handyman, as long as you have the homeowner pull the permit and call for the inspection. If you want to pull the permit and have the inspection yourself, at a location other than your own home, you merely need a business license, and that's more so the municipal entity can collect taxes than for any real safety reason.

    In fact, I'm not aware of any "construction type" work that must be done by a "licensed" worker. When I've done remodeling, the City Engineer will stamp my hand-drawn plans as long as what I'm doing isn't too extreme. They've stamped off on structural work where I knocked out a 5-minute drawing of the floor joists that I'd be installing. I'm not a licensed anything, but I've made significant structural changes to my house, completely re-wired the kitchen (removing the old wiring and installing new) and done other work without any issues.

    YMMV outside the U.S. of course.

    --
    Interested in a Flash-based MAME front end? Visit mame.danzbb.com
    1. Re:License not necessary by tompaulco · · Score: 1

      That sort of thing is very much city based code. This came up here in Oklahoma City and surrounding areas due to the recent ice storm and the huge number of electrical masts and circuit boxes which were destroyed. It was made very clear that the permit must be pulled by a licensed electrician. Now, you could pay your buddy the electrician $50 to pull the permit and then go repair it yourself and have him sign off. But it was made quite clear that the city code in all cities nearby Oklahoma City require a licensed electrician to pull the permit.
      I guess you could technically not pull a permit at all, but if you lost power you would be taking your chances on whether the electric company would notice your repairs and inquire about the permit when they come to switch you back on.

      --
      If you are not allowed to question your government then the government has answered your question.
  64. Perfection vs. due diligence by Anonymous+Brave+Guy · · Score: 2, Informative

    Also, as has been pointed out, people would be unwilling to underwrite the cost of a theoretically "perfect" piece of software that would never crash (barring hardware failure, or cosmic ray induced bit flipping), because given the choice between a $50 piece of software that crashes once a week, or a $9000 piece of software that crashes never, almost everyone is going to pick the $50 one and live with the occasional crash.

    I really hate it when these discussions become black and white. Software quality is not a binary value. It is a sliding scale with diminishing returns for effort put in, on which we are for the most part still at the "dirt cheap" end.

    I doubt I would want to pay the price of near-perfection. I'll leave that for the nuclear reactors, medical facilities and space shuttles. But the cost of due diligence — which I'll assume to mean taking reasonable, well-established, tried-and-tested steps to ensure quality in this context — is not the factor of 180 you gave. It's probably not even a factor of 5, and that's today when it's a relative overhead compared to those who don't bother.

    What it would mean is having to actually follow reasonable development processes that worked. No more buzzword kool-aid for you, Mr Engineer! It would mean hiring competent people as senior technical staff instead of promoting substandard but slightly cheaper code monkeys, and spending the time and money to train those working under these senior staff properly. It would mean not letting sales and marketing staff dictate the schedules at the expense of even basic quality control.

    Of course, if everyone were doing this and the industry as a whole grew up, this wouldn't cost much at all, because those same good practices actually make software development more efficient. It's just that short-sighted managers with their eye on quarterly reports and personal bonuses have an active incentive not to make the long-term investments necessary to reap those long-term benefits.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Perfection vs. due diligence by orclevegam · · Score: 1

      My comment was made on the assumption that the software would be developed using current "standard" practices that exist unfortunately in the majority of companies. If there was a top to bottom cleanup and you actually have good developers and management that understood that you can't magically cut time out of the budget by throwing a bunch of contractors at the problem, then yes, it's entirely possible to make drastic improvements in software quality for little extra cost. That being said however, the kinds of broad changes necessary to achieve that state are, to say the least, highly unlikely. Further, the main point I was getting at, is that it doesn't really make that big a difference in most cases if you have licensed engineers or developers (which ever term tickles your fancy) doing the development, as the problem is usually the entire organization.

      Is there room for improvement? Absolutely. Can it be done relatively easily? Some can, particularly if the company as a whole is willing to improve itself. Is it likely to happen? I don't think so, but I would love to be wrong (FYI, I left one of my previous jobs because I was disgusted with the development process they used).

      --
      Curiosity was framed, Ignorance killed the cat.
    2. Re:Perfection vs. due diligence by joto · · Score: 1

      As long as Moores law continues to be in effect, there will never be "reasonable standards of quality" in anything software-related. If you could build bridges for half the cost every 18 months, I'll bet we would see a lot more bridges fall too.

    3. Re:Perfection vs. due diligence by joto · · Score: 1

      And exactly what are these "practices". From the (admittedly few) companies I've been hired by, these "practices" consists of things like indenting C-code a certain way, or automatically extracting "documentation" from your code by using some UML-tool, none of which improves anything but the vanity of the writer of the "best practices" document.

      Very few "best practices" can objectively be said to increase code quality. The problem is that it's pretty hard to say that product A is 15% buggy, whereas product B is only 12% buggy. Especially when the bugs are not the same. Even spending more money or using more time, is rarely a guarantee that more, or better, work will be done.

      I'm sorry, you either have to admit that software engineering already exists as a discipline, or you will be forced to hold the position that it will never grow up. There's no way you can establish reasonable standards at sucking slightly less than the status quo, but not so much that it really makes an objective measurable difference.

    4. Re:Perfection vs. due diligence by TapeCutter · · Score: 1

      "And exactly what are these "practices""

      The "best practices" you mention are for the benifit of the developers, any benifit to the application or the end user is incidental.

      Three things make a robust system: Testing, testing, and then some more testing.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    5. Re:Perfection vs. due diligence by joto · · Score: 1

      Yes. Testing brings benefits. But how much is enough? And what kinds of test should you focus on? The main problem with todays software methodologies is that software is released when it's "good enough" from a marketing perspective, instead of following some objective standards. Developers would like to release when it's "good enough" from their perspective, but that is not a quantifiable goal either. The difference between "good enough" from a marketing perspective, and "good enough" from a developer perspective is enormous, and also impossible to quantify. You can hardly release a product and say that it's "three quarters of the way from good enough from marketing to good enough from developers". And you can hardly inspect a software products "plans" (i.e. source code) in court, point out the piece that failed, and make a reasonable assertion of whether or not the failure of that piece of code was due to negligence, or if it was just bad luck and the developers did follow accepted industry practices.

      Civil engineering succeeds in developing good standards for "good enough" because they solve the same problem over and over again. Thus, if you follow these practices, it's highly unlikely your bridge will fall down in the next 100 years. But there's nothing of the sort for software development. More testing will help, yes, but there are no reasonable standards of how much testing you should do. You can hardly say "I've done tests conforming to regulated industry standards, and if the software fails catastrophically, I'm no longer liable". The only people who accepts any liability for their software are the guys who do so much testing, and formal methods, and every other way of ensuring it works, that the costs get so high that only NASA (and a few others) can afford it.

    6. Re:Perfection vs. due diligence by orclevegam · · Score: 1

      The practices I was referring to are mostly common sense things like not putting code on production systems until it's been through QA, and not trying to force developers to pull 60 hour work weeks to meet an entirely artificial deadline because some upper manager promised the CEO it would be out this week and doesn't want to look bad right before his annual review. It's things like actually getting a set of basic requirements finalized before you start coding, and then not changing half the requirements while the software is going through a QA cycle. It's doing code review, and not picking tools and libraries based on how slick the sales guy is, or how shiny the manual is, and instead listening to the developers opinions. Notice I didn't say "best practices", but rather "common practices" specifically because in programming "best practices" has a particular meaning which is usually associated with programming style and certain approaches to solving problems, where as the practices I'm talking about are more to do with the entire development process, not just the programming itself.

      --
      Curiosity was framed, Ignorance killed the cat.
  65. Re:So electronic engineering isn't engineering eit by Anonymous Coward · · Score: 0
    "if they screw up people die" thing is nonsense. Does that make software engineers on weapons systems real engineers"


    Actually, if they screw up people live.

  66. The Usage of Engineer in any title by Anonymous Coward · · Score: 0

    Many years a group of my friends tried to start a company called SEA which stood for Software Engineering Associates. It turned out the usage of engineer in any title was illegal except for a registered engineer. The reason is because of US and international laws. Here is a excerpt from wikipedia and the link:

    http://en.wikipedia.org/wiki/Engineer
    Most U.S. states prohibit unlicensed persons from calling themselves an "engineer" or indicating branches or specialties not covered by the licensing acts. The legal situation regarding the title of "engineer" in Canada is unsettled.

    Hope this helps.

  67. "software engineers" are not engineers by mschaffer · · Score: 1

    "Computer Science" is not a science.
    Therefore, applied "Computer Science" cannot be Engineering.
    Therefore, "Software Engineering" cannot be Engineering.

    I mean, honestly, what's next? Mathematical Engineers?

    Canadians must understand this. Americans don't.

    1. Re:"software engineers" are not engineers by Phisbut · · Score: 1

      "Computer Science" is not a science.
      Therefore, applied "Computer Science" cannot be Engineering.
      Therefore, "Software Engineering" cannot be Engineering.

      However, "Software Engineering" is not "Computer Science", just as "Chemical Engineering" is not "Test-tube Science", and "Electrical Engineering" is not "Copper-wire Science". Software Engineering is a whole lot more.

      --
      After 3 days without programming, life becomes meaningless
      - The Tao of Programming
    2. Re:"software engineers" are not engineers by hack4 · · Score: 1

      Computer Science and Software Engineering are not the same things. A Software Engineer has attended university for Engineering and has specialized in software.

    3. Re:"software engineers" are not engineers by Anonymous Coward · · Score: 0

      BS

      An engineer has to have a thorough understanding of statics, dynamics, strength of materials, a generous dose of physics, chemistry, and mathematics.

      "Software Engineers" have little to none of this background.

      Let's put this another way... people with engineering degrees can pretty much take over a software project if they choose to slack off. It doesn't work the other way around.

    4. Re:"software engineers" are not engineers by hack4 · · Score: 1

      Your lack of familiarity shows through pretty well in your comments. All engineering programs in Canada have to show adherence with overall engineering program requirements, which is audited every year. (As an engineer I've witnessed these audits firsthand.) The SW eng programs I'm familiar with are heavily elec-eng based, with a strong background in math, statistics, and computer hardware engineering (chip design, solid-state physics, etc...). In fact, many software engineering programs are common with hardware engineering and electrical engineering for a number of program years, splitting first off from electrical, and finally from hardware in 3rd or 4th year. Shit, do at least some basic research.

  68. Canadians got it right. by porky_pig_jr · · Score: 1

    What does "software engineering" have to do with engineering? I guess just as much as 'computer science' has to do with a science. Can you imagine an airplane or a bridge or a building designed and constructed by someone with skills and professionalism of software engineer? A scary thought, isn't it?

  69. Re:A few clarifications from the author of the pos by Anonymous Coward · · Score: 0

    This suggests that I've had sex at least twice. And my wife is very beautiful. [...] The intent was also not to be pompous or fuel my own ego.... Wow... the tag "pompouswanker" has never been more appropriate.

    I'm not even as skilled a programmer as I imagine most are, but I wanted to lend my prose to our art because I believe it is valuable. ...and "douchebaggery" for incredibly thin false-modesty to boot.

    Thanks for reading, hopefully the site will be back up soon! ... because you need the Adwords income.
  70. Full Article Text... my poor host is choking! by Anonymous Coward · · Score: 1, Informative

    Did you ever see that one Friends episode where they make up a game where they test their knowledge of each other? In one of the rounds, the girls are asked what Chandler does for a living, and the answer they come up with is "transponster!" Which of course isn't a word. All they know is that he carries a briefcase.Well I believe that many of my friends don't know what I do for a living. I suspect, if asked, you'd answer something like "I think he fixes computers."I know jobs aren't the most interesting topic, but in my continuing series on embracing my inner geek, I think its important to tell you all (you who are interested anyway) what it is that I do. If you're at all interested in who I am, you should know what I do. And believe it or not, I don't fix computers for a living.
    In fact most employers I've worked for actually have rules in place to suggest that I not try to fix my own computer. There's these organizations, some (not all) still stuck in the 70s and 80s, called "I.T. Departments" who's official purpose is to fix computers -- but who's actual purpose is to attempt to prevent their users from doing anything dangerous (read: useful.)I do not, and have never, worked in an "I.T. department," although I've volunteered those skills I have in that area on many occasions. In actuality, my job is much different.I am, in the States, known as a Software Engineer. In Canada we're not allowed to call ourselves engineers, although the discipline is no less rigorous than any other kind of engineering.
    But perhaps its for the best, because "engineering" describes only a part of what I do.A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy. The process of developing software differs from organization to organization. Some are more "shoot from the hip" style, others, like my current employer are much more careful and deliberate. In my 8 years of experience I've worked for 4 different companies, each with their own process. But out of all of them, I've found these stages to be universally applicable:

    Dreaming and Shaping

    A piece of software starts, before any code is written, as an idea or as a problem to be solved. Its a constraint on a plant floor, a need for information, a better way to work, a way to communicate, or a way to play. It is always tied to a human being -- their job, their entertainment... their needs. A good process will explore this driving factor well. In the project I'm wrapping up now I felt strongly, and my employer agreed with me, that to understand what we needed to do, we'd have to go to the customer and feel their pain. We'd have to watch them work so we could understand their constraints. And we'd have to explore the other solutions out there to the problem we were trying to solve.
    Once you understand what you need to build, you still don't begin building it. Like an architect or a designer, you start with a sketch, and you create a design. In software your design is expressed in documents and in diagrams. Its not uncommon for the design process to take longer than the coding process.
    As a part of your design, you have to understand your tools. Imagine an author who, at the start of each book, needs to research every writing instrument on the market first. You have to become knowledgeable about the strengths and weaknesses of each tool out there, because your choice of instrument, as much as your design or skill as a programmer, can impact the success of your work.
    Then you review. With marketing and with every subject matter expert and team member you can find who will have any advice to give. You meet and you discuss and you refine your design, your pre-conceptions, and even your selected tools until it passes the most intense scrutiny.
    Once you have these things down, you have to be willing to give them up. You have to go back to the customer, or the originator of the problem, and sell them your solution. You put on a sales hat and you pitch what you've dreamt up

  71. RE: Cheap Software by djdavetrouble · · Score: 2, Funny

    So, I should cancel the order for the shareware helicopter ?

    --
    music lover since 1969
  72. Re:Yeah, right, you are wrong! by mrchaotica · · Score: 1

    I would love to see you repeating the above statements in front of the _software_engineering_ teams in charge of A380. You can replace A380 with any advanced means of transportation or any advanced defense system.

    That's fine, and I don't have any problem with those people. What I have a problem with is the other 99% of people who call themselves "software engineers," who aren't working on stuff like that, and who aren't working at the same level of accountability.

    Since you are also a civil engineer, no doubt you heavily rely on CAD applications to create structurally robust designs and you are not manually applying statics for every brick and column in your design. So, in the end you depend on the rigorousness of the CAD software engineers to ensure the rigorousness of your structural designs.

    Yep. In fact, I actually work on such a program. But guess what: the people in charge of it are P.E.s! In fact, one of them spends a considerable part of his time ranting and raving about how we shouldn't, as engineers, rely on the software -- not even his software. He spends an entire lecture every semester drilling that into the heads of his students, and often travels to speak about the same topic at other various organizations.

    So believe me, I know about those sorts of issues. Oh, and you've got it backwards: engineers don't (or at least, shouldn't) use software to check the rigorousness of their structural designs. They use their designs (with the associated calculations) to check the rigorousness of their software!

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  73. Re:Rigor? That's not the issue. by Phisbut · · Score: 1

    I was unable to read the article, due to Slashdottery, but from the quote, I think Mr. Wise is failing to understand what "engineer" means.

    I don't think you understand either.

    You can teach a civil engineer to make a bridge that will stand for 200 years, but there is no educational program in existence that can even begin teach a software engineer to design flawless software. That discipline simply doesn't exist. I can use mathematics to design a concrete structure that is 100% guaranteed to float. I cannot use mathematics to design billing system software that is 100% guaranteed to address all requirements.

    Yes there is (I won't list everything here). The problem is that people think "Software engineering" means "programming". Software engineers don't (have to) program. They can if they want to, but engineering isn't about programming. A civil engineer isn't the same as a carpenter, just as a software engineer isn't the same thing as a programmer.

    --
    After 3 days without programming, life becomes meaningless
    - The Tao of Programming
  74. Re:Rigor? That's not the issue. by Malkin · · Score: 1

    >> I'm guessing you're not aware that in some countries
    >> (for example, Germany I believe) one cannot legally
    >> call oneself an Engineer without the appropriate
    >> qualifications, in the same way that one cannot
    >> call oneself a Doctor.

    Given that A.) The OP mentions that Canada restricts the use of the term "engineer" and B.) I live in a state that restricts the use of the term "engineer" in much the same way (and for much the same reasons) as Canada, I'd say your guess is wrong. :)

    However, you pretty much just underscored my point: In the US, there is no way to know if a software engineer is capable. Heck, even in my state, enforcement is weak, if not non-existent. Some companies seem to use the term "software engineer" for most senior programmers, across the board, and it's hard to even get them to make an exception, if you object to that usage. I'm not sure there's any way out of it, at this point.

  75. Re:A few clarifications from the author of the pos by Anonymous Coward · · Score: 0
    • Sorry about the site being down. Its probably not a coincidence that I made Slashdot AND my host (which, to be fair, survived a Digg-rush awhile ago) is having troubles. I'm on the horn with them right now.
    Sounds like it wasn't properly engineered! Har!
  76. Life of a Software "Engineer" by Anonymous Coward · · Score: 0

    1. Wake up at 10am and stroll into work in yesterday's clothes
    2. skip lunch, play online games
    3. Go home "late", complaining about staying past 5pm
    4. Home, yeah MOM's home.
    5. order pizza
    6. play WoW until 4am
    7. rinse and repeat (weekends, leave out work)

  77. Much obligations by Anonymous Coward · · Score: 0

    There are responsibilities associated with being a Professional Engineer, and penalties should those responsibilities not be met.

    Yes, you have obligations. Pay you fees, stick with the brotherhood and crap with your arrogance on any before you without that degree. Amen. Nothing more than a frat club that lasted too long.

    For software, the best people I know do not have a Canadian BS degree.

  78. Re:A few clarifications from the author of the pos by Anonymous Coward · · Score: 5, Funny

    >> I'd like to point out for the record that I'm married, have one child and another on the way. This suggests that I've had sex at least twice. Actually, it suggests that your wife has had sex at least twice; it doesn't say anything about you.

  79. Engineering Whining by Anonymous Coward · · Score: 1, Insightful

    Wow... It is amazing to see how sensitive the "engineering" nerve is here. Allow me to point out a couple of interesting items regarding its sensitivity, which I would hope the readers come to realize.

    First of all, for those that are uninitiated to this, allow me to shed some light on the situation. I am fortunate enough to have lived and worked in multiple countries around the world. I had the pleasure of working with engineers, and scientists in different fields. What I have come to discover is that only in Canada is the engineering profession so damn protective and sensitive. Even more so that lawyers, and doctors, who are professionals in their own right. Anywhere else in the world, professionals from each industry treat everyone else with respect - even those that may not be professionals. Why? Because the first rule of professionalism, is to be professional to the people you are in contact day-to-day. Because that much is owed to each and every human being. However, in Canada, if you are not an engineer amongst engineers, don't expect to be treated equally.

    First thing you will notice is that engineers in Canada most often refer to themselves as "Engineers." Funny, I don't see "Bus Drivers" or "Soccer Coaches" or even "Dental Hygenists." But, you do have "Engineers."

    Second of all, as you get to know a few of them, they seem to have an interesting "better than thou" attitude. This must be bestowed on them in one of the University classes, which I apparently slept through. Oh yes - I forgot to mention that I am a professional engineer as well. :^)

    Thirdly, you will notice the little steel ring on their pinky (for more information, see here: http://en.wikipedia.org/wiki/Iron_Ring). Generally, it is meant as a reminder of those lives lost during careless engineering practices. Great. Why, do you think, such a device is necessary? What about a doctor who does not have a little piece of jewelry which reminds him to apply proper treatment to his patients? Does that make the rest of the world's engineering practices less worthwhile than Canada's?

    Fourthly, an engineer's approach to a task should be moderated - professional. You should be capable of understanding the problem, and being able to gauge whether your skills are suitable to solve it. If not, you find someone who is better suited for the test. However, that is far from reality, as there are many many engineers that work as software developers. What is unfortunate, is that they don't understand that the 2 programming classes they took in university actually don't make them well suited for crafting effective solutions to computational problems. However, being engineers, they think that they can't be vanquished.

    Lastly is the all-important professional organization, to whom they all strive to belong to. This organization oversees standards in member skills development, cross-training, standards, and of course, safety. However, you will quickly come to realize that an engineer is never wrong! How is that? Well, if a mistake is made, it is not them who are to blame, but rather an incorrect type of material being used, or that the plans were read incorrectly. Remember kids: sh*t always flows downhill, and they think that they are the top of the pile. The professional association allows them to hide behind a large entity, with deep pockets, such that any litigation against a single individual, is futile.

    A previous poster implied that if their wall falls down, then it was obviously not an engineer who did the work. What they don't realize is that civil engineering, especially large construction projects, utilize so many standardized components and techniques developed over decades, that they are about as far from engineering as is possible. Number one reason: safety. Very few insurance companies are willing to sign off on bleeding-edge designs. And when they do, they are incredibly expensive to insure, therefore build.

    Bottom line: please unde

    1. Re:Engineering Whining by onkelonkel · · Score: 3, Informative

      Not a flame as such, although much of what you say is flameworthy. You lack clue.

      "The professional association allows them to hide behind a large entity, with deep pockets, such that any litigation against a single individual, is futile."

      Um, no. The Professional Engineer Association of which I am a member has about 18000 members and we pay about $225 per year. An annual budget of $4 million is not "deep pockets" by anybody's definition, at least not when stacked up against corporate clients with several orders of magnitude more money. More to the point, the Association doesn't spend _any_ of its money defending engineers against litigation for faulty work. They do spend it pursuing discipline against incompetent or unethical members. The record of discipline against members is public, you can usually find it on their websites. Try APEGBC, PEO or APEGGA for examples. Every month we get to read about a handful of cases where somebody is disciplined for substandard work.

      --
      None of them can see the clouds; The polished wings don't care.
  80. Oblig. If architects were programmers by nigelo · · Score: 1

    Dear Mr. Architect:

    Please design and build me a house. I am not quite sure of what I need, so you should use your discretion.

    My house should have between two and forty-five bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision of what I want. Also, bring me the cost breakdown for each configuration so that I can arbitrarily pick one.

    Keep in mind that the house I ultimately choose must cost less than the one I am currently living in. Make sure, however, that you correct all the deficiencies that exist in my current house (the floor of my kitchen vibrates when I walk across it, and the walls don't have nearly enough insulation in them).

    As you design, also keep in mind that I want to keep yearly maintenance costs as low as possible. This should mean the incorporation of extra-cost features like aluminum, vinyl, or composite siding. (If you choose not to specify aluminum, be prepared to explain your decision in detail.)

    Please take care that modern design practices and the latest materials are used in construction of the house, as I want it to be a showplace for the most up-to-date ideas and methods. Be alerted, however, that kitchen should be designed to accommodate, among other things, my 1952 Gibson refrigerator.

    To insure that you are building the correct house for our entire family, make certain that you contact each of our children, and also our in-laws. My mother-in-law will have very strong feelings about how the house should be designed, since she visits us at least once a year. Make sure that you weigh all of these options carefully and come to the right decision. I, however, retain the right to overrule any choices that you make.

    Please don't bother me with small details right now. Your job is to develop the overall plans for the house: get the big picture. At this time, for example, it is not appropriate to be choosing the color of the carpet. However, keep in mind that my wife likes blue.

    Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours.

    While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. It therefore should have appeal to a wide variety of potential buyers. Please make sure before you finalize the plans that there is a consensus of the population in my area that they like the features this house has.

    I advise you to run up and look at my neighbor's house he constructed last year. We like it a great deal. It has many features that we would also like in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe that you can design this into our new house without impacting the final cost.

    Please prepare a complete set of blueprints. It is not necessary at this time to do the real design, since they will be used only for construction bids. Be advised, however, that you will be held accountable for any increase of construction costs as a result of later design changes.

    You must be thrilled to be working on as an interesting project as this! To be able to use the latest techniques and materials and to be given such freedom in your designs is something that can't happen very often. Contact me as soon as possible with your complete ideas and plans.

    PS: My wife has just told me that she disagrees with many of the instructions I've given you in this letter. As architect, it is your responsibility to resolve these differences. I have tried in the past and have been unable to accomplish this. If you can't handle this responsibility, I will have to find another architect.

    PPS: Perhaps what I need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case.

    --
    *Still* negative function...
    1. Re:Oblig. If architects were programmers by $RANDOMLUSER · · Score: 1

      Brilliant! Genius!!
      Ranks right up there with:
      And the user exclaimed with a snarl and a taunt, "It's just what I asked for, but not what I want!".
      I'll definitely be passing this along.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  81. Poetry and Prose... by flajann · · Score: 1
    I can tell many of the posters did not bother to read the full article. Perhaps your excuse is because his site crumbled under the "slash-dot effect", but still.

    Having actually read what Jonathan Wise wrote, I thought he made quite a few good salient points. Going from idea to finished product is as much about art as it is about science. There is artistry involved at many different levels. Alas, the end-user only gets to directly see the top layers of that art. The actual organization of the code, the algorithms used, to optimizations, the kludges -- if any! --, the language constructs exploited, the database schema, if applicable, all add to the art and elegance of a software.

    Most of the beauty will forever lie hidden from any but those who dive into and interact directly with the code itself. But the end-user will be presented with the form and function, and perhaps can have a appreciation for the art behind the art.

    Perhaps another term for what we do, which embraces all aspects of creating software, is hacker. To the cognoscenti who appreciates the true meaning of that term and not the disparaging, derogatory version the silly media created, "hacker" says it all. And is a greater thing than just being a dry boring "engineer". After all, we are not building planes and bridges, but creating "art" that just happens to be wicked useful and pay wicked well!

  82. bullshit by the_B0fh · · Score: 2, Insightful
    bullshit.


    I have a degree in civil engineering, and my professors stressed over and over again, if I fuckup, people die.


    In my compsci classes - oh, look, it compiles, lets hand it in.


    There's a reason they don't let Evi Nemeth teach Intro C classes - she does the right thing, and flunks people who don't do things properly.

  83. Re:I'm a software engineer. by xtracto · · Score: 1

    It's a troll, and definitely NSFW.
    Lol, you should specify that you are talking about another comment. For a moment I thought you were talking about the article link so i hurried to click when I read "deffinitely NSFW"... unfortunately it is slashdotted, and as I started reading the other comments, I realized you were talking about the last measure troll

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  84. Re:A few clarifications from the author of the pos by Anonymous Coward · · Score: 0

    Not to be a troll or anything, but doesn't the fact that he has two kids suggest only that his wife has had sex at least twice? Or perhaps that they've adopted twice?

  85. Engineering, Software and Otherwise by toddhisattva · · Score: 1

    What we have here is a failure to communicate.

    Many, many engineers are not Registered Professional Engineers.

    Do EE's need to get certified in Canada? Here in the States, most don't bother. The few who work on public safety related things do.

    Nearly all CE's need to get certified, or they won't find work.

    So it's entirely proper to call yourself an engineer if you do engineering. It is illegal to call yourself a Registered Professional Engineer when you are not.

    The same should apply to Software Engineering, if there ever is such a thing.

    What would an uncertified EE call himself in Canada? Electronics Designer? Gate Organizer? Substrate Doper?

  86. Re:I'm a software engineer. by orclevegam · · Score: 1

    Lol, you should specify that you are talking about another comment. For a moment I thought you were talking about the article link so i hurried to click when I read "deffinitely NSFW"... unfortunately it is slashdotted, and as I started reading the other comments, I realized you were talking about the last measure troll It was actually a reply to the troll post, but because of the comment hiding you can't see the comment I was replying to. If you browse at -1 you'll probably see it.
    --
    Curiosity was framed, Ignorance killed the cat.
  87. Re:A few clarifications from the author of the pos by cain · · Score: 1

    - A few people, who likely didn't make it to the site, like to make broad generalizations about geeks of this sort not having sex. I'd like to point out for the record that I'm married, have one child and another on the way. This suggests that I've had sex at least twice. And my wife is very beautiful.

    Given the information you gave us, strictly speaking, it's possible that could've only had sex once: she could've been giving birth to twins and was just between them at the exact moment you typed your comment.

  88. Cost, etc... by xbytor · · Score: 1

    To echo some other posts, if somebody wanted guarantees, warrantability, etc... for some piece of code that I wrote, the cost, effort, and time would be increased by 1 to 2 orders of magnitude. There would be pages of stipulations about what precise hardware platform, OS, and other installed applications and services were running on the same machine. I would probably just go the 'appliance' route and lock down the box so that they could only make minimal changes to the environment. It can be done, but since I don't write life-critical/infrastructure-critical code, I can't see that the cost can be justified.

    1. Re:Cost, etc... by systemeng · · Score: 1

      This is why there are real standards for engineered software like IEC 61508: 8 shelf inches for safety critical systems involving software. Nureg CR6463: 8 more shelf inches for nuclear systems. FAA DO178B 2 shelf inches for avionics. These standards supply interesting ideas like proving that there will be less than n failures per million hours by documenting a million hours of operation. They use a lot of advanced math and concepts. They do things like require complete fault trees for both the hardware and the software and the interactions between them. Engineered software is very different from the stuff that various netizens like to say is engineered. . . Signed, C. Kellough (EI certification pending board review)

  89. Engineering? by flajann · · Score: 1
    Keep in mind that the way you build a bridge doesn't change all that much over time. It's a well understood disclipine that's not up-ended every 2 years.

    Constrast that with the computer field, both for both hardware and software. Just a few years ago, multicore systems were the sole province of big expensive servers. Now you can buy a quad-core system for under $500 USD.

    In my 30 years of software engineering/development/architecture, all kinds of languages and programming methodoligies come and go. It's bewildering how quickly the market changes, and what was true when you first start school for computer science is dinosaur stuff by the time you graduate. Then you throw away nearly everything you learned in school as you cut your teeth on the realities of the corporate world.

    Mechnical engineers have is easy in comparasion. What you learn stays useful for a while, and your degree actually means something. For a software engineer, no number of degrees means diddly. The only thing that matters is are you competent in the current development platforms and can you think on your feet to solve problems that never existed before.

    It's the perpetual novelty in the field of software "engineering" that will forever keep it from becoming what many would recognize as "true engineering".

    Many joke about a software engineer designing planes. But the truth is, a software engineer is perpetually at the Wright Brother's stage of development. Really, be honest -- would you feel perfectly comfortable and safe flying in a Wright Brother's plane?

    1. Re:Engineering? by Malkin · · Score: 1

      Agreed. That's almost exactly what I was saying over here.

      Software engineering is often like being asked to plan a space mission to the surface of a planet that we know nothing about. Sending someone safely to our moon is an understood problem. One might suppose that the moon-mission gives us a useful framework upon which we could build our plans for the mystery planet expedition. However, not knowing where we're going raises all sorts of new risks that we must anticipate, if we are to land our intrepid astronauts safely on the surface. What if there is no dry land? What if the gravity is dangerously high? What if the atmosphere is corrosive? How can we validate whether we have addressed all the possibilities?

      Ultimately, we have to make assumptions, and unit test our sundry components within the assumed tolerances. We address as many of the edge conditions as we can realistically hope to address within our budget and time constraints. However, in the end, we land Jane Astronaut on the planet surface, and she is promptly stepped on by Godzilla, who is blissfully unconcerned about our risk assessment.

    2. Re:Engineering? by flajann · · Score: 1
      Indeed.

      BTW, a manned landing on Mars currently is an unsolved problem. The atmosphere is too thin for areobraking -- you'd smack into the surface long before you could slow enough to safely deploy parachutes.

      Sofware development deals with all kinds of problems not too far removed from this particular dilemma, which would be tough to engineer for.

      As far as space exploration goes, I'd much see the money and effort spent on sending lots of unmanned probes all over the solar system rather than do a manned mission, which would be hideously more expensive and cover far less. And if you loose a probe or two, nobody cares. If you loose a live human, that's a major tragedy that could shut down the space programmes. Kinda silly since countless thousands of humans are lost in car accidents every year without a single thougt, but that's humans for ya.

  90. Re: Cheap Software by easter1916 · · Score: 1

    Bet John Denver's family wishes he had...

  91. In most states, a homeowner can only by Ellis+D.+Tripp · · Score: 1

    do electrical work on a building that they personally live in. If you own a building which you rent out, you are required to use a licensed electrician. Ditto for a building used for a business or other non-residential purposes. I believe the same goes for plumbing and other licensed trades.

    --
    Remember "News for Nerds, Stuff that Matters"? Help make it a reality again! http://soylentnews.org
  92. Pretty sure you can call yourself an engineer.. by sudog · · Score: 1

    In Canada, I'm pretty sure the term can actually be applied to yourself: Engineer, I mean. So far there's no precedent that says the term is the desmesnes of standards and accreditation bodies. I think you just can't call yourself a "Civil Engineer" or an "Electrical Engineer."

    I would be interested if someone would point out actual law that says the term Engineer can't be applied basically willy-nilly (except for established practices as I mentioned.) Precedent would be even better.

  93. Engineering vs. Software Engineering by Anonymous Coward · · Score: 0

    Here's the reality... Software engineering involves a lot of check as you go. Bridge building, device building, cars, etc, don't seem to work that way. One day you can't just say... holy cow... the car we're working killed 12 people the first time, guess its time for a revision. As we all know, mistakes in real engineering have some very very real consequences. If you really want to call yourself an engineer, go through a real engineering program and stop whining about trying to join ranks where you don't belong. Real engineering requires endless hours of discipline and effort. I've worked as both and can say honestly that writing some software doesn't quite qualify you to call yourself an engineer. Some of you might say well you might be an engineer, but don't know how to write software... Here's where you're wrong. As an electrical engineer I'm required to take several programming courses (a lot of which I took myself) but really, you don't need tons of work to be a good programmer, but for all of you computer programmers, can you all honestly say you actually have what it takes to engineer a device or a bridge...? Can you? If the answer is no, then you might want to think why the real engineers don't like you trying to call yourself an engineer.

  94. What about the Therac25? by CapsaicinBoy · · Score: 1
    Simple economics. The market has supplied what the consumer has demanded. But some people get these ridiculous ideas about licensing software developers or enacting liability laws when there is NO risk to human life. They try to draw comparisons to disciplines where there are, then gloss over the details. Under even the most brief analysis, the argument doesn't hold water.

    I read your comment and immediately wondered whether your education skipped the Therac25 entirely or maybe you just skipped class that day? If you want the prestige of calling yourself an Engineer, you need to a) understand and b) live up to the standards of the profession.

    An Investigation of the Therac-25 Accidents
    Nancy Leveson, University of Washington
    Clark S. Turner, University of California, Irvine

    Reprinted without permission, IEEE Computer, Vol. 26, No. 7, July 1993, pp. 18-41.

    Computers are increasingly being introduced into safety-critical systems and, as a consequence, have been involved in accidents. Some of the most widely cited software-related accidents in safety-critical systems involved a computerized radiation therapy machine called the Therac-25. Between June 1985 and January 1987, six known accidents involved massive overdoses by the Therac-25 -- with resultant deaths and serious injuries. They have been described as the worst series of radiation accidents in the 35-year history of medical accelerators

    from http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.html

  95. Bullshit. No firmware on turboprops. by Anonymous Coward · · Score: 1, Informative

    You can thank the software engineers that wrote the fuel injector firmware for the turboprop on your plane for properly engineering it to always work

    I call bullshit.

    No you can't thank them. For there are NO software engineers writing fuel injector firmware for turboprops, at least not for any that are expecting to be certificated by the FAA to fly in the USA.

    All turboprop engines currently certificated for use by the FAA on domestic aircraft all have mechanical fuel pump and injection systems on them. In order to gain certification, these engines must be able to continue to run with all electrical systems/subsystems failed. The FAA will permit a starter/generator system to fail after the engine is started, but if the engine is not capable sustaining running and making full power until you intentionally shut it off or it runs out of fuel, it will not be certified to be installed on a certificated aircraft in the USA. So sayeth the FAA.

    1. Re:Bullshit. No firmware on turboprops. by FlyingGuy · · Score: 1

      Uhmmm Not so. Boeing 777 - 767 - 757 all have FADEC and without it the engines don't run. They have backups for the backups of the backups of the main system, but no power, no thrust. Come to think of it, the fuel valves are electrical as well and since the throttle quadrants are no longer connected to the fuel control vales mechanically, no power no control. Since the control surfaces are also fly by wire, no electrical power, no control of the airplane either. Fuel pumps and hydraulic pumps are driven by the turbines yes; but the control is all electrical. Before you become completely freaked out rest assured that total and complete power loss is not going to happen, well unless the engine falls off the plane. ALL turbine engines have permanent magnet alternators mechanically connected to the engine core and will generate enough power to keep the FADEC and ECC running at as little as 9% N2 and some even have them on N1 as well. Your entire panel may be dark but the throttles will still respond, provided you can relight at least one engine.

      Even the good old Cessna 172, 182, 210 line will soon have FADEC and will have EFI. It is getting to the point where these systems are beyond proven, and they are finding their way into lots of various sectors of aviation. ECU's have advanced to the point where their reliability is equal to if not exceeding magnetos. I have a 1992 Toyota pickup that has EFI and an ECU that has never failed, ever.

      Interesting story... When fly by wire was 1st put out there ( it became required since the planes were so big and the control surfaces were so large that you could not move them without hydraulics ) pilots went nuts because of the lack of feedback, especially when approaching stall speed! There was not buffeting of the controls that one normally feels, especially from the elevator. Boeing had to go back and design in a hydraulics system to actually shake the control yoke when the computer knew you were getting ready to stall!

      I feel you on the whole issue, but I am sorry to report that your statement is not true.

      And yes, I am a pilot.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    2. Re:Bullshit. No firmware on turboprops. by Beliskner · · Score: 1

      ALL turbine engines have permanent magnet alternators mechanically connected to the engine core and will generate enough power to keep the FADEC and ECC running at as little as 9% N2 and some even have them on N1 as well.
      Even in complete engine failure cases you have the emergency generator on A320, and then if you're out of fuel, there's always the RAT
      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
    3. Re:Bullshit. No firmware on turboprops. by Beliskner · · Score: 1

      When fly by wire was 1st put out there ( it became required since the planes were so big and the control surfaces were so large that you could not move them without hydraulics ) pilots went nuts because of the lack of feedback, especially when approaching stall speed! There was not buffeting of the controls that one normally feels, especially from the elevator. Boeing had to go back and design in a hydraulics system to actually shake the control yoke when the computer knew you were getting ready to stall!
      Yeah! A Boeing or something crashed because of single engine failure, and the copilot was flying and didn't have a stick-shaker, he pulled up and stalled the plane killing a whole bunch of passengers!
      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
  96. Re:Rigor? That's not the issue. by Malkin · · Score: 1

    You're preaching to the choir, man. Software engineers don't have to (by definition) program. Computer scientists, likewise, don't have to program. There's a real problem in the fact that we conflate these three disciplines. It's exacerbated by the universities, who often lack a software engineering major, and in their computer science department, end up conflicted with themselves over whether they're meant to be teaching computer science theory or vocational programming. Back when I studied computer science, we were largely forbidden to work with other students on anything, so we learned nothing about developing software in teams, let alone engineering things that other people needed to build -- though, from what I understand, that is improving. Still, there are tragically few people who are actually trained to be software engineers, and that's just a tiny fraction of the people who have it printed on their business cards.

    However, since we are apparently in agreement on that point, I'll grant that you have a more valid bone to pick with me on the matter of software engineering discipline. I will grant that there are people who have attempted to codify methodologies for the software engineering discipline that are meant to achieve an "Engineering" level of reliability. That said, your examples are kind of weak. Z notation and UML are languages, rather than methodologies. They will not ensure quality engineering any more than C++ ensures quality code. Formal methods (mentioned towards the end of the "Software development process" article you linked) are really the closest thing to traditional engineering you're going to run into. Though it's extremely rare, in practice, that systems are designed with that level of validation, or that the funding is provided to do so.

    Even if the funding were available, I'm not sure that, in practical terms, it would even be feasible in a reasonable amount of time to address all possible software systems with that sort of process. Avionics are a relatively old, stable problem space that doesn't change much. Many software engineers work in areas where the problems are not so well-understood. Their designs -- no matter how formally diagrammed -- often end up being more like battle plans than blue prints.

  97. One attribute missing. by thewils · · Score: 1

    A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.

    You forgot to mention "Mindreader" - I just knew you would.
    --
    Once I was a four stone apology. Now I am two separate gorillas.
  98. Faux Engineer by Anonymous Coward · · Score: 0

    [Troll Alert]
    What does professional software "engineer" produce? A bunch of overpriced software. While those who program as a part of their hobby are responsible for the software rovolution (GNU, Linux, FreeBSD, etc.)
    Why don't you stick with the title, "programmer?"

  99. God that is so true... by onion_joe · · Score: 1
    speaking as a civil engineering intern (EI) that is the truth. And once you are a PE and out playing the dating game, the stress has made all your hair fall out and your "stamina" a bit not so good.

    But you get to look down at code monkeys ;-)

    (sorry, no offense meant. Besides, I quit civil engineering years ago for the reasons stated above:-)

    --
    sig sig sig siggy sig
  100. and don't forget.... by CrazyTalk · · Score: 1

    And don't forget the most important part of the job - part monkey!

  101. No less rigorous? by hack4 · · Score: 1

    Being a doctor is no less rigorous than being an engineer, but doctors don't get to call themselves engineers either, because they're not engineers. Just like you don't call yourself a software doctor or a software astronaut, the word "engineer" actually means something. It has a specific (and legal) definition. In my province, for example, professional engineers are required to perform such duties as certifying electrical plans and building plans and ensuring that they meet safety codes. There is a reason that the profession is legally defined and regulated. Applying the term arbitrarily to any profession or occupation ("customer service engineer") is ludicrous. And yes, in Canada you can become an _actual_ software engineer. You would do so by attending university, studying engineering, and pursuing the software discipline.

  102. Jesus H. Christ by ScrewMaster · · Score: 1

    A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy.

    Would you like some cheese with that whine? I think I'm going to be sick.

    Gagh.

    --
    The higher the technology, the sharper that two-edged sword.
  103. Why certified software engineering is a crock by presidenteloco · · Score: 1

    The people who believe that software can be certified like bridges clearly haven't built or maintained any software.

    The orders of complexity are geometrically greater with software.

    Every serious piece of software I have ever seen or heard of ships with hundreds if not thousands of known defects.

    It would never be cost-effective to eliminate these.

    Theory says it is impossible to know if you have eliminated all errors from a program.

    Program correctness is often a matter of opinion, semantics, and the result of hundreds of subtle trade-off compromises
    that ensure that it is not possible, except at a meanngless management level, to say that it is "done" or correct.

    The worst code I have ever seen has been written by certified engineers (electrical, mechanical, eng. phys, you name it)
    who basically think there's nothing to it. (And when they do it, they're right.)

    The best code I've seen is usually written by a loner in a dark room who hates paperwork, because he or she is concentrating,
    but can out-think any 10 other certified practitioners.

    If you certify programmers, you'll get damned reliable MacDonalds hamburgers for programs.

    --

    Where are we going and why are we in a handbasket?
    1. Re:Why certified software engineering is a crock by p0tat03 · · Score: 1

      The people who believe that software can be certified like bridges clearly haven't built or maintained any software.

      Some can, most cannot, and most aren't WORTH certifying. It's a bit like how I'd like to have a certifiably safe car to drive, but I probably wouldn't go to the hassle of certifying my backyard fence (whatever benefits that may bring).

      But mission critical software is ABSOLUTELY capable of being certified like bridges, airplanes, or any other mission critical asset. They can and they do - ever done work on an aircraft control system? Or *any* code that goes into an aircraft? The certifications are very rigorous, as much so as any hardware component in the plane.

      The orders of complexity are geometrically greater with software.

      The people who believe that software is geometrically more complicated than bridges clearly haven't built or maintained any bridges.

      Don't flatter yourself (or me, 'cos hey, I'm a coder by trade too). When a spreadsheet crashes your only real concern is whether the user loses data. When a DC motor magnet comes loose from its stator due to the Florida heat, is lodged in the armature windings, and causes a vehicle fire, it's a whole new ball game. Tracking defects in these systems are a LOT more complicated than debugging a normal app - I've done both.

      Theory says it is impossible to know if you have eliminated all errors from a program.
      Program correctness is often a matter of opinion, semantics, and the result of hundreds of subtle trade-off compromises that ensure that it is not possible, except at a meanngless management level, to say that it is "done" or correct.

      And other engineering disciplines aren't? People discover defects in shipping products every day, but that doesn't mean regulation and certification haven't reduced consumer risk immensely. Mechanical and electrical engineering is also a matter of tradeoffs. How sensitive do you want this sensor? What's the tolerance on this resistor? How thick do we make the shaft of the motor? All of these decisions involve a large number of factors, and there are similarly a large number of "correct" choices.

      The best code I've seen is usually written by a loner in a dark room who hates paperwork, because he or she is concentrating, but can out-think any 10 other certified practitioners.

      Bullshit. There are different criteria for "good code". There's code that's highly experimental, hacked together, but accomplishes incredible things at incredible performance. This is the type of code that loners in dark rooms create - truly masterful, almost artful, code that takes the machine to its limits and back again.

      Then there's practical code, accountable code... boring code, if you will. This is the code that needs to WORK, absolutely reliably so, and when it doesn't heads will roll (sometimes literally!). Code that needs to interact with other similar systems flawlessly. This is the type of code that is written with thousands upon thousands of pages of specifications, tests, and regulations. This is certifiable code.

      To use a car analogy (cue groans here): your idea of good code is like an F1 race car. Experimental, high performance, genius design. But for the rest of us we'd rather have conservative design, focusing on safety, and certification up the wazoo in that regard.

  104. Software Craftsman by Tpenta · · Score: 1

    A friend of mine had the title "Software Craftsman" on his business card.

    This feels a lot closer to being right than anything else. I think of it as much more of a craft than anything else.

    Alan.

  105. I for one.. by Anonymous Coward · · Score: 0

    I, for one, welcome our Canadian Software Engineer

  106. Operations research? by Anonymous Coward · · Score: 0

    To become an accredited engineering program in Canada, there has always been a strong requirement for a scientific background. This first created problems for computer engineering programs in Canada to become accredited, so they added courses on things like the physical properties of silicon, etc. to meet this requirement. Electrical engineering, of course, has thermodynamics, etc.

    Do Canadian engineering schools have degrees in operations research? At my (American) school, it was an engineering degree, even though the basis for it is essentially mathematics.
  107. Pretty much sums it up by SageMusings · · Score: 1

    From TFA:

    In my 8 years of experience I've worked for 4 different companies

    I read all I needed to know from the article in that one sentence. Make your own judgments...

    --
    -- Posted from my parent's basement
  108. Canadian engineers are accredited. by willisbueller · · Score: 2, Interesting

    Software Engineering is an accredited engineering discipline in Canada. Like all engineering fields in Canada, you must be accredited by the governing bodies. To do this you need to attend an accredited university for a 4 year bachelor of engineering program. That's right, we accredit directly in school. All programs are monitored carefully and ensure a consistent, minimum level of performance across the country. Put simply, you have to go through an accredited university- in an accredited program(bachelor of engineering)- to call yourself a Software Engineer in Canada. Or even more simply, from even our worst schools we consistently produce engineers that effing rock.

    1. Re:Canadian engineers are accredited. by Shados · · Score: 1

      Well, technically, our worse schools probably don't offer engineering degrees, especially not software engineering :) In my area, out of 6 (or so) well known universities, only ONE offers it, the others offer normal computer science.

  109. Calling yourself an engineer illegal? by glitch23 · · Score: 0

    "I am, in the States, known as a Software Engineer. In Canada we're not allowed to call ourselves engineers, although the discipline is no less rigorous than any other kind of engineering.

    I don't know about the state you are in but in WV (where I am) it is illegal to call yourself a software engineer or hw engineer or any type of engineer unless you take an engineering test. At least that's what I've been told by a local university professor.

    --
    this nation, under God, shall have a new birth of freedom. -- Lincoln, Gettysburg Address
  110. Software engineering is a soft skill by KnowThePath · · Score: 1

    Mod parent up. Software engineering is a skill (a la pottery) which has a few basic principles and is built upon through experience and intuition. Other forms of engineering (take structural engineering) for example fall back upon rigourous and empirical calculations that arise from training and formal education. That is not to decry the profession of software engineering(I am one myself) but I say that to differentiate it from the conventional trades of engineering that exist.

    You can justify the design of a bridge built to carry a certain load under certain conditions under some assumed factors of safety but how can you, say, justify _empirically_ that the class architecture you designed is the best that could be or how c++ is better for a particular task than Python is. You can only quote from experience, gut feel and hearsay(for some ;) ) but can you show me the math?

    Software engineering I feel is a craft, a certain art form where you can exhibit your wizardry, but it's still not something you CANNOT pick up without 4+ years of engg school training, whcih is the case with most other established forms of engineering.

  111. A profession, but in what discipline by dukeGuinness · · Score: 1

    Much of the disagreement in Canada comes from the well-meant desire to protect the good name of engineering from the obvious (and occasionally not so obvious) cereal-box-top code monkeys denigrated in previous posts. That much is laudable. Where the fight gets interesting, and perhaps more contentious, is the desire (not universal, but significantly present) to keep software engineering accreditation as something that only schools of engineering can achieve. Software engineering is studied and taught equally in engineering and in computer science. It's the conflict between these two fields that has historically (at least in Canada, but strangely not in the rest of the world) been the site of the most litigation and vitriol. I think this does little for either side, but as a graduate from a computer science program with a degree in software engineering (University of Saskatchewan) I may be biased.

    I think that both engineering and whatever software engineering will become will benefit from a more rigid structure of professionalism in software production and maintenance and I think you'd be hard-pressed to find a software engineering graduate (from either discipline) who would disagree. That said, this is less about protecting the public from people like me (I flatter myself) and more about those who call themselves software engineers with few or no qualifications. I often think of this as the fight that psychologists face when trying to deal with the large number of "psychotherapists" who purport to provide similar services -- just without the education and legal responsibilities.

    I'm startled at the highly modded trolling found in this commentary -- not to the usual standards of Slashdot, but apparently this touched a nerve.

  112. Definition of Engineering by Anonymous Coward · · Score: 0

    Definition of Engineering

    just 1 word: Measurement

    If your discipline involves measuring stuff, thats part of some branch of engineering.

    next question please

    1. Re:Definition of Engineering by stewbacca · · Score: 1

      As an Instructional Designer, one of my duties is to measure learning. This hardly an engineer.

    2. Re:Definition of Engineering by SilentBob0727 · · Score: 1

      I guess we're not engineers, then, since we don't measure anything.

      --
      Life would be easier if I had the source code.
  113. Re:A few clarifications from the author of the pos by Anonymous Coward · · Score: 0
    Thanks for reading, hopefully the site will be back up soon! I'd copy and paste the article text here, but I wasn't expecting this and don't have an offline copy!

    Pretty slovenly for a putative "engineer", I'd say.

  114. Re:Rigor? That's not the issue. by dsum · · Score: 1

    Hi, I have to disagree the following points about software engineering:
    A. "there's no way to learn software engineering the way Engineering disciplines are learned."
    B. [Software] discipline simple doesn't exist.
    C. "cannot use mathematics" design system software.

    From my study in my computer engineering courses, we learn what is software engineering. Software Engineering doesn't mean just "programming", it involves many other aspect of software development, like collecting specifications, designing, implementation, testing and software maintenance.

    In design phrase, software engineers have to consider the cost, quality, reliability, delivery time and many other matters just like any other engineer in the traditional disciplines.

    Although it seems to there is no mathematically involve in general software design, but if you take computer science courses, you learn that your software performance rely on mathematical calculation (i.e. O(n)). If you are working on assembly level software development, you definitely require mathematically skills to solve complex problem because your software is limited by your hardware performance (memory and speed).

    Just like any other engineering, software quality also based on statistic and software engineering models. Think about highway engineering, the quality of the road material is mostly base on statistical calculation. In software engineering, we have Lines of Codes, function-points, function metrics measurement and many others determine the software quality, maintainability and flexibility.

    So, what is the obvious difference comparing to other traditional engineering fields? 1. The cost of correcting an engineering mistake is a lot less. If your bridge design is incorrectly, it will cost a lot rebuild or re-enforce bridge compare with solving software deflect. 2. Software "usually" doesn't have a direct impact on public safety. Billing system maybe a bad example, but think others, like automobile, airplane, traffic light, it is controlled by software. If the software crashes, it could cause death.

    Unfortunately because software engineering doesn't have a total clear understand among the public, and mostly not even to CCPE I bet, therefore it is hard to distinguish one from a software engineer to just a programmer. It is probably very hard to have regulation on software that require engineer's stamp because the definition is not clear.

    Does medical charting software require an engineering stamp before it can be use in a hospital? What happen if there is a defect in the software and doctor incorrectly prescribes drugs which cause a patient to die?

    It is pretty much impossible to write a useful software that is flawless, even a bridge cannot participate every possible environmental hazards and combinations. It can be statistically said a bridge can last for 200 years, but it is not definite.

    If you do claim yourself to be a software engineer, you have to do your job professionally with high standard and due diligence. This is a standard and common ground for all engineers in Canada. And yes, software engineering stream (usually from Computer Engineering discipline) does exist in a number of Universities in Canada.

  115. Engineer? by NekoXP · · Score: 1

    I think the term engineer is overused, and overrated. I agree with Canada's stance on it - engineers have a degree in some engineering discipline or they're not engineers. In the US, you might call yourself a "software developer", but I have always gone with the far more flouncy "Consultant". After all, you may "engineer" software or "develop" in another, but you're ALWAYS the consultant between "guys in suits" and "customers" for what code can and can't, will and won't do.

    It also seems to pay more than "engineer" jobs, I think in some countries it goes like the Army, Combat Engineers who.. dig holes and put tents up, maybe deploy a prefabricated bridge, maybe blow one up. It is hardly a requirement for an 10-year stint getting your second masters degree in an engineering discipline to do that. After all, if you needed it, it'd be a dead loss to the Army because you couldn't get enough of the guys to the right place to put up that IKEA "Brïgge".

    And that - the "can't get enough" problem - is probably diluting the meaning of the word in the corporate world too. There never seem to be enough "software engineers", as in ones that could be stated an engineer in Canada, but everyone is employed as one in the US and UK. I wonder if we actually need more differentiation in our jobs.. a few more job titles, so everyone knows where they stand and what their job would really entail..

  116. Re:Rigor? That's not the issue. by Malkin · · Score: 1

    Notation != Engineering. It is a tool of engineers, but it is not a methodology, and it does not ensure quality work. O-notation, in particular, is useful for describing the efficiency of an algorithm, and thereby discussing the relative tradeoffs of various approaches. That is, it has a value in analysis and communication. Notation can be used to justify your design choices, and it can be used to communicate your design to others (such as your programming team). However, it has no way to guide you the way that the laws of physics guide traditional engineers.

    When I was in high school, I was required in one of my engineering classes to build a floating concrete structure. Most of the kids addressed the problem with meek iteration, crafting tiny things that were barely thick enough to stay in one piece. I came into class with a mold I had built, and set about making a large, thick, heavy concrete bowl. All the others swore up and down that it would never float, but I just laughed, and told them to wait and see. On the day we had to demonstrate our designs for our teacher, I marched up with my monstrous concrete salad bowl, and I set it upon the water for the first time. It floated, marvelously. The other students asked me how on earth I did it. I said, "I did the math."

    Software engineering does not feel like that.

  117. Nice write up.. by modi123 · · Score: 1

    I thoroughly enjoyed the write up, and forwarded it on to a few friends and family members. I have a difficult time trying to get across why I love what I do, and how I willingly add the extra time into a project to make sure it comes out right. I am talking about: teachers, lawyers, doctors, PR folk, accountants, service industry friends, and so forth. The only ones that appreciate the labor of love would be the architects.

    Engineering definition bickering aside this was a well thought out post. Good job!

  118. Re:A few clarifications from the author of the pos by Anonymous Coward · · Score: 0
    I'd like to point out for the record that I'm married, have one child and another on the way. This suggests that I've had sex at least twice.

    Actually, it suggests that your wife has had sex at least twice; it doesn't say anything about you. You bastard !

    You just ruined my marriage.
  119. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  120. Laughable by geekoid · · Score: 1

    "I am, in the States, known as a Software Engineer. In Canada we're not allowed to call ourselves engineers,"
    In some states your not allowed to either unless you have a PE. Oregon, for example.

    " although the discipline is no less rigorous than any other kind of engineering."
    True, when doing actually engineering with software. Most development is not.

    " But perhaps its for the best, because 'engineering' describes only a part of what I do. A software developer must be part writer and poet, "
    no NO NO. There is a right way to write software, then there are the thousands of other ways to do it.

    "part salesperson and public speaker"
    No different then any engineer.

    ", part artist"
    no. If your code is 'art' then it's not engineering, at all. Sorry, they way a bird flaps it's wings may be pretty, but it's not art, it's the way its done.

    " and designer"
    And engineer should never design, doubly so for software engineers.

    ", and always equal parts logic and empathy.""
    Empathy? WTF?

    Another Bozo with an over inflated self worth in what they do. Just great. You're the last person the industry needs.
    Sadly, it's full of people like you; Which is why it's can't seem to leave it's infantile state and mature.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  121. corellation is not causeation by Anonymous Coward · · Score: 0

    "A few people, who likely didn't make it to the site, like to make broad generalizations about geeks of this sort not having sex. I'd like to point out for the record that I'm married, have one child and another on the way. This suggests that I've had sex at least twice. And my wife is very beautiful."

    that statement could just as easily mean that i have had sex a least twice :P

  122. Art != Science by Anonymous Coward · · Score: 0

    I think this a really insightful article. I worked in a similiar capacity to what the author is desribing and can realte to having worn many differnt "hats". I also believe that code is very much like art. If Art != Science then FLAME!!

  123. Attention span by alexo · · Score: 1
    And if you can be bothered to read the whole page, you'll find the following requirements:

    # Licensing by a provincial or territorial association of professional engineers is required to approve engineering drawings and reports and to practise as a Professional Engineer (P.Eng.).

    # Engineers are eligible for registration following graduation from an accredited educational program, three or four years of supervised work experience in engineering and passing a professional practice examination.

  124. Re:A few clarifications from the author of the pos by cain · · Score: 1

    Well that's just silly.