Slashdot Mirror


Software Engineering Body of Knowledge

An Anonymous Coward writes: "The IEEE has a project going to establish a Software Engineering Body of Knowledge. I'd recommend that all Slashdotters read this and send comments to this since this project could lead to the officially designating Software Engineers as a real Engineering discipline. That could then mean that licenses could be required to practice software development and that this could to regulation and other legal ramifications." On the surface this looks like a fairly boring document/process, but this is a major step forward - turning software engineering from an art into a science.

428 comments

  1. What about the PPR? by LazyDawg · · Score: 4, Insightful

    I've found thousands of really detailed, useful pages about software engineering, design and manufacture at the Portland Pattern Repository. Why are they trying to make yet another big repository with a structure that doesn't neccesarily scale as well as a wiki?

    To see the PPR, surf to http://www.c2.com/cgi/wiki

    --
    "Look at me, I invented the stove!" -- Ben Franklin
    1. Re:What about the PPR? by partingshot · · Score: 2, Interesting

      because there's more to software engineering than just patterns.

      --
      Anonymous posts are filtered.
  2. Re:Does it matter? by Anonymous Coward · · Score: 0

    sweet, let's wake up Marx and get him to use GNU/Linux.

  3. seventh by Anonymous Coward · · Score: 0

    turkey day

  4. What about my MCSE? by alen · · Score: 5, Funny

    Microsoft says I'm a systems engineer. I studied long and hard for the exams. And then had to relearn almost everything for the real world. You wouldn't believe my surprise when I found out that in the enterprise people don't use NT boxes as routers and use third party software instead of NT backup and a tape drive on each server. But getting back to the point. How come I'm not considered a "real" engineer? I got my license from Microsoft. Like developers are real engineers anyway. All they do is click, drag and drop code in until they say it's ready. Then the patches come out.

    1. Re:What about my MCSE? by ZxCv · · Score: 2

      How come I'm not considered a "real" engineer? I got my license from Microsoft.

      Sounds like you answered your own question.

      If you think software engineering isn't any harder than administrating some NT machines or even a whole NT network, you're obviously without the necessary experience to accurately make that judgement in the first place.

      --

      Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
    2. Re:What about my MCSE? by aridhol · · Score: 1

      IMHO, a real engineer has a transferrable skill set. An MCSE does not give you this.

      --
      I can't say that I don't give a fuck. I've just run out of fuck to give.
    3. Re:What about my MCSE? by why-is-it · · Score: 1

      Sounds like you answered your own question

      Dude, I think the original posting was intended as a joke.

      At least, I hope it was an attempt at humour...

      --
      *** Where are we going? And what's with this handbasket?
    4. Re:What about my MCSE? by josh253 · · Score: 0

      Hell, my previous boss once stated that an MCSE is equivilent to a CS degree. Of course he is an MCSE (NT) and a fairly impressive dumbass...

    5. Re:What about my MCSE? by Li0n · · Score: 1

      he was being sarcastic...

      --

      ~
      ~
      :wq
    6. Re:What about my MCSE? by cornflux · · Score: 0, Insightful
      Like developers are real engineers anyway. All they do is click, drag and drop code in until they say it's ready. Then the patches come out.
      I am a software engineer, and I don't work that way. In fact, I don't know any software engineers that work that way.

      My guess is that your opinion is based on a lack of knowledge.

      And, for what it's worth... I, and the other software engineers I work with, don't drag-and-drop code. Shit like that never works and you definitely don't learn anything that way. Furthermore, it's not my decision to decide when something's ready... i.e., it's ready when the software meets the functional and design specifications. To that end, I do my best to get things done the right way the first time. In fact, patches and fixes are highly frowned upon (because it takes resources away from new projects -- we move fast).

    7. Re:What about my MCSE? by alen · · Score: 3, Informative

      I guess computer geeks don't have a sense of humor. I remember hearing somewhere that C coders don't think VB programmers are real programers or something like that. Don't remember the specifics. Thought I would play on that.

      I do have a real MCSE. And I also realize that any certification program run by a company's marketing department isn't a real certification.

    8. Re:What about my MCSE? by Anonymous Coward · · Score: 0

      that's like calling the guy who cleans the roads with his broom a road surface system engineer.

    9. Re:What about my MCSE? by WasterDave · · Score: 2

      Cor, fsck me, the number of people who took this seriously. What's up with slashdot today?

      Dave

      --
      I write a blog now, you should be afraid.
    10. Re:What about my MCSE? by Anonymous Coward · · Score: 0

      Strangely those of us who have an MCSE and actually know what we're doing did all of our training in the real world, and then took the MCSE tests.

      What'd you think the MCSE was? Some kind of way in the corporate hiring door?

    11. Re:What about my MCSE? by labiche · · Score: 1

      plenty of people work with these types everyday. sadly they are not aduquately trained to think they are logical systems engineers. peace

    12. Re:What about my MCSE? by tupps · · Score: 1

      Dishwasher -- Underwater Processes Engineer

      --
      Go out and get sailing!
    13. Re:What about my MCSE? by cornflux · · Score: 1

      Uhm, yeah, I guess you can get upset about it.

    14. Re:What about my MCSE? by Anonymous Coward · · Score: 0

      This looks like an intentional double-edged troll: bashing OSS and USA-centric Slashdot. That being said:

      1. USA is #1. Canada only exists at all with our blessing. They piss us off; they'll become the 51st state.

      2. FreeBSD, and to a lesser degree, Linux, mop the floor with Windoze. Believe me, there's nothing inferior about them. You sound like an MCSE. Sorry, that disqualifies you to make any value judgements in the M$ vs. OSS department.

    15. Re:What about my MCSE? by cornflux · · Score: 1

      This is nuts. My post was moderated down -1 as overrated and yours has been moderated +1 as informative. WTF?

      by the way, not all types of humor translate well into ASCII characters. just a thought.

    16. Re:What about my MCSE? by Mad+Marlin · · Score: 1
      How come I'm not considered a "real" engineer? I got my license from Microsoft© Like developers are real engineers anyway©

      The title ``engineer'' is a legally protected title, only to be assigned by federal, state, or local government bodies© Please note that that does not include Microsoft, Red Hat, Novell, or Cisco© As a general rule, if you are unaware of vector mechanics ¥both statics and dynamics then you are not an engineer© Since the IEEE is run by real engineers, hopefully within five to ten years all of this nonsense will have been settled, and low-level technicians won't be trying to call themselves engineers anymore©

    17. Re:What about my MCSE? by Anonymous Coward · · Score: 0

      Here in Canada the E in MCSE stands for "Expert" and not "Engineer" as there is a huge difference between the two.

    18. Re:What about my MCSE? by jo44 · · Score: 1

      I think this type of humour trasnlated just fine into ASCII. It was pretty clear to me that it was humour.

    19. Re:What about my MCSE? by Anonymous Coward · · Score: 0

      Well, perhaps you don't spend your life surrounded by lusers who think they're cool because they just passed one of the MCP tests. Some of us hear that crap from serious(ly ignorant) individuals.

    20. Re:What about my MCSE? by Anonymous Coward · · Score: 0

      Its worthless, this thread is about software engineering. This is for those of us who have degrees in comp sci or applied mathmematics, not Systems admin. Shut you whining meat hole and go find somewarez else to complain about your current state M$ blues. Good thing M$ didnt issue a "Certificate" stating you were an astrophysical-engineer huh? Then you could go whine to the NASA/Lockheed bots about your poor M$ "certified" soap opera. You are a maggot. THat is all.

    21. Re:What about my MCSE? by Anonymous Coward · · Score: 0
      Moderation Totals: Insightful=1, Overrated=2, Total=3.

      Thank you, to whoever has moderated this post down from +2 to a grand total of 0. This just goes to show the actual level of maturity of the average slashdot reader.
    22. Re:What about my MCSE? by rali · · Score: 1

      Technically MCSE doesn't qualify anybody as an 'engineer'. There is a specific regulation and approval process for all engineers of various disciplines. Obviously, this is to ensure public safety, and the same reasoning applies to software products as well. People's lives depend on correct software as much as any mechanical device or other safety critical application. It is for this reason that software should be regarded as a true engineering field and should be regulated appropriately.

    23. Re:What about my MCSE? by rali · · Score: 1

      Your second point is valid in my opinion, but it's been a while since I've heard such patriotic BS. That first point was clearly generated by a moron lacking any sense of global perspective. Do you really believe that the USA is just 'being nice' and allowing Canada co-exist on the continent we all like call North America? I suspect that many Canadians mistakenly believe that all Americans are like you. Perhaps you could do your 50-state country a favor and not make posts like these.

    24. Re:What about my MCSE? by rali · · Score: 1

      Are you really a "software engineer"? If so, do you mind me asking where you got your degree in software engineering? I am currently aware of only a handful of schools offering an accredited SE program.

    25. Re:What about my MCSE? by fenix+down · · Score: 1
      Heh. That's a fucking awesome commercial.


      Lynch is the man.

    26. Re:What about my MCSE? by snake_dad · · Score: 2

      Oh come on! I already started laughing when I saw MCSE :-)

      --
      karma capped .sig seeking available Slashdot poster for long-term relationship.
  5. Both kinds: Science and Art! by TimTipple · · Score: 3, Insightful

    Hey, I'm all for recognising the science of software engineering. But don't let the pendulum swing too far the other way such that we end up forgetting the art of software engineering.

  6. Art and Science by deggy · · Score: 2, Insightful

    I still beleive that Software engineering is as much art as science. It's just less free-form. The biggest thing that most people miss is method and Structure (can you say SSADM? Aarrgh!). This is what leads to the failure of most software projects - the winning bidders (the lowest bidders) are often just a bunch of untrained amatures (Mostly "Microsoft Certified Professionals") who, while they can talk a good project don't know how to successfully complete a large task (only 20% coding time and all that) as they're only used to banging together a quick web-site/access back end. The art comes into making it efficient (Elegant code, a lost art to most MS programmers), The Science goes into realising that art in a functioning form.

    1. Re:Art and Science by Anonymous Coward · · Score: 0

      You are a jackass! Your comment slamming Microsoft solidify that.

  7. Huh? I don't get the fears.... by invenustus · · Score: 3
    ....this project could lead to the officially designating Software Engineers as a real Engineering discipline. That could then mean that licenses could be required to practice software development and that this could to regulation and other legal ramifications....

    Okay, correct me if I'm wrong, but Electrical Engineering is designated a "real Engineering discipline", right? Well I've never taken a course on EE, nor do I have any kind of license or certification, but I'm still allowed to take my radios apart and fix them when they break, right? Why would this official designation of software engineering affect anything? Am I the only one who doesn't get this?
    --
    grep -ri 'should work' /usr/src/linux | wc -l
  8. We must contribute. by Krapangor · · Score: 1

    It is very important that all slashdotters contribute to make sure that Software Engineering includes a great knowledge of free software and free operating systems.
    Of course software engineers make new systems but they can't make good new one if they don't know the good old one, really.
    To set a good example I will provide them my great expriences with linux installation and writing very good programs in assembler.
    I URGE YOU ALL TO DO THE VERY SAME !!!
    If we don't free software will be unknown to software engineers in some years because Microsoft had set up all standards for software engineering which all included Microsoft Windows.
    There will be noone to contribute to the linux kernel and other projects anymore, because all older free software developers are very rich on Hawaii from money made by consulting. And all younger developers will be software engineers and won't know the vast qualities and possibilities of free software !!!

    --
    Owner of a Mensa membership card.
    1. Re:We must contribute. by deggy · · Score: 1

      And here's the catch - if we all contribute no-one will be able to use the site for weeks - the poor things been slashdoted already!

    2. Re:We must contribute. by Ionizor · · Score: 1

      Engineering isn't about knowledge, it's about design. Engineers design systems. Software (just like electricity and machines) are just tools; means to an end if you will.

      --

      --
      Todd's Law: All things being equal, you lose!
  9. responsibility??? by Quasar1999 · · Score: 2

    Someone please define the differences between, say... software developer, software engineer, and ummm... code monkey...

    Now who has to get certified, and is legally responsible? Being a code monkey, I already have too much responsibility... don't want more... where do I protest?

    --

    ---
    Programming is like sex... Make one mistake and support it the rest of your life.
    1. Re:responsibility??? by alen · · Score: 1

      What are the differences between network admin, system admin and account bi*ch?

  10. Licenses Required? by aridhol · · Score: 5, Insightful

    The article is slashdotted, so this is based on the writeup.

    Requiring a license to be a programmer is a bad thing. If you think it will improve software quality, you're mistaken. Think I'm crazy? How many software contributers have an engineering certification? Sorry, no cert, no programming. No open-source software.

    OK, so let's change the rules a bit. "You must be certified in order to write commercial software". You think that will help anything? Who determines what classifies as commercial software? Is my Mandrake CD commercial software? If so, does that mean all the software on it, including the free software, is now commercial? Not good.

    However, what if there's a non-commercial certification process. Run, not by RedHat or Microsoft, but by a vendor-independent group of engineers. You prove to them that you are a capable engineer/programmer/whatever. They give you a certificate that actually means something. Perhaps require the certification to be re-written every N years.

    Now, companies can have a certification that says this person is a software engineer. Not a Microsoft-certified software engineer. Not a RedHat-certified software engineer. An engineer-certified software engineer. No commercial influence, transferrable skills, and a large skill set.

    --
    I can't say that I don't give a fuck. I've just run out of fuck to give.
    1. Re:Licenses Required? by Anonymous Coward · · Score: 4, Interesting

      You're right. No, being licensed won't improve software quality. But, it does improve accountability.

      Take the bridge building analogy. If an engineer designs a bridge that falls apart and people die, they are liable. His company may also be liable. If a city engineer put his stamp on the bridge design, then he is also liable, and perhaps the municipality he works for.

      Why should software be any different? We get mad when MS Word dies on us and we lose an hours work. Can we sue Microsoft for lost revenue because we missed a deadline because of that, and therefore missed a contract? Probably not (well, I haven't read a EULA lately) but there's no reason why we shouldn't be able to. Actually that was a bad example. Lemme try again.

      How about a software firm contracted to write a control system for a city's traffic grid. A bug or poor design causes a set of lights to go on the blink, two people run an intersection and both die in the resulting collision. Who pays the damages? Not sure, perhaps the city... but its not their fault. But they can't pass that onto the software firm... not currently.

      But instead, if we had licensed software engineers, who in certain instances like the one above, who were now indefinately liable for their work, and who are required by the customer to "sign off" on it... well, it can only bode well for the quality of software.

      The big thing here is that the customer has to demand accountability --> Im sure that big e-commerce data centres demand guaranteed uptime from Microsoft.. .and if something bugs out, then Microsoft will foot the bill. As consumers we get told "dont use this in a safety critical system, a real time system, a system where you need X uptime or reliability" and worse, we buy it still! Would you buy a car if the dealer said "we think your airbag will deploy, but just to be safe, try not to get into an accident"

      As an engineer myself, Im constantly reminded of my responsibility to society. Alright, I don't write code for the space shuttle, or code that flys your 767 to Bermuda. In fact, I don't write code that even sees a customer. But I do write code that tests product (in this case radio systems for police and ems). If I screw up, don't properly test my code, then the product code is not properly tested, and perhaps at a critical moment a system will go down and a police officer facing a dangerous suspect will lose his life. That sucks.

      Consumer software should be no different, but we don't demand the accountability.

    2. Re:Licenses Required? by aridhol · · Score: 2

      How 'bout a compromise?

      Commercial, off-the-shelf software, doesn't require licenced engineers. Shouldn't have the EULA restrictions, but that's a different kettle of fish.

      However, only licensed engineers and programmers are allowed to write critical software. They could write regular software as well; it could be a selling point to know that the software is written by someone who both knows what (s)he's doing, and is willing to take accountability for its failures.

      --
      I can't say that I don't give a fuck. I've just run out of fuck to give.
    3. Re:Licenses Required? by Anonymous Coward · · Score: 0

      I think the destinction should be obvious. The line should not be drawn at commercial software, however only at software which is "mission critical". This means software written for airports, millitary, automobiles, industry robots, should all be written by engineers. Secure banking systems perhapse also. Outside of this scope however, it should be free range. Just like in construction, where you only need an engineer (or is it an architect) if its over 2 stories in height.

    4. Re:Licenses Required? by Kerg · · Score: 2
      If a city engineer put his stamp on the bridge design, then he is also liable, and perhaps the municipality he works for. Why should software be any different?

      Because a) building a non-trivial piece of software is lot more complex than building a bridge b) we currently lack the tools to verify the correctness of a software implementation.

      The city engineer can do the math to verify the bridge will hold and not collapse. A software engineer is not able to do the same. Testing will never guarantee 100% correctness of code.

    5. Re:Licenses Required? by Ismilar · · Score: 1

      "Requiring a license to be a programmer is a bad thing. If you think it will improve software quality, you're mistaken."

      But it will improve quality! Professional Engineers have to take responsibility for the software that they create! If your software crashes or otherwise doesn't work properly, you can sue the company that made it. If companies are going to get sued when their software is unstable, they wont make unstable software.

      Besides, requiring Eng certification will not prevent Open Source software. Electrical Eng is required for electrical devices, but nothing is stopping you from making your own little radios and robots and things (and selling them for $6.95 each at your neighbor's garage sale)...

      -Brian Wheeler (2nd Year Engineering Student)

    6. Re:Licenses Required? by Ismilar · · Score: 1

      Building a bridge is easier than building a piece of software?!! I have taken courses in statics, materials and calculus (the main things involved in building bridges... and I have also taken courses in computer science and discrete math (involved in building software). I can definetly tell you that designing & building bridges is harder than designing and building software! :)

      Also, you said that they can do the math to verify that the bridge will not collapse. Well, you can do the same with software.

      Also, what you say about testing never guaranteeing 100% correctness of code is true... However, a civil engineer CAN'T test a bridge! They can test scale models in wind tunnels, and they can try to approximate things using physics and calculus, but they will never know for sure until they actuall build the thing and let people start using it. With software, you can test the actual end product as much as you want before it goes out to people (with some exceptions, of course).

    7. Re:Licenses Required? by cyberon22 · · Score: 1

      Commercial software can't be critical software? I wasn't aware of that.

      Sounds like a nice way to create barriers to entry in the software-engineering market, and thereby drive up the wages of programmer. I can't imagine a system more prone to moral hazard and more likely to produce MORE bad programmers than further increases in the average wage rates of 'licensed' professionals.

      Voodoo coding....

    8. Re:Licenses Required? by aridhol · · Score: 2
      Besides, requiring Eng certification will not prevent Open Source software


      If it is publicized that certification is required to be a programmer, will it be similarly publicized that it only applies to certain software? Or will the media just say that all programmers need certification? What will that do to prospective programmers?
      --
      I can't say that I don't give a fuck. I've just run out of fuck to give.
    9. Re:Licenses Required? by Ionizor · · Score: 1

      This is crap. It's pure tripe.

      A non-trivial piece of software isn't any more complex than a bridge. I don't know how much physics you've taken but the math behind a bridge is complex and it's really easy to make a mistake. That's why Engineers built tools (including computer modeling tools - which are written by certified engineers) to help them build bridges. Still, if you conceive it properly and test it adequately, a design should never fail in a real world situation.

      A properly designed program is inherently flawless because it was designed before it was implemented.

      If you tried to create a bridge by building it as you went, chances are it would collapse. You would have no way of knowing until it was finished and people were using it. The same goes for software.

      The whole idea behind top down design and modular programming is that you're breaking software down into small pieces that perform a single task. If you know each module performs its task and only its task and does it properly, the software won't crash!

      As an Engineer you're held liable if something you design breaks. So you'd better make damn sure you get it 100% correct.

      --

      --
      Todd's Law: All things being equal, you lose!
    10. Re:Licenses Required? by Kerg · · Score: 2
      If your software crashes or otherwise doesn't work properly, you can sue the company that made it.

      Has there ever been a single piece of software that did not include at least one bug after its initial release?

      If companies are going to get sued when their software is unstable, they wont make unstable software.

      Define "unstable software".

    11. Re:Licenses Required? by bbhack · · Score: 1

      > I can definetly tell you that designing & building bridges is harder than designing and building software! :)

      If your mind works that way, then I guess you are right concerning yourself. You are in general wrong.

      The simplest short span bridge is two beams and some slats. The detailed analysis fits on one or two pages. Get real.

      --
      The next thing to remember is to put next things next.
    12. Re:Licenses Required? by aridhol · · Score: 2
      Commercial software can't be critical software? I wasn't aware of that.


      If you believe your software is mission-critical, look for the "Certified Engineer" label I suggested in the parent post. If you have the choice between a cheap, uncertified word processor and an expensive, certified one, weigh your needs. If it needs to be rock-solid, get the certified one. If you can handle the occasional crash, get the cheap one.
      --
      I can't say that I don't give a fuck. I've just run out of fuck to give.
    13. Re:Licenses Required? by UberChuckie · · Score: 1

      The software they use on the Space Shuttle? I recall on a Discovery Channel show about the rigorous testing that code goes through.

    14. Re:Licenses Required? by p3d0 · · Score: 2

      I don't see any reason to require an engineering certification to write software, just like you don't need an engineering certification to build a bridge. However, certain projects can require certification if they want to have certain quality guarantees.

      Also, to continue the analogy, the engineer doesn't actually construct the bridge; he designs it and certifies it. Same could be true of software: if the appropriate practices are developed, an engineer could certify the work of a hundred non-engineers.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    15. Re:Licenses Required? by Kerg · · Score: 2
      I can definetly tell you that designing & building bridges is harder than designing and building software!

      I think not. Building software with the assumption that its correctness is not verified or guaranteed is easy. So is building a bridge if I don't have to take account the calculus, but will rely on common sense ("it looks strong enough, I'm sure it'll hold" -- mind you, this is the attitude we use with building the consumer software today).

      If you put the same requirements on consumer software that we put on bridges today (in other words, 100% correctness) then verifying the software will be alot more complex than verifying a design of a bridge.

      Well, you can do the same with software.

      There's a problem in putting this in practice. Otherwise we wouldn't have satellites worth billions of dollars explode if it was a simple matter to verify the correctness of the software.

      However, a civil engineer CAN'T test a bridge!

      Yes, so? My point was that testing in software engineering is a cheap replacement for the lack of methods to verify the correctness of software. The civil engineers can build safe bridges without testing because they have a well known axioms they can base their proof of correctness on. This is what is lacking in software engineering.

    16. Re:Licenses Required? by Ismilar · · Score: 1

      ...and a simple program is:

      int main(void)
      {
      return 0;
      }

      The analysis of that fits in less than a page.

    17. Re:Licenses Required? by Ismilar · · Score: 1

      But we can (and do) put the same requirements on software. That is what the article is talking about, and that is what I myself do (I am in 2nd year Software Engineering)

    18. Re:Licenses Required? by SimJockey · · Score: 1

      And a simple 'Hello, World' program is about 3 lines of code.
      Most engineered bridges can't be designed on a couple of sheets of paper any more than most programs can't be written in 3 lines of code.
      Hardly a convincing supporting argument for "You are in general wrong."

      --
      Laugh while you can, monkey boy!
    19. Re:Licenses Required? by Ismilar · · Score: 1

      Probably not, but there hasn't ever been a perfect bridge or electronic device either.

    20. Re:Licenses Required? by Kerg · · Score: 2
      I don't know how much physics you've taken but the math behind a bridge is complex and it's really easy to make a mistake.

      I am sure the math is very very complex, and that it is very very easy to make a mistake. That's not the point however. The math behind the bridge design can be proven either correct or wrong. The math we use have been known for centuries.

      Proving a software implementation correct has turned out to be alot more difficult task though. Otherwise the software engineers of today would be constructing the proofs routinely, instead of trying to rely on all sorts of different kinds of testing methods.

      A properly designed program is inherently flawless because it was designed before it was implemented.

      The software engineering field is filled with countless examples of heavy "design first" approach to implementing software. The practice has shown it does not guarantee flawless programs.

      If you know each module performs its task and only its task and does it properly, the software won't crash!

      Nice theory, but wrong. Why do we have "integration testing" then?

      So you'd better make damn sure you get it 100% correct.

      Please give examples of software in use today that have been proven 100% correct. I'd be curious to know how many actually exist.

    21. Re:Licenses Required? by Ismilar · · Score: 1

      It will probably work like other engineering disciplines. If you need something to be reliable (like a bridge or a car), you hire engineers. If you need something that doesn't need to be reliable (like a tool shed or maybe a wagon), you hire technicians or skilled labourers (or you make it yourself)...

      Just apply the same thing to software: Engineers for critical software and programmers for regular stuff.

    22. Re:Licenses Required? by Anonymous Coward · · Score: 0

      We can require everybody who writes software to be licensed. We can require everybody who writes software to take responsibility for any damages it causes.

      But also keep in mind, the cost of buying software *WILL* go up.

      Oh, and yes, I think Open Source software should be held to the same standards as Commercial software. At least if they want people to take it seriously.

    23. Re:Licenses Required? by Electrum · · Score: 1

      Please give examples of software in use today that have been proven 100% correct. I'd be curious to know how many actually exist.

      qmail. djbdns.

    24. Re:Licenses Required? by Anonymous Coward · · Score: 0
      However, certain projects can require certification if they want to have certain quality guarantees.

      A certified software process may guarantee quality of end product. Having certified engineers will not guarantee anything about the quality of the end product.

    25. Re:Licenses Required? by Anonymous Coward · · Score: 0

      It's funny how the first program ever taught to most C programmers is implemented wrong. What's wrong with this program?
      #include
      int main(void)
      {
      printf ("Hello World!\n");
      return 0;
      }
      It doesn't do any error checking. There are several conditions that can cause printf to fail (e.g. redirect to a read-only or full partition) and but this program just blindly assumes everything is okay. At minimum, it should return like this:
      #include
      int main(void)
      {
      return printf ("Hello World!\n");
      }
      so that the caller of this program (e.g. a script) can know what's going on and handle it appropriately.

      If programming is so easy, why is it that even the simplest program has such a glaring mistake that no-one ever mentions?

    26. Re:Licenses Required? by Kerg · · Score: 2
      That is besides the point. You said:

      If your software crashes or otherwise doesn't work properly, you can sue the company that made it.

      You could sue every software company that has ever existed. Software has bugs. Certifying Software Engineers is not going to change that fact.

    27. Re:Licenses Required? by xmedar · · Score: 1

      I can definetly tell you that designing & building bridges is harder than designing and building software

      What is the current price per line of code for NASA? And there are still bugs. and what about high concurrancy issues, dealing with failover etc etc etc. Bridge building is much more standardised than software, though still not perfect (the Tacoma Bridge and the Thames Millenium Bridge both come to mind). Plus do you need to change the bridge when the boltmaker changes the size of bolts at some time in the future? No, but with software you need to be able to deal with things like changing libraries, recompiling on newer systems etc etc. Oh and if you think you have some super-duper way of proving the mathematical correctness of a software system I've got some software neural networks that you might like to try it on...

      --
      Any sufficiently advanced man is indistinguishable from God
    28. Re:Licenses Required? by Shadowin · · Score: 1

      Ever here CompTIA? Their certificates are for the most part vendor-neutral.

    29. Re:Licenses Required? by Ismilar · · Score: 1

      But that's the point, it WILL change that fact.
      You will be able to sue the company that made it if the software was made by a certified engineer and the software has bugs.

    30. Re:Licenses Required? by mx90 · · Score: 1

      the space shuttle code and "Hello World". And the later is arguable.

    31. Re:Licenses Required? by p3d0 · · Score: 2

      I'm not sure what you mean by "guarantee" but I mean that the engineer stakes his reputation and his career on the quality of the end product.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    32. Re:Licenses Required? by spanky555 · · Score: 1

      I couldn't disagree more. For one thing, I was getting pretty sick and tired of working side-by-side with Johnny-come latelys who didn't even have any experience, much less a CS degree, and being given equal footing, and nearly equal compensation, even though I'm easily 10x as productive. These are also people who do/did it because of "the money" and the coolness factor...some of them didn't EVEN OWN COMPUTERS, and were by no means interested in computers outside of making money with them at work. Didn't know C, didn't know Perl, didn't even know what Linux was, the list goes on and on.

      Although the economy tanking isn't a great thing, at least it will shoo folks away who have degrees in hotel and restaurant management, and are calling themselves programmers with no real claim to the title at all.

      I think it'd be absolutely GREAT to have a bona fide certification system.

      1. H1-B's won't be getting their foot in the door so easily. Esp. the ones that are complete fakes, with little to no real credentials in their own country, but are able to do an end run around any reasonable filtering here. It can take months for some employers to realize they hired a lemon, meanwhile, citizens take up the slack.

      2. Accountability. I'm in this for the long haul; it's what I like to do. Those that aren't will be daunted by the process, so bye-bye and good riddance to them.

      3. I could go on, but Steve McConnell devoted a lot of pages and time to it in After the Gold Rush. He also makes very good points for it: http://www.amazon.com/exec/obidos/ASIN/0735608776/ ref=pd_sim_books/102-7518719-3207320

      Personally, I think doing this will make any other country's productivity pale in comparison. The only thing India has over us right now is sheer numbers of bodies, but that's pretty scary given that we only have superiority in infrastructure and economic setting....but there's no guarantee that will last.

      If we don't do it, we'll be the next auto industry. Remember, we had the opportunity before Japan to change the processes, it was just discarded, so Japan was sold on the idea - and look what happened.

      So we should do it ASAP, and smash down any rising competition we have from other nations.

    33. Re:Licenses Required? by aridhol · · Score: 1
      So we should do it ASAP, and smash down any rising competition we have from other nations.


      You mean like Canada, the home nation of the person whose comment you replied to?
      --
      I can't say that I don't give a fuck. I've just run out of fuck to give.
    34. Re:Licenses Required? by spanky555 · · Score: 1

      Sorry, Canada is hardly on the map as far as software goes. Sorry, no offense meant. Russia and India are just burgeoning with people, and with that, talent. Canada has rougly 10% the U.S. population, and that means they'd have to produce 10x the amount of software people per capita to match the amount we have here...and that's before all the H1-B's we've imported, and maybe have citizenships pending...which I hope they get. I can't stand indentured servitude being passed off as "multiculturism" or "diversity". It also makes them demand better pay and benefits, which is something everyone here benefits from. From folks I've talked to, Canada is only immigrated to as a stepping stone to get to the U.S. (this is Canadians saying this as well as those that came to U.S. by way of Canada)

      And I know Canada has been complaining of a "brain drain", so they are hardly a big concern right now. India has, as well, but they have so many reserves, I'm sure that it doesn't matter as much.

    35. Re:Licenses Required? by Cederic · · Score: 2


      Ok, I'm happy enough to be accountable for the software that I write. However, if I am being forced to produce working software, and can be sued for bugs, then:

      - I want insurance.
      - I want full, complete requirements up-front. Changes in requirements will involve an additional project, at full cost.
      - I want three years to design the system. I want another year to review that design.
      - The system can be built in three months.
      - I want a two year test cycle. Anything less wont find all of the bugs. Even that wont find all of them, but should find most of them.

      Basically, building a bridge takes a long time, needs a lot of upfront design, doesn't have to cope with changing requirements, and can use engineering principles and practices that have been around for centuries.

      Building software in a timescale demanded by internal customers (as in my current company) or at a price acceptable to the market (as at my previous company) is not feasible without bugs.

      There are trade-offs between quality, functionality and time. Since time tends to equate to cost, most companies wont compromise on time. They also refuse to compromise on functionality (hey, I can produce a perfect piece of software - wont do much though). So quality suffers.

      The software engineering body of knowledge is a fine effort; unfortunately they don't know what is "right" yet. There are still many ways to do things, and all of them can be correct.

      ~Cederic

    36. Re:Licenses Required? by nwetters · · Score: 1

      Please give examples of software in use today that have been proven 100% correct. I'd be curious to know how many actually exist.

      I think that most coders would agree that 100% correctness is probably impossible, but TeX is about as close as you can get.

    37. Re:Licenses Required? by erlando · · Score: 1
      Software has bugs. Certifying Software Engineers is not going to change that fact.

      But that's the point, it WILL change that fact.

      Bull! Just because someone gets an engineering certification doesn't mean that s/he starts writing flawless code. It's called "human"... No piece of software has ever been bug-free from day one. Not even TeX, qmail or djbdns.

      But I'd be willing to accept liability for the software I write for a price. You want to be able to sue me over bugs? Fine, I want a clear-cut specification up front that does not change ever . You want an extra feature? Fine, write the specs and wait for the current project to finish.

      --
      Remember, there are no stupid questions. But there are a lot of inquisitive idiots.
    38. Re:Licenses Required? by J.+Random+Software · · Score: 1

      Yeah, it's mostly about thinking of the interface contracts at your level and the next, and knowing how failures are indicated. You have to be a lot more paranoid without exception support. But you probably wanted

      #include <stdio.h> /* puts, fclose */
      #include <stdlib.h> /* EXIT_* */

      main() {
      return puts("hello world") < 0 || fclose(stdout) ? EXIT_FAILURE : EXIT_SUCCESS;
      }
      since stdout to a non-tty could be block buffered, and stdio might not see the error until it flushes your file buffers at exit. And I don't think non-POSIX systems mandate that exit(0) is success and exit(1) is failure (I think VMS errors are all negative, but the C library special-cased 0 and 1).

      (And you need to write "&lt;" to get "<" in sample code with HTML.)

    39. Re:Licenses Required? by Artik+Vodka · · Score: 1

        • So you'd better make damn sure you get it 100% correct.

        Please give examples of software in use today that have been proven 100% correct. I'd be curious to know how many actually exist.

      What about..

      <?
      $str = "Artik Vodka, with ICE";
      echo $str, "
      ";
      ?>


      or even:

      main ( ) {

      printf ( "Artik Vodka, with ICE" );

      }


      Yes. No "big" piece of software is 100% non-crashable.
      You can design it as long as you want, there can always occur "something". Maybe it goes as a problem generated by hardware incompability. Maybe it goes because of a bad compiler version. Maybe there's a routine that returns the value it's supposed to, except when the input is made at 13 o'clock. Who knows.
      No Engeneer degree can garantee that. I know engeneers who just plain and simply write bad code. I know people in Engeneering courses who just know howto solve the math, and can't code a shit.

    40. Re:Licenses Required? by James+Youngman · · Score: 1
      How about a software firm contracted to write a control system for a city's traffic grid. A bug or poor design causes a set of lights to go on the blink, two people run an intersection and both die in the resulting collision. Who pays the damages? Not sure, perhaps the city... but its not their fault. But they can't pass that onto the software firm... not currently.

      But instead, if we had licensed software engineers, who in certain instances like the one above, who were now indefinately liable for their work, and who are required by the customer to "sign off" on it... well, it can only bode well for the quality of software.

      The big thing here is that the customer has to demand accountability
      ...

      Well, if you think bespoke software is expensive now, you just wait until it becomes possible to sue in this way.

      My employer will not enter into supply of software where the potential liabiity exceeds the contract value, as far as I know. And they are, I think, about the 20th largest IT organisation in the world (we do however, have additional processes in place for software projects having a safety aspect - the safety of the system is audited at all stages by a senior person appointed by senior management).

      At the moment, the liability of the supplier is governed by their contract with the customer. If the customer wants the option to sue for more than they would have paid for the system, they negotiate appropriate contract terms - it's that simple.

      The situation is qualitatively different for COTS software, where the contract isn't negotiated at all, though.

      If this kind of suit were always possible (i.e you could not appropriately limit you liability in the contract), conringency in costs would go through the roof, and software companies would start hiring lots more lawyers.

      (I have no idea what we do in terms of liability for govenment, defense and space work, that's not my area).

  11. Developer with no CS Degree by javacowboy · · Score: 4, Insightful

    So because I have no university degree I'm suddenly considered useless? I studyed long and hard to change careers from banking. I took a 9-month intensive IT course which was at times very hectic. The J2CP exam was no joke, neither was the 60% of my knowledge that I learned without formal training on the job in my first 2 months, or the first month of my new job, in which I had to learn yet ANOTHER new set of skills and development tools with almost no training whatsoever.

    Are we suddenly going to stop rewarding initiative, independent learning, flexibility and gumption, and only give credit to people who were lucky enough to figure out their career paths in their late teens, unlike me? Proposterous!

    --
    This space left intentionally blank.
    1. Re:Developer with no CS Degree by Anonymous Coward · · Score: 1, Interesting

      You sound like you think that you've been through the ringer getting to your current state of knowledge. I tell you now, that YOU KNOW NOTHING! Your're a pup! Still wet behind the ears! Program for the next 5 years, and keep up with all the new standards and learn 1 new language a year (at least) then you will be a developer.

      9 Month IT course, and 2 months on the job and he thinks he's a developer. Still WET I SAY!

    2. Re:Developer with no CS Degree by Ismilar · · Score: 4, Informative

      It doesn't mean your are considered useless.

      Electricians and electrical technicians aren't useless. They can get good jobs, they just can't legally design commercial electrical products (unless they work under a supervising engineer, of course).Electrical Engineers go through Ethics courses and Occupational Safety courses, and they have to take responsibility for the things they make.

      If a professional Engineer designs something, it _MUST_ work as specified. If it doesn't, the consumer can sue the engineer that made it. With software (which is not made by engineers) doesn't work, you can't do much about it. That's the difference between engineers and non-engineers.

    3. Re:Developer with no CS Degree by javacowboy · · Score: 2, Interesting

      At least I had the guts not to hide behind "Anonymous Coward".

      --
      This space left intentionally blank.
    4. Re:Developer with no CS Degree by Anonymous Coward · · Score: 0

      Take the anonymous coward as an attribute as to how seriously to take the comment.

      Your still wet though :)

    5. Re:Developer with no CS Degree by nixterino · · Score: 1

      I'm a degreed EE (BSEE, MSCS, PhD any year now) and have never had to take a course in either Ethics or Occupational Safety as a degree requirement, nor have any employers ever required or inquired about these. I don't recall *any* courses in the engineering or CS disciplines like those. On the other hand, the philosophy department did offer Ethics.

    6. Re:Developer with no CS Degree by chmacleod · · Score: 1

      If you wanted to become an engineer, you wouldn't have to take a whole degree. If you had acquired all the knowlege through your work and studies, you could take the certification exams. Otherwise you could simply work on projects for which there were no safety or reliability requirements (park paths instead of highways)

      People's lives are at stake in some software projects, yes, people have died due to faulty software. This is where the engineering certification comes in.

    7. Re:Developer with no CS Degree by Anonymous Coward · · Score: 0
      I don't know how it works in the USA, but in Canada having an engineering degree from a university is independent of your status as a "professional engineer" (as designated by the initials P.Eng, after your name).


      Being a Professional Engineer in Canada means you have taken the necessary ethics courses and are accountable for your own work. You can become a PEng in Canada by meeting the qualifications laid out (on a per-province basis) in the second link I provided, and graduating from a university engineering program is usually NOT among the requirements.

    8. Re:Developer with no CS Degree by gbrandt · · Score: 1
      Most certification programs had a 'grandfather' clause when they were first enacted. This means that with sufficient experience, you could be 'grandfathered' in a called a 'professional software developer' without taking the exams (except for the ethics test).


      Please don't think that the above statement make me pro-certification. I think it stinks....

    9. Re:Developer with no CS Degree by Anonymous Coward · · Score: 0

      agreed, you are very wet behind the ears.
      so wet that, it is flooding down your neck.

    10. Re:Developer with no CS Degree by danox · · Score: 1

      In Australia, when you study engineering (in my case I did civil engineering) in a course that has been recognised by the engineer's certification thingy, you are required to learn about ethics and safety and so fourth. This usualy takes the form of a one session course that is easy to pass and ignored once it is finished.

      It would be possible to study engineering at university without learning this stuff, but your course would probably not be recognised by the engineer's authority, and so you would have trouble becoming a registered engineer.

      --
      "Me and my girl named bimbo . . . limbo . . . spam" - Captain Beefheart.
    11. Re:Developer with no CS Degree by partingshot · · Score: 1

      You would most likely be 'grandfathered in'.

      That's what the other disciplines have done
      over the years.

      --
      Anonymous posts are filtered.
    12. Re:Developer with no CS Degree by Anonymous Coward · · Score: 0
      In the province of Canada where I live, there is a significant amount of (perceived?) hostility by professional engineers towards computer science graduates. Although it's possible to become a P.Eng based on an exam (or series of exams), I would expect the professional engineering association to make it as difficult as possible (unrealistically high exam fees, unrealistically difficult exams, etc.) to try and drive the person away.

      That's my perception anyways.

      If software engineering is treated like, say, electrical or mechanical engineering, at least in Canada, the employability of computer science graduates will be greatly reduced.

      I think the whole issue of "computer science" needs to be dealt with. Computer science should deal strictly with the theoretical, "computer engineering" and "software engineering" should deal with those areas, and "information technology" should deal with those practical areas currently dominated by both CS and IT graduates that don't deal strictly with theory or engineering (e.g. database managment, system/network administration, web development, etc.).

    13. Re:Developer with no CS Degree by malkavian · · Score: 5, Insightful

      Well, I don't think you'd be useless, and perhaps that's the wrong way to look at it.
      What you need to consider is:
      Do you really consider you know as much about the structure of programs (in general), putting software together, and have as broad an overview and experience as someone who's spent 20 years intensively studying and applying software, and trying to refine it to it's optimum, and is at least as talented as you?

      The idea of accreditation is that you take people with the talent, and subject them to several years of rounded exposure to the whole of the discipline, so they don't fall foul of errors caused by lack of understanding of associated areas. You then test these people to ensure that they don't make the stupid mistakes that can and frequently are made by people applying good methodology in a stupid way (it happens).
      What is being rewarded is people who went into a field because they liked it, and followed it, and gained experience. Don't call it luck, 'cos I don't buy that.
      You chose your path, they chose theirs, and perhaps, just perhaps, they're being rewarded for the initiative, independant learning, flexibility and gumption they showed in choosing their career because it's what they wanted to study in the first place!
      If you consider that in 11 months, you're on par with some of the old timers that HAVE been in the game for 20 or 30 years (I've worked with some in my time), then, I think you're exactly the kind of person that shouldn't be an engineer.
      These things take time. If you want full accreditation, you should be prepared to do the graft and sweat that the rest of the world put in, even if it means going back to study full time again for several years, to re train from another discipline.
      It seems that perhaps the move is partly to prevent the influx of people who've suddenly realised that there's a fast buck to be made in the computing world, and take a fast track that trains intensively in one area, to get them able to perform programming tasks, and these people pushing that envelope into areas they were never trained for.
      I'm sure you're very good at what you do, and I'm in no way trying to take away from you what you have achieved, and yes, I agree, it's quite an achievement. I just ask you not to belittle those people who had the insight to choose their career early and stick to it.
      As to the cries I hear here in the UK so often of "Oh, but that's so ELITIST!".. Well, yes. But I'd rather be travelling in a plane programmed by a set of guys who have proven themselves to be the elite by many years of peer review and monitoring, than a bunch of guys who thought maybe this would be the best way to assemble an avionics system, although they couldn't quite put on paper why that was so...
      Knowing the Slashdot of today, it's quite likely this will be modded down, but, I've worked with gurus claiming to be fools, and fools claiming to be gurus, and I say what I see.

      Malk

    14. Re:Developer with no CS Degree by macom · · Score: 1
      9 Month IT course, and 2 months on the job and he thinks he's a developer. Still WET I SAY!

      I followed a similar path to the original poster about 4 years ago now. I am one of the leading developers in the company I am with. One other leading developer is a Chemical Engineer who re-trained himself. I am not in the mythical 10% but my projects are solid software engineering that I am proud to deliver to the customer and proud to let other developers look at the software code. Given in this industry each new project requires learning new technologies quickly and efficiently then applying that new found knowledge with equal speed as well as economically, the original posters resume would be on the top of my pile. It would have shown to me that the person is motivated enough and capable of applying himself sufficiently to learn a totally new technology, if his skills even came close to matching a junior programmer I would hire him. I doubt I am alone in thinking that. My skills are judged not by how well I rote learnt in university but by the projects I work on and take through to succesful completion.

      I proudly call myself a Software Engineer, because that is the role I aim to fulfill with each project. I create solid, reliable software that solves a problem and empowers the system (user or hardware) to complete the task required quickly, efficiently and with ease.

      I have no problem with certification as long as it isnt like a union ticket and a card to work but no work without it. If that happens folks like myself and javacowboy will change careers again to the next discipline that rewards highly motivated people willing to learn and apply new skills and methodologies.



      macom

    15. Re:Developer with no CS Degree by duffbeer703 · · Score: 2

      Yes, you had the guts to post as the "javacowboy".

      I'm impressed.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
    16. Re:Developer with no CS Degree by slaytanic+killer · · Score: 1

      That's precisely the problem. No one gets the space to make educational errors. Therefore you get a nice average of people, but you lose so many innovations that you must find them from other disciplines.

    17. Re:Developer with no CS Degree by malkavian · · Score: 2

      In many aspects of computing, I'd agree. But in Software Engineering, you don't need the other disciplines. It's all about putting the thing together reliably.
      Unlike the 'tainted' cross trained programmers which are great at putting together scripts, some designs and general coding, the engineer is dedicated to the engineering aspect.
      In the same way you may also employ the services of a geologist to determine the land around where you build a bridge, you would hire someone from another discipline to aid the engineer in achieving the optimum solution.
      You wouldn't, however, put someone with only a Geology qualification in charge of designing the bridge structure, just because they'd recieved a little 'intensive' training in engineering basics, with specialism in pylons.
      You don't lose any innovations from engineering software correctly. However, you do lose quality of the engineering if you don't use an experienced professional that's been doing it for years.
      And yep, I know that to be a fact, 'cos I've worked in those conditions (a few times as the engineer, a few times on the groups, with a dedicated Engineer, and I know I don't hold a candle to a dedicated software engineer at engineering big projects).

  12. Already a real engineering discipline. by trp0 · · Score: 2, Informative

    At the university I attend there is already a Software Engineering curriculum, and if you take a look at places like the Carnegie Mellon Software Engineering Institute, you'll see that this concept has been around for a little while now.

  13. A body of knowledge? by imrdkl · · Score: 1

    The site is 100% slashdotted, but this sounds ivory-towerish. I say learn science, create software. But I could be taught otherwise. :)

  14. Legal Status of the term 'Engineer' by pcb · · Score: 2, Interesting
    In Canada, the term 'engineer' is legally protected. Technically you can only use the term if you have be certified by the Canadian Council of Professional Engineers (CCPE). Check out their disclaimer:
    The terms engineer, engineering, professional engineer, P.Eng., consulting engineer, ingénieur, ing., ingénieur conseil, génie and ingénierie are official marks held by the Canadian Council of Professional Engineers on behalf of its Constituent Members.

    However, this dosn't stop everybody and their dog from calling themselves engineers! Not that I really care, I just find it one of the most abused words out there. How many people out there call themselves doctors who don't have a medical degree.
    --
    'Men never commit evil so fully and joyfully as when they do it for religious convictions.' B. Pascal
    1. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0

      I call myself a doctor, even though I *ONLY* have a PHD in EE

    2. Re:Legal Status of the term 'Engineer' by Destoo · · Score: 1

      erm.. doctor.. as in B.SC, M.SC and Ph.D..
      no need for medical degree here.

      Engineering is not just a word (and a ring).
      Let's say an engineer designs a machine. And instead of putting a secure toggle switch, he puts a push button.
      They could revoke his licence on that fact only. Just the fact that he apposed his final signature on the paper with the design of the machine.

      --
      Nouvelles de jeux et technologies en français. TC
    3. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0

      Yes, but you are not allowed to write prescriptions for people. Having a P.Eng in Canada gives you a similar right, the right of being recognized (and accountable) as an Engineer(tm) proper. Anyone who calls themself an engineer without a P.Eng qualification in Canada is not to be trusted.

    4. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0

      I just find it one of the most abused words out there. How many people out there call themselves doctors who don't have a medical degree.

      Hmm let me think...The millions that have PhD perhaps?

    5. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0

      actually, the canadian engineering system is as medieval as the guilds in europe in the middle ages,
      plus you have to buy your title.

    6. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0

      Wot about people who drive trains?

    7. Re:Legal Status of the term 'Engineer' by cperciva · · Score: 2

      In Canada, the term 'engineer' is legally protected.

      Not only that, but this protection is at least somewhat enforced. A Canadian university which shall remain anonymous recently received an official letter demanding that its "Software Engineering" program be renamed because the university wasn't properly certified to hand out engineering degrees.

    8. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0


      I learnt an interesting thing on a recent visit to the US.

      In the US, apparently, Dentists are pushing to be called 'doctors' (do you remember that episode of Seinfeld with the podiatrist who insisted on being called a doctor?). Anyway, another interesting related fact is that dentistry as a profession in the US has one of the highest suicide rates.

      go figure.

    9. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0
      If you're talking about the anonymous university that I think you're talking about (i.e., the one that was brought to court a few years ago), their engineering faculty is accredited, and quite more than competent. The issue was the department of computer science offering a specialization in software engineering outside of the engineering faculty.

      I dunno if this is the one you're referring to. Personally, I think the engineering associations picked this university because they saw it as an easy target, and avoided another (richer and less easily intimidated) university which had been doing the same sort of thing before.

    10. Re:Legal Status of the term 'Engineer' by Skapare · · Score: 2

      So is that "Dr. Anonymous Coward, Ph.D" ?

      --
      now we need to go OSS in diesel cars
    11. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0

      I think he was talking about this east-coast unnamed university because that university was teaching essentially computer science and calling it software engineering. The curriculum, as well as the faculty who were teaching "software engineering" were not up to engineering standards as set by the Canadian Engineering Accreditation Board. So they were misleading the degree, because the degree was not an accreditated engineering degree.

    12. Re:Legal Status of the term 'Engineer' by Drakonian · · Score: 1
      Here in Alberta, APEGGA, controls the use of name 'engineer' and actually threatened to take M$ to court over it. It worked.

      You aren't allowed to call yourself a "Microsoft Certified Systems Engineer", only an MCSE:

      Microsoft Corp. will advise Canadian holders of its MCSE certification not to call themselves engineers or use the full title Microsoft Certified System Engineers, news releases announced earlier this month.
      --
      Random is the New Order.
    13. Re:Legal Status of the term 'Engineer' by abnormal · · Score: 1

      That's the problem with the term 'engineer'. You tack that word on the end of any job title and it suddenly becomes a respected job. The sad part is all the people that don't know the difference and end up hiring someone that is a self-proclaimed engineer. Not only are there lots of 'coders' and 'computer scientists' calling themselves software engineers, but you see 'network engineer' or 'radio frequency engineer'. The list goes on and on. Maybe I'll go around town calling myself 'Medical Doctor'

    14. Re:Legal Status of the term 'Engineer' by Anonymous Coward · · Score: 0
      You are talking about the university degree I was referring to. If the parent post to mine was referring to the same (east coast) university, then he was incorrect in his facts.

      The poster claimed that "university wasn't properly certified to hand out engineering degrees"; this is untrue. The unnamed east coast university has an engineering faculty, with a very good reputation, not as good as, say, U. of Waterloo, but a very good program.

      The specific "software engineering" program offered was a specialization within Computer Science; it was not an accredited engineering degree. It led to a B.Sc. (this was clear) and the university also made it quite clear in the university calendar that the program would not meet the requirements for one to become a professional engineer.

      I don't know the legality of it, but, in the end, the whole issue was settled out of court with the CS department still offering the program, unmodified. As for why the CCPE settled, I don't know... law isn't cheap in Canada, it could have been money as easily as lack of legal basis for challenging the program. Given that another unnamed university (in central Canada) had done the same thing before this unnamed east coast university and the neither the CCPE nor the relevant provincial professional engineering society tried to stop them, I suspect they saw the east coast university as an easy target, for various reasons (east coast university was perceived as having less financial resources, people in central Canada wouldn't care about the east coast as much as they would their own university being targetted, etc.)

      The issue became a problem, not because of some noble fight over professional designations and protecting society, etc. but because of internal politics. Too many people (or the people with political power) in the CS department and the Faculty of Engineering weren't willing to cooperate, upper administration was, as perceived by most faculty, not acting in the best interests of the university, power and money (researchers in the areas of both CS and Engineering see it has a money bag, professional engineering associations were looking out for their own in trying to require as many jobs, or the more prestigious jobs, in the growing field, to need their own people, etc.), etc. In the end, the students lost. There was no reason why both parties couldn't cooperate, be involved in the design and administration of the program, and meet all professional requirements.

      I'm getting off-topic, but it's worth noting that Waterloo, the best university in Canada for these fields, offer their B.S.E. has a joint program between the Faculty of Engineering and the Faculty of Math (which has Computer Science). Other schools should probably take a lesson from this.

  15. Important Subject by porterhouse · · Score: 2, Informative

    This topic will have huge ramifications. Too many people call themselves engineers these days. It wasn't a problem in the past because the general public could differentiate between a "custodial engineer" and a professional engineer. Now, professional engineering is becoming blurred by more and more technical types calling themselves engineers, without even close to the training and standards a professional engineer is held to. I'm not familiar with American laws, but in Canada, you are not allowed to call yourself an engineer without a professional license. The Canadian professional engineering bodies have successfully stopped Microsoft, Cisco and others from calling their technicians "engineers". "Software engineering" is the most dangerouse of all, and in my opinion, the most needing of the professional designation, if only to apply appropriate training standards, ethics and liability. Think about it: don't you want to know that the guy who designed the fly-by-wire software for your 767 or A300 knew what he was doing?

    1. Re:Important Subject by SerpentMage · · Score: 1

      Considering that I am a Canadian bred engineer... You are not allowed to call yourself a professional engineer, but I am most surely allowed to call myself an engineer... Heck that is what I went to university for and the piece of paper says so...

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    2. Re:Important Subject by pcb · · Score: 1

      ...but I am most surely allowed to call myself an engineer...

      Actually, technically your not! The CCPE just don't enforce it.

      --
      'Men never commit evil so fully and joyfully as when they do it for religious convictions.' B. Pascal
    3. Re:Important Subject by spectecjr · · Score: 2

      Think about it: don't you want to know that the guy who designed the fly-by-wire software for your 767 or A300 knew what he was doing?

      Would you prefer someone fresh out of a CSEng degree, or someone who has 10 years of real-world experience (equivalent to at least a Master's degree in the same field)?

      You do realize that real world experience is treated by most universities and employers as equivalent to education? eg. two years in the field will take you from a BSc degree to a Master's degree *automatically*, as far as any University is concerned.

      Just a thought...

      Simon

      --
      Coming soon - pyrogyra
    4. Re:Important Subject by Anonymous Coward · · Score: 0

      Do you use the title on your buisness card? If so, and you do not have a P.Eng, and the society finds out, then they will probably take legal action against you (and your company).

    5. Re:Important Subject by Anonymous Coward · · Score: 0

      Right or wrong at UBC computer science students were told by professors that we were Software Engineers.

      Why do se need to be professionaly certified. Are biologists and other scientists arnt engineers, and they work in the real word.

    6. Re:Important Subject by Space+Coyote · · Score: 1

      In Canada, at least, you can't become a certified professional engineer when you're 'just fresh out of school'. You have to gain experience and pass a certification test first.

      --
      ___
      Cogito cogito, ergo cogito sum.
    7. Re:Important Subject by sasha328 · · Score: 1

      I agree with porterhouse. I am quite a tradionalist. I think engineering should be reserved to those disciplines that are related to designing things. As much as there similarities between the two disciplines, I think engineering should be a reserved word. I am an aeronautical engineer, yet I am not "certified" by CASA to approve designs/modifications. I have to prove myself to them through my employers before they would grant me that delegation. I believe it is similar for other engineering disciplines. This is the biggest distinction in "practice" from software designers.

    8. Re:Important Subject by mesocyclone · · Score: 2
      I agree that the term engineer has been misused.


      Engineering is the practice of designing things based on underlying science. An engineer in theory deeply understands (or at least at one time understood) the principles upon which his work is based. A technician, by contrast, knows how to do specific tasks and knows specific information, but does not have the background to understand those techniques. An engineer can create by understanding... a technician by tinkering.


      I shudder to imagine a certification process of software engineers. It would either be so broad that you would need a post-doc education to get through it, or it would be too narrow to apply to the whole field. The past certification practices have really been technician certification, not engineer certification. An "MCSE" is an oxymoronic title - it should be a "Microsoft Certified Software technician!"


      In software, we do not have an underlying science. Instead, we have an eclectic mixture of abstract math, techniques, fads, management techniques, language design, artificial intelligence, etc. We don't have a cohesive definition or understanding of computer engineering.


      In many ways, I think computer science is more like a biological "engineering" area - such as pharmaceutical development. In both cases, there are pieces of the underlying mechanisms that are well understood, but there are large missing pieces in areas important to the task of reaching a solution.


      Furthermore, computer systems design is such a broad area that it could not become a single discipline. Designing business applications software is vastly different than designing neural net pattern recognizers (although the latter are actually used in the former). Not only are the techniques almost unrelated - so are the educational requirements.

      --

      The only good weather is bad weather.

    9. Re:Important Subject by Anonymous Coward · · Score: 0
      You do realize that real world experience is treated by most universities and employers as equivalent to education?

      I don't know where you come from, but not in Canada!

      In Canada, most universities will not treat real world experience as equivalent to education. Many universities offer challenge for credit, at least in some areas, to allow a person to prove they know the stuff that's taught in a course. Also, many universities will accept education+experience as being equal to better education for admission purposes for some programs (i.e., more like "holistically" looking at an individual from an overall point of view).

      As for "two years in the field will take you from a BSc degree to a Master's degree *automatically*, as far as any University is concerned", I have no idea where you get this. The vast majority of people I know who have a B.Sc. in computer science + two years experience do not compare to somebody with a masters. The kinds of knowledge the two groups have are very different. I can only think of one person I know in the IT sector (actually, a guy who doesn't even have a computer science degree) who would be able to hold his own against a masters graduate in computer science in terms of what a masters graduate would learn as part of his/her program.

      Academic education and real-world experience are two, often different, but complementary things. Even many of the distance education masters programs -- distance education programs, I've found, are more likely to give credit for real-world experience -- are restrictive in terms of credit they give for real-world experience, if it's not part of an internship, etc.

    10. Re:Important Subject by ameoba · · Score: 2

      I'm suprised that nobody has properly explained that being certified as an engineer has nothing to do with a degree. Here (not sure if it's a state (WA) or a federal (USA) thing) all that is required to be an engineer is to take and pass your PE tests (Professional Engineer, an evil 8hr long standarized test). It's not exactly common, but perfectly allowable to walk in without even having a HS diploma and get a PE, however getting an engineering degree helps provide you with the body of knowledge you'd be tested on. Having a PE carries far more weight than having a BS (or even a masters).

      In many larger companies, each group is headed by a PE, who has to sign-off on the work of those below him. Having a certified engineer helps them if they run into any legal problems, as they could show the court they had a certified competant engineer say it was good.

      Comming from this angle, I don't really see any push towards having a -serious- software engineering licence until somebody gets sued for writing/releasing buggy code. The industry is going to need to be seriously afraid of releasing crap before they make efforts to change things, since they're making money and not putting themselves at risk.

      --
      my sig's at the bottom of the page.
    11. Re:Important Subject by porterhouse · · Score: 1

      Yes, I do realize this, but you may not realize that real world experience is part of the engineering certification process. Most states require five years before you call yourself an engineer. In Canada it's four (most places).

  16. University by Anonymous Coward · · Score: 0

    Some Universities have a degree in Software Engineering. I think that's a lot better than a license system. Engineering isn't just about writing code, it's about studying for four years and learning the breadth of your vocation before diving into its depths.

  17. Re:Huh? I don't get the fears.... by aridhol · · Score: 2
    but I'm still allowed to take my radios apart and fix them when they break, right?


    (Emphasis added)

    Yes, you can fix your own radios. You'd be allowed to write your own software. But would you be allowed to write it commercially?
    --
    I can't say that I don't give a fuck. I've just run out of fuck to give.
  18. Re:Huh? I don't get the fears.... by Flakeloaf · · Score: 2, Insightful

    If software engineers become a trade, they'll eventually get their own union. This union would control the engineers' work by setting standards for education, and defining how certain jobs will be done.

    I'll give a cookie to the first person who names a company that would be quite happy to control the board overseeing this as-yet imaginary union.

    --

    Am I the only one who heard Roxette to sing "I'm gonna get blitzed for some sex"?

  19. I believe this is already the case in Ontario. by aspillai · · Score: 1

    Here in Ontario, there is a Software Engineering degree that is acredited as an official Engineering degree. After graduating from that, if you're going to be building large scale public software you'd have to get a P.Eng. That's basically a license to practise your engineering discpline when it affects large number of Doe's.

    Perhaps the IEEE legislation will open that up to a large number of the practising software engineers in the world. But in the end, most engineers won't need it. Only the manager who'll be putting his neck on the line will need to have the designation just like it's with P.Eng.

    1. Re:I believe this is already the case in Ontario. by Anonymous Coward · · Score: 0

      Exactly. Engineering is about having someone who is ultimately responsible for the overall security, safety, functionality of the building/system/electronics/(possibly software?).
      If something goes wrong with the product and civilians are killed/robbed/hurt, they have someone to go after.

    2. Re:I believe this is already the case in Ontario. by Indiglo · · Score: 1

      The professional engineering societies in Ontario, Alberta, and British Columbia have developed criteria for registering Professional Engineers who specialize in Software Engineering.

      Here is the PEO press release from this two-year old announcement.

      I believe that the Texas Board of Professional Engineers is the only organization in the United States to create this designation, as of now.

      Personally, I'm in the midst of my first term enrolled in the Software Engineering program at the University of Waterloo, here in Ontario. We are learning a combination of math, science, computer science, and engineering design principles. I am greatly enjoying it so far, although some days I wish I was in computer science (where they actually have first year electives). Two other universities in Ontario, McMaster and Ottawa, also have such a program up and running.

      So although Professional Software Engineers are not commonplace today, the ball is rolling. This is a good thing in my heavily biased opinion and grossly unqualified opinion.

    3. Re:I believe this is already the case in Ontario. by mauriceh · · Score: 1

      Hmm, have you ever heard of a successful prosecution of an engineer?
      I have not. Professional societies exist almost solely for the purpose of sheltering their members from culpability.

      --
      Maurice W. Hilarius Voice: (778) 347-9907
    4. Re:I believe this is already the case in Ontario. by superflex · · Score: 1
      Yeah, Waterloo. :)

      A hell of a lot of people around here are complaining about "I don't need certification to write software. I've got ten years experience, blah blah blah.", and they're right, if they're just writing plain-jane software. It's the same thing for people who have talked about how "I don't need to be an EE to tinker with my radio.". They're correct as well. Hell, they could try and build themselves a radio from scratch if they wanted (although the governing certification body in your country might not like it).

      The point is, none of these systems are life-critical. You don't need an S.E. to write vi, or pine, or Word. Any asshole can do that. The point of S.E. university programs, IMHO, is so these software designers understand more than just how to bash out code in their procedural-/OO-/data-oriented language of choice. They're also learning about tons of other stuff regarding how physical systems work. That's the difference. I think the goal of this whole Certified/Licensed S.E. movement isn't one of elistism, or more reliable commercial products. It's so that when you need autopilot control software, or nuclear reactor control software, or ATC software, you can get someone with high-quality qualifications.

      And to finish off my rant, I'd like to point out that the difference between tinkering with a radio, or building one from drawings, and designing one from nothing is huge. Do you think that all EE students do is play with wires and power supplies? or all that CE students do is fsck around with PCB's and IC's and see how they work together? jesus... well, next time somebody needs a 60,000 HP induction motor or an ASIC, I guess we can tell them that the geniuses as slashdot figure that since they've played with a few induction coils and know how to use a soldering iron, they're qualified. likewise, I'm sure they all know everything about programming that a CS or SE does. they'll tell us all about algorithm analysis, and design patterns, and data structures.

      in conclusion, AAAARRRRGGGHHHHHH!!!!

      --
      sigs are for suckers
  20. Art by Anonymous Coward · · Score: 0

    I think "Art" is way more interesting than Science. Please..! Programming IS a ART!

  21. I live in Qu�bec. by TheTomcat · · Score: 2

    My title cannot legally be "engineer".
    I'm a developer.
    I don't have the ring. (-:

  22. The engineering licencing exams by acomj · · Score: 2

    I took the EIT exam which this first step tword becomming an "engineer". It was 4 hours and covered all of the engineering fields (electrical, mechanical, civil, chemisty).. It wasn't too bad, but tested my entire undergraduate schooling.

    After going through graduate computer science/software engineering, I can't see how a CS ciriculum is going to prepare students for this "engineering" test.
    The states make you an engineer, and unless they are all going to impliment a standard and separate cs engineering test, I don't see it flying.

    Computer science pay is much much higher than
    civil engeering..

  23. License to practice engineering? by brunes69 · · Score: 3, Insightful

    Needing a license to practice only applys to CERTAIN types of engineers doing CERTAIN projects. I can tell you right now that if you go to work for Intel, but don't have an EE, you're not going to be arrested or anything. Sure, Intel may be taking a chance, but that's their problem. Now, Civil Engineers designing bridges is a different issue.

    I expect it would be the same for software engineering. Good (and neerly necessary) to have the certification, but it won't impede Free Software in any way.

    1. Re:License to practice engineering? by Kitanin · · Score: 1
      I can tell you right now that if you go to work for Intel, but don't have an EE, you're...

      ...involved in the design of the Pentium floating-point units?
      ...proud of a chip that gets the same performance as a G5, with a mere four times the clock speed of a G5?
      ...convinced that large register files are the work of the devil?

      Folks, I write assembly code for a living. I got a million of 'em...

      --


      Teach your kids: "C++ made baby Jesus cry."
    2. Re:License to practice engineering? by Anonymous Coward · · Score: 0

      Read: EIT (Engineer In Training) --> PE (Professional Engineer) certification pathway. The PE lets someone (i.e. Civil Engineers) sign off on a project and say that it is safe. If, for example, a bridge collapses, it's the PE's ass. It's accountability.

  24. Licensed to do what? by pla · · Score: 2, Interesting

    I see a *HUGE* problem with requiring licensure to practice software development, aside from the legal ramifications on open source work.

    I do mostly low level coding, firmware, device drivers, things of that nature. I can interface with anything I can get a spec for.

    I do not, however, know much at all about application development. I do not know much about writing an OS. I do not know much about game development. Yes, I can understand the concepts involved, but that differs from having the familiarity required to do those things with confidence in my abilities.

    I agree that making software less of an "art" would help large corporations take fewer risks in hiring coders. While not a big fan of "That which benefits M$ benefits America", I can also see the side benefit of helping to separate the real developers from the web weenies.

    Until we have only one platform, however, with only one API, only one programming language, and only one conceptual model (ie, OO, which I personally dislike), software development *MUST* remain an art.

  25. Software Engineering Code of Hygiene by imrdkl · · Score: 3, Funny
    • 1. Thou shalt not clothe thyself with stupid conference t-shirts.
    • 2. Thou shalt bathe.
    • 3. Thou shalt hold thy cube clean and pure.
    • 4. Thou shalt wash thy keyboard, and screen, occasionally.
    • 5. Thou shalt not allow the bottom of thy chair to collect undesirable, hardened objects.
    1. Re:Software Engineering Code of Hygiene by Anonymous Coward · · Score: 0

      Perhaps an inappropriate thread for such a post, hmm? Butthead. Reread the thread now. Behold the wisdom. The wit! The longing for validity in a realm of anarchy and exponential knowledge growth. Building bridges? Yes they are!

  26. Uh.. by Anonymous Coward · · Score: 0

    Let's not go -too- far with turning it into a science. Because you see, in the U.S. your code can put you in jail now even if it -is- art; making it into a science will only cause it to become available to further restriction and censorship.

  27. Some observations from a non-software engineer by SimJockey · · Score: 5, Interesting

    Background: I am a chemical engineer, and I currently work in water treatment.
    To me an essential part of engineering has always been a sense of responsibility to society as a whole. Technology is harnessing natural forces in a way that provides benefit to someone or some group. Engineers try to ensure that this technology is used is as safe a fashion as possible. Minimization of risk. Planes stay in the air, bridges don't fall down, the water is safe to drink.
    The article is hopelessly /.ed, so I'm not sure entirely what the IEEE is up to. However I would think that there is a definite need for accredited software engineers for software systems that would pose a hazard to life or limb by their failure. A control system for an oil refinery, or medical equipment, for example are no place for feature rich bloatware that needs to be re-booted once a day.
    The other side of the responsibility coin is liability. Engineers must show due diligence and carry liability insurance. It would likely be easier to insure an accredited software engineer working on a mission critical system.
    I'm anxious to see what might come out as accreditation criteria for software engineers. I hope it would require some knowledge of the larger technological context and social responsibility.

    --
    Laugh while you can, monkey boy!
    1. Re:Some observations from a non-software engineer by nusuth · · Score: 1

      I'm also a chemical engineer and now I suspect if we che people are taking our job too seriously; because I agree with every word you said.If I produced sealants the way software people code their apps, my company would soon be out of job. Yet, noone *really* cares about crapware, sure, they whine all the time but it does not deter them from using it (heck, I'm using mozilla right now and what do I care?) How much I wish I could produce 2c sealant that would have a pot life between a minute and a week and get away with that *sigh*

      --

      Gentlemen, you can't fight in here, this is the War Room!

    2. Re:Some observations from a non-software engineer by omnirealm · · Score: 2

      Planes stay in the air, bridges don't fall down, the water is safe to drink ... I would think that there is a definite need for accredited software engineers for software systems that would pose a hazard to life or limb by their failure.

      Planes stay in the air and bridges don't fall down, not because the engineers who built them were "accredited," but because if that were to happen, the engineering firm that built the plane or the bridge would be in breach of contract and would be sued into oblivion.

      The role of government in a free market society is to enforce legally binding contracts, not to make a straw-horse licensing scheme to make us all feel warm and fuzzy about the people who manage our water and build our bridges. Believe me, if engineers were held accountable directly to the people for the quality of service they provided, they would provide a good service not for some sense of responsibility to the people around them, but because they would want to save their own hides. Let's use the strongest motives in the best possible way.

      "It is not from the benevolence of the butcher, the brewer, or the baker that we expect our dinner, but from their regard to their self-love, and never talk to them of our own necessities but of their advantages."

      - Adam Smith, The Wealth of Nations

      --
      An unjust law is no law at all. - St. Augustine
    3. Re:Some observations from a non-software engineer by richieb · · Score: 2
      Engineers try to ensure that this technology is used is as safe a fashion as possible. Minimization of risk. Planes stay in the air, bridges don't fall down, the water is safe to drink.

      I think engineers are also driven by the cost/economy of the designs they create. It's a balance of conflicting requirements.

      For example, if you study the history of bridge building, you'll find that Galileo's formula for the strength of the cantilever bean was wrong. Yet bridge builders used it successfully, because of large safety factors they used.

      But the requirement to reduce costs, reduced the safety factors, until bridges started failing. Only then someone reexamined the formula they all used and discovered an error.

      ...richie

      --
      ...richie - It is a good day to code.
  28. Is IEEE the right professional body? by Anonymous Coward · · Score: 0

    I got a joint electronics & software eng degree some years ago (in UK). I remember being told that the BCS was the professional body for CS. In America would the ACM not be more apt to play this role?

    1. Re:Is IEEE the right professional body? by abnormal · · Score: 1

      IEEE is probably not the right body. Of course they'd be a large part of the governing body, but not entirely it. In Canada, software engineering and other disciplines, are controled by the Canadian Concil of Professional Engineers. As software engineering becomes more publicly recognized around the world, it would no-doubtedly be governed by the engineering board of the respective countries. It only makes sense.

    2. Re:Is IEEE the right professional body? by sbarber · · Score: 1

      Well, if you buy the whole software-engineers-need-to-be-accredited idea (and there is more than enough room for doubt), the IEEE is by far better suited for administering this than is the ACM. The ACM is really good at gathering, reviewing, and publishing academic CS papers. The ACM has also put together some CS sample curricula (which IMHO have been questionable or at least a bit too lowest-common-denominator for me). The IEEE has much more experience in, and the relevant infrastructure and processes for, putting together standards.

  29. Art vs. Science vs. Engineering by dlek · · Score: 1
    Michael wrote:
    this is a major step forward - turning software engineering from an art into a science.

    It's already a science. It's called "computer science". Engineering is something else.

    Another term for engineering is "applied science". (My brother-in-law has a B.ASc. and a M.ASc. He's an electrical engineer.) Since mathematics is a form of philosophy, which is an art more than anything else, and is a foundation for science, I'd say science is applied art.

    So where does "computer science" and "software engineering" fit in? Well, as computer scientists, we don't really follow the scientific method, so we're not really scientists. We're more like engineers, but we don't have to follow the same rigid course layout (at my alma mater, anyway) and we don't get to be P.Eng's.

    Whatever. I don't think it will seriously affect my career path--I work with a lot of engineers who took programming jobs. We make the same money and do the same work. The difference? Sometimes they don't know how to write efficient code, because that's not what they studied. Oh, and sometimes they were those little iron rings.

    And one last thing on Michael's statement--it's already a science. And like any science, it will always intrinsically be art.

    -dlek

    1. Re:Art vs. Science vs. Engineering by feldkamp · · Score: 1

      At the college I attend, we have a "computer science" degree, and a "computer engineering" degree.

      The difference is that computer engineers are required to take additional classes that center around engineering methodology and responsibility.

      From what I've gathered, and have been fed, I see the difference between a computer/software ENGINEER and a computer/software DEVELOPER as being one word: rigor.

      Not to say that rigor is something that is exclusive to engineers; an engineering degree merely says "I have been taught and have been successful with the rigorous approach to my chosen field". You'll always find people who slipped through the cracks - engineers who weaseled or cheated their way through college. But for the most part, it is a good bet that someone with an engineering degree from a reputable university should have the attention to detail that it takes to get the job done.

    2. Re:Art vs. Science vs. Engineering by dlek · · Score: 1
      Same as the college I attended. They are two different disciplines. The discussion is about the difference between "computer science" (what I studied) and "software engineering". (Computer engineering is more about hardware--though most of my friends taking it in school wound up with programming jobs.)

      But I agree with you about rigour. The engineering discipline is very structured and is geared (d'oh--pun not intended) towards real-life applications of science and how to build a bridge so it doesn't fall down even if (blah) and even in the case of (nyah). Computer science has traditionally not had that focus for the whole trip (we had to take one course on the subject... It was a third-year course). The point of software engineering as a degree instead of just a course is to introduce that systemic rigour all the way through.

  30. Engineering? by cadfael · · Score: 1
    As someone who is NOT an engineer (and reminded of it by people who are Big E Engineers), I find it laughable that I have my work reviewed by said Engineers (mostly EE's, but occasional Engineering Physicists). This wouldn't be so bad if the folks wearing the red jackets were vaguely aware of what the code is doing.


    Up here in the northern part of North America, Engineering is a protected word (legally protected), and that is fine. However, under no circumstances should the same Engineers think they have enough of a clue to check and verify my work (I base this on experience where those words are used at software folks by Engineers). Sounds like a freaking power trip, but someone forgot to pay the power bill....


    Software should be written by software professionals, but trying to define a software professional is pretty hard (try impossible). I would heartily suggest the good folks keep on designing stuff they know (Second Narrows Bridge anyone) and leave software alone.

    --
    -- The Hollow Man
    Non illegitimati carborundum
    1. Re:Engineering? by Anonymous Coward · · Score: 0
      As someone who is NOT a civil engineer (and reminded of it by people who are Big E Engineers), I find it laughable that I have my work reviewed by said Engineers (mostly CE's, but occasional Engineering Physicists). This wouldn't be so bad if the folks wearing the red jackets were vaguely aware of what the load bearing member is doing.


      Up here in the northern part of North America, Engineering is a protected word (legally protected), and that is fine. However, under no circumstances should the same Engineers think they have enough of a clue to check and verify my work (I base this on experience where those words are used at design folks by Engineers). Sounds like a freaking power trip, but someone forgot to pay the power bill....


      Buildings should be designed by construction workers, but trying to define a construction professional is pretty hard (try impossible). I would heartily suggest the good folks keep on designing stuff they know (Linux generic SCSI interface, anyone) and leave construction alone.

  31. There are already standards! by iplayfast · · Score: 1

    (semi serious)

    There's the Neophyte
    the Newbie,
    the Script Kiddie
    the Coder
    the Developer
    the Hacker
    and finally the Guru.

    What do we need with an engineer? Where whould he fit in? I would guess somewhere between Developer and Hacker, (because I know some engineers and they aren't Gurus in their respective fields, but are competent.)

  32. They will charge for it. by drxyzzy · · Score: 1

    I guess I'm spoiled, being able to look at Internet RFC's online anytime I want. Doesn't the IEEE charge serious $$ for access to the documents they put forward as standards? That is so, well, 20th century... No thanks. Some things just shouldn't be part of a business model.

  33. Only if companies adopt this policy... by Tazzy531 · · Score: 2, Insightful

    Disclaimer: I haven't been able to read the article yet; it's taking a while to load up. (Plus, I bet only half of the people that post don't even bother reading it before posting anyways) Computer Science and computers have always been well ahead of the people that create and develop laws. IF this ever became a law, very few people would actually follow it. I mean, how many top-notched computer programmers actually have official title education? I mean, probably a quarter of the very best programmers out there started doing it BEFORE computer science even existed. Secondly, the only possible use that this would be would be if the government or a top-tier company needed a developer to develop a fail-safe application. Let's say NASA needed an application, this might be a benchmark for them to identify talent. Lastly, to some extent, I agree that software engineering should be come a little more structured. There is a major difference in the code style and programming style of programmers that have proper education and those that are self learned. With education, coding becomes a more structured practice. This is a valuable asset in a corporate or group environment. If a certain person write code that only he or she understands, it costs the company even more because of the greater amount of time that it takes for other people to learn his code and style. However, on the other hand, some self-learned individuals, not learning structured development styles, are able to take shortcuts or find optimizations to produce better codes. (As always, this is a generalization. There are obviously exceptions to these two rules.) So to sum it up, this IEEE proposal would benefit schools and corporations because it creates structure in programming style. However, something like this could never become law in the same way that you need a medical license to practice law.

    --


    _______________________________
    "I'm not Conceited...I'm just a realist..."
  34. The problems with certification by Anonymous+Brave+Guy · · Score: 5, Informative

    We have had some discussion on the C++ newsgroups recently, regarding the possibility of getting a decent C++ certification scheme started in the industry. Bear in mind that we're talking about a major language here, and one that has an incredibly high number of "users" who don't really know the first thing about it -- or worse, get that first thing wrong -- but think they're experts. There is no single commercial body that "owns" C++, so no political spin needs to be put on things. Basically, this is a prime candidate for certification.

    Except that we concluded viable certification was not going to happen. Without a major industrial sponsor, and without a large body of experts who are actually qualified to administer the necessary tests, you'd never get it off the floor.

    And what would "certified in the use of C++" mean, anyway? There are many different areas of C++ programming, and while some projects use most/all of them, other projects would never use, for example, much of the STL. To have any practical use, any certification would have to be more precise than just "good at C++".

    Remember, this is just one language, and still the expert population felt it would be impossible to provide an effective recognition in today's environment. What hope can anyone have of effectively regulating software engineering as a whole in this today's development world, then? There are more contradictions in this industry than anywhere else I've ever seen, with some companies successfully using development methods for years where other companies have failed completely using the same methods. Who's to say, with any justification or authority, which methods a "chartered software engineer" should use?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:The problems with certification by Anonymous Coward · · Score: 0
      well said.

      Who's to say? The government; of course. Let congress make a new EPA, the Excellent Programming Agency, staff it with the unemployable embarrasing nephews of congresscritters and lobbyists, and turn our entire industry over to them.

      Let's just go ahead and give them sidearms so they don't have to waste time with all that outmoded "due process" crap in fulfilling their duties. (Yes, the EPA does have armed agents.)

      Perhaps we can just throw this in under "Homeland Security"; after all, anyone (without buckets of cash to hand) trying to profit from shoddily engineered software is surely a terrorist, or at least as bad as one, not?

    2. Re:The problems with certification by rsteele19 · · Score: 1

      The idea that you should certify someone based solely on their knowledge of one programming language and expect them to be able to go out into industry and write good software is like testing someonone on their ability to draw architectural diagrams and sending them off to build a bridge. A programming language is a tool, nothing more. Being able to use a tool properly is important, but it's not enough. Software developers need to be trained in the application of software engineering principles, which go beyond writing code and set out a framework for designing a system.

      --

      This sig is umop apisdn.

    3. Re:The problems with certification by Pedrito · · Score: 2

      As a C++ programmer, I agree, it would be nice to see some sort of accreditation, but it won't happen. Not with C++, and not with programming. Not anytime soon.

      Why not? Because programming is no more science than art and no more art than science. Yet.

      I have big dreams for programming. I dream of one day it being an engineering discipline. Today it isn't. At least not as practiced by most software developers.

      A chemical engineer posted earlier talking about responsibility to society. I agree, but he's also talking about a very small percentage of programmers. I write database systems. If someone uses my DB system for a life-critical function without my knowledge, well, their bad. If they ask my opinion, I'll say, "Don't use it for a life-critical system."

      It comes down to this. It's art, with some science, until it becomes life critical. At that point, it MUST be engineering. That's the difference, though. The application, not the skill. Programming will always be on the fringe of engineering with a lot of "art" involved. At least in the forseeable future.

      Is this a bad thing? I don't know. Aspiring to engineering is, in some ways, a good thing, but look at all the good stuff that came out of lone programmers, working out of their basements, with no degrees, writing cool software. It's happened, and it will continue to happen.

    4. Re:The problems with certification by spanky555 · · Score: 1

      Your fear of government is well-founded. Just witness the past travesties, as well as current expansion (WHY does the government spending have to grow at a rate higher than inflation? There is no need for this whatsoever). You gave some good examples. I think that a certification, done in moderation, would be just fine. A relatively good example would be to look at other "hard" engineering and how it is regulated. It's really not that bad. And this is coming from a Libertarian. :) A little bit of government goes a long way, if, at the outset, it is made clear where their reach should end. Of course, that's problematic, too, I suppose: witness the Second Amendment and all the handwringing over it. Any idiot can understand the intent, and that was the idea, but somehow, it got all twisted up and mangled over the phrase "regulated militia". Sigh. I definitely feel torn over the issue of government involvment in ANYTHING beyond military protection of our borders, and police and justice system keeping the peace, so it is tough. One really has to think twice about dreaming up YAGP (Yet Another Government Program) for every ill. I suggest reading Steve McConnell's _After the Gold Rush_ for better arguments than I can make. There is no reason, of course, that'd it *have* to be the government as the ruling body of Software Engineering, BTW.

      I'm glad you mentioned the armed agents of the EPA, BTW, because very few people know of it. I doubt many will, even if they were given proof. It would have to be on 60 minutes or 20/20 for some people to buy it.

      The thing is, the government hasn't exactly had a hands-off approach to software so far, either. Witness the abysmal H1-B program. Talk about meddling with open markets! Let's create a new class of sub-citizens, and put them into indentured servitude, where they are here at the whim of a corporation, meanwhile driving citizens out of work and driving down salaries - yeah, that's free trade, all right.

  35. best developers don't have CompSci backgrounds... by Yahnz · · Score: 1
    On the surface this seems somewhat insane. I've run development shops, and the best developers I've worked with tended to not have computer science background (for commercial applications development anyway...)


    Computer science is not unlike math: for most practical applications you need to know something else, be it physics, chemistry, economics, etc.


    Why put this barrier in front of people? If you think that a four letter acronym after your name speaks louder than your experience, you must be a consultant for the Big 5...

  36. Some Code Needs Engineers, Some Doesn't. by mjfgates · · Score: 1

    I'm encouraged to see this happening, although it's also a rather scary thing for me since I'm one of those self-taught folks. Nearly every large project I've worked on would have benefited if the people working on it were formally trained as software engineers; the way things are now, most projects lack important things like unit tests, prototyping, etc.

    One thing that I wonder is, how are they going to cope with the way software engineering scales? There are millions of little programs out there written by somebody's little brother that produce the weekly report just the way Bob in accounting likes them. There are tens of thousands of companies out there getting useful work done on systems that were put together out of standard components by some consultant in a couple of weeks. There are, perhaps, a couple of thousand projects out there that are complex enough that it's really worth bringing out a Real Software Engineer or two to run them.

    I suspect that eventually we'll need two seperate professions, call 'em "Software Engineers" and "MCSEs" or something. It'll be kind of like working with electricity, where you've got EEs to design complicated things, and electricians that do stuff like wiring your house.

    1. Re:Some Code Needs Engineers, Some Doesn't. by smithsb1 · · Score: 1

      this is one of the first posts that i have seen that is rather close to what is expected from a SE.. They do not replace programmers!.. The compliment them.

      SE are going to be used only for mission critical applications where they are needed to put a stamp on a product saying this product will not fail.

      Of course this topic in it's self is being debated because they must not only prove the code works but always must be aware of the whole subsystem running it ie. Kernel, Processor. etc.
      If these have bugs they are responsible for knowing about it also. Therefore a SE must have vast knowledge of everything from coding to chip design and OS design. I am glad i am just coding.. i would find it hard to put a stamp on anything considering the amount of bugs in most OS
      s and processors. The SE will be used more for industrial apps since as you can tell bugs in personal apps and business apps don't really seem to matter.

      So all you developers out there stop freaking out cuz you don't need or will ever need to go in to the depth of testing and proving that SE will have to in most cases an SE is completely useless.

      if you want to know more about it.. Goto www.mcmaster.ca and check out the engineering section they had there first class of graduating professtional SE's last year. And are the university that has started the debate in canada. personnally i don't think it's possible to be a true SE.. what do you think. would you ever be able to certify any of your code with so many outside influences ie processor, OS?

  37. Re:Huh? I don't get the fears.... by philipm · · Score: 0

    In genereal, the IEEE are a bunch of vicious out of touch old farts who have far too many ties with do nothing, know nothing academics and far too little ties with the people that actually make things work. Do they even know that most of modern HW is really SW? I suspect not....

    These people have been so disturbed that someone could actually be an engineer and not give a crap about them that they have spent the last 20 years ignoring the SW that makes the modern world work.

    http://sigda.acm.org/Archives/NewsGroupArchives/ co mp.org.ieee/May1996/2279.txt

    Any attempt by the IEEE to make itself more relevant will probably be primarily motivated towards lowering engineering salaries like they have "helped" do for other disciplines.

  38. Repost:Only if companies adopt this policy... by Tazzy531 · · Score: 1
    Repost due to the lack of tags Disclaimer: I haven't been able to read the article yet; it's taking a while to load up. (Plus, I bet only half of the people that post don't even bother reading it before posting anyways)

    Computer Science and computers have always been well ahead of the people that create and develop laws. IF this ever became a law, very few people would actually follow it. I mean, how many top-notched computer programmers actually have official title education? I mean, probably a quarter of the very best programmers out there started doing it BEFORE computer science even existed.

    Secondly, the only possible use that this would be would be if the government or a top-tier company needed a developer to develop a fail-safe application. Let's say NASA needed an application, this might be a benchmark for them to identify talent.

    Lastly, to some extent, I agree that software engineering should be come a little more structured. There is a major difference in the code style and programming style of programmers that have proper education and those that are self learned. With education, coding becomes a more structured practice. This is a valuable asset in a corporate or group environment. If a certain person write code that only he or she understands, it costs the company even more because of the greater amount of time that it takes for other people to learn his code and style. However, on the other hand, some self-learned individuals, not learning structured development styles, are able to take shortcuts or find optimizations to produce better codes. (As always, this is a generalization. There are obviously exceptions to these two rules.)

    So to sum it up, this IEEE proposal would benefit schools and corporations because it creates structure in programming style. However, something like this could never become law in the same way that you need a medical license to practice law.

    --


    _______________________________
    "I'm not Conceited...I'm just a realist..."
  39. typical the US call things science by johnjones · · Score: 2

    oh my

    science is about trying things out understanding things

    Very little to with enginering
    (yes they work on many of the same concepts and engineers would not exist without scientists)

    engineering is boring repeatable stuff churning out things at the same standard how many software releases are of EXACTLY the same quality

    arrgh

    john jones

    1. Re:typical the US call things science by SimJockey · · Score: 1

      I'd have to disagree with engineering being repeatable. Maybe in an outfit where you have to design the same widget day after day. But in an operating environment, there is a new problem to solve every day. If not every hour.
      If something isn't working, I find it interesting to throw on a hard hat, go collect as much information as practical, and come up with a creative solution quickly. And tomorrow, somthing else will break, or need optimizing.

      --
      Laugh while you can, monkey boy!
    2. Re:typical the US call things science by Ars-Fartsica · · Score: 2
      science is about trying things out understanding things

      Aren't philosphers trying to understand things? Isn't everyone? This is a flawed definition.

      Simply put, science is defined as a field that uses the scientific method.

      The scientific method is hypothesis-experiment-result-conclusion.

      This is why math is not a science - there are no "experiments" in math.

      Computer science does use experimental methods from time to time - I know of one case where sorting algorithms were applied to real-world data to test the hypothesis that a quicksort using a randomized pivot would be superior. Since the pivot was randomized, the only way to tell if it was better was to test it.

    3. Re:typical the US call things science by imrdkl · · Score: 1
      there are no "experiments" in math.

      Ok, I'll bite. How about this: there is no math, just few lucky collisions with the truth. There is (probably) only Statistics, the measurement of experiments.

      But to get a bit back on topic, in the real SW world, as alot of readers know, every project is an experiment. An uncertain outcome is always guaranteed. Thats just the way that it is. Maybe someday, after the topic is fully understood, certification is something to talk about. Not today. Not yet.

    4. Re:typical the US call things science by Ars-Fartsica · · Score: 2
      Ok, I'll bite. How about this: there is no math, just few lucky collisions with the truth.

      Math has no "truths", only axioms.

      There is (probably) only Statistics, the measurement of experiments.

      Huh?

    5. Re:typical the US call things science by imrdkl · · Score: 1
      Huh?

      Yea. That went over my head too.

  40. news? by mx90 · · Score: 1

    I don't see what the news here is. This has been ongoing for several years, and will probably keep on going for a while.

    Too many people just cannot agree as to what the accepted Soft. Eng. body of knowledge should include. Not only that, but they're trying to cover this for everyone.... some states and provinces already have their own definitions, which drives university curriculum, but this is trying to be the body of knowledge used by EVERY soft. eng. program.

    One of the aguments as to why this so hard to accomplish is because the field is still young, and keeps innovating. New languages, new algorithms, even newer applications. Other engineering disciplines benefit from the fact that they've been evolving for so much longer and that they've matured. Im sure that Civil engineering is still changing, but the fundamentals of city planning and road & bridge construction haven't changed since the Romans. Electrical engineering is younger, but the core fundamentals of electricity, magnetism, microwaves etc. have been around for a while (at least the turn of the century.) In Computer Engineering, integrated circuits (at least the theory) has been around for decades.

    Software is still (comparatively) too young. Then you get academic groups fighting with commercial groups fighting with standards organisations (IEEE, ACM etc.), each with their own vested interest. There are best practices sure, but there are so many ways to write software........ comparatively, the "right" way to build a bridge should be obvious (i.e. not the way where it falls apart.)

  41. Just maybe by Anonymous Coward · · Score: 0

    IEEE is thinking about all that money it could collect from Microsoft! I'd LMAO if Microsoft software could be said to have been written by Amateurs.

  42. Certify Software, not Software Engineers by blair1q · · Score: 3, Insightful

    A certified engineer can still make a mistake.

    Certified software is tested and putatively immutable, and you can always throw more testing at it if you think it needs it.

    DO-178B procedures require that all software designs and implementations be reviewed and tested, the tests reviewed, and the reviews reviewed, by different engineers--or companies--wherever practicable. And it comes with different levels of certification, to allow cost reduction where lower levels of risk are involved.

    --Blair

    (Note to web surfers, if you want to go to yahoo.com, say, to find standards links, do not mis-type the domain as "yaho.com". Trust me on this. I also advise everyone to use Panicware's free Pop-up Stopper. This node is getting wrapped right now.)

    1. Re:Certify Software, not Software Engineers by Anonymous Coward · · Score: 0

      But who is legally responsible when the software fails? The person or company who certified it, or the person or company that wrote it? If you have a software engineer in there he can write his name to it, if he wrote it or if he reviewed it. It is now his responsibility. If any failure occurs to negligence, he can be held accountable. The hard part is determining the difference between negligence and an honest mistake.

      This doesn't mean that you have to be an engineer to code. However, if I'm in a plane on autopilot, I want somebody to be confident enough in the software flying the plane to put his or her name on it. And then with that name, he or she is ethically and legally bound to be accountable for the software.

    2. Re:Certify Software, not Software Engineers by elflord · · Score: 1
      Certification brings with it a lot of baggage and beaurocracy. Certification is expensive and time consuming. Rigorous testing, and peer review, especially independent review are good things, but you can have too much of a good thing.

      Sometimes, having an overbearing beaurocracy might be worth it. Anything related to medicine has to go through several layers of beaurocracy. Likewise, any experiments involving human subjects have to be reviewed and approved by a board of obsessive-compulsives. Because it is a field where rigour in correctness and ethics are critical. But I shudder to think of the implications of imposing the same level of beaurocracy on other fields

    3. Re:Certify Software, not Software Engineers by Anonymous Coward · · Score: 0

      Too right, but this is not what is happening.
      And the reviews, if any , are done by handpicked, pre-qualified cronies to confirm, at all costs, that the project was a success, even if it means inserting a qualification not originally in the specifications.

      Yes, configuration management must be difficult for MS practitioners when upgrades are thrust upon users. IMHO, engineers are clueful, where suck-it-and-see- followed by worry about maintenance and running and security later- is typical of off-the-shelf practitioners.

      Engineers can point to their labours, and see then still being used many years later. But, in the end, one can look at code,/vision and say he/she has it. I also think it dangerous to call project managers and others - software engineers - looking back at the MARS probe and the equal opportunity initiatives. A engineered result with a lousy outcome. Those that worship Knuth - probably understand.

    4. Re:Certify Software, not Software Engineers by blair1q · · Score: 2

      Actually, that's the reason the DO-178B system is the way it is.

      It's designed to indemnify the engineers, the companies, and the FAA against liability for failures.

      Independent review and testing indemnifies individual engineers.

      Testing and review to an FAA-approved standard indemnifies the companies.

      Good-faith reduction in bug counts, and full disclosure of unrepaired bugs, indemnifies the FAA.

      The trick is, certain kinds of unrepaired bugs will not get certified. Certain kinds will get certified if they are properly disclosed and documented. The company takes responsibility for those, and the FAA approves them. Those bugs are determined by review and testing not to affect the certification level of the software.

      So it's important to note that certification doesn't mean bug-free, either. It just means safe enough to fly on, which is all you can ask for in the real world, where going 7 miles up in the sky in a tin sausage with a million parts and a million lines of code and all-too-human operators and fellow travellers is considered a safe thing to do.

      --Blair

  43. Re:Huh? I don't get the fears.... by Ionizor · · Score: 1

    As a future Engineer I'd just like to inform you that such a body already exists. In Ontario it's the PEO - the Professional Engineers of Ontario.

    You write certification tests, you pay your license fees and you can put your name on a system verifying that its design is correct and according to current knowledge and that you've tested it to acceptable standards. If you put your name on a system that fails, you could lose your license. If people were endagered by the failure of your system you're almost guaranteed to never work as an Engineer again.

    --

    --
    Todd's Law: All things being equal, you lose!
  44. Professionalizing Software is Premature by Crispin+Cowan · · Score: 5, Insightful
    Professionalizing software development entails:
    1. Codifying a set of "best practicies" that, when applied, assure a solid product.
    2. Codifying educational programs that teach these best practices.
    3. Certifying people who graduate from the educational process as "Software Engineers".
    The big problem with this idea is step 1: Sure, we have best practices, but they do not assure a solid product. By far, the highest assurance practice to date for developing working software is to make sure the developers have a lot of talent and dedication. There are software engineering best practices, but when goobers apply them, they are fully capable of producing bloated non-working crap. This is characteristic of an art, not an engineering discipline.

    It is very nice that people are sufficiently concerned about software quality and its impact on the real world (e.g. comp.risks). But this in no way means that we actually have best practices that will assure that mediocre developers can produce working product. Wishing for it (or mandating it) will not make it so.

    Crispin
    --
    Crispin Cowan, Ph.D.
    Chief Scientist, WireX Communications, Inc.
    Immunix: Security Hardened Linux Distribution
    Available for Purchase

    1. Re:Professionalizing Software is Premature by epepke · · Score: 1

      Most of this is right on, but it neglects another factor. Even if we knew how to do number 1, why would anyone go for it?

      It has been discovered that solid software does not generate as much money as mediocre software. Much to my lament, the philosophy that making money should override the creation of solid software has become dominant, almost uniform in the industry. Trying to fix this problem by creating standards is like trying to end world hunger by eating all the peas on your plate. It entirely fails to address the reason there is a problem.

      It isn't prohibitively difficult to generate solid software. We've known some of the practices for decades:

      • Design, then build
      • Prove your algorithms
      • Use craftsmanship
      • Test like hell
      • Take responsibility

      Way back when, in the early 1980's, I was working on my first official full-time programming job. We built a bisynchronous communications package that had full on-screen help, access to printers and disks, a built-in text editor, and could communicate error-free at 56 KB on 2 MHz machines. In assembly language. There were no known bugs on release. We offered anyone who found a bug a free dinner at any restaurant. We only had to pay off once--at the Alexandria Hotel in San Francisco. We went out of our way to make the stuff work; my first task was to disassemble the Xerox 820-II bios to find a workaround for one of their bugs, and later I worked with hardware vendors to make sure their machines were up to snuff.

      Nothing like this could ever happen nowadays. No business would allow it. If one did, they would be smashed by the competition. There are exceptions, but only in special cases, such as in-house projects, games, and medical software. The cycle of selling support, undermining the competition by shipping a crappy prototype first, and actually getting gratitude from the users when you fix any of the thousands of bugs while charging them for support has so come to dominate the software industry that it's hard to see how it could be reversed.

      When business was booming, people didn't care about bugs. Now that business is busting, people aren't going to hire experienced craftsmen when they can get flunkies for cheap. Managers even say that they won't hire anybody with more than the bare minimum of knowledge, because they know their business. It is simply not going to happen.

      Since we can't even reverse that and do the practices we already know how to do, it is totally nonsensical to talk about engineering and knowledge bases as magic fixes.

      This depresses me no end, but I don't see that there is anything I can do about it. I can pine all I want for companies that cared about product, but it won't happen. Oh well, at least I have a job. Even though it's hardly cutting edge, at least I am allowed to write software well, because it's all in house.

    2. Re:Professionalizing Software is Premature by MagPulse · · Score: 1
      Exactly. Software engineering is not a mature field yet, though it is on its way.

      A clear indication is that most universities around the country are sticking with computer science as the "programmers major". I've only heard of software engineering at the graduate level.

      One decent program that sticks out in my mind is the one at CMU.

    3. Re:Professionalizing Software is Premature by stereo_Barryo · · Score: 1

      Can you imagine a set of alchemists ( chemists ) or bleeders ( doctors ) in the 17th Century getting together to make certification standards? Extreme programming and Design Patterns are an interesting start, but programming is still thrashing around where science was many centuries ago. Do you really want bleeders certifying YOU?

    4. Re:Professionalizing Software is Premature by KarmaBlackballed · · Score: 2

      What you say has the feel of truth because it fits the reality that we experience today. The only people I've met so far that believe process fixes all software development issues do not code themselves. Those that code know there is a fundamental talent+attitude aspect to this whole thing.

      In traditional engineering disciplines, the laws of physics apply and do not change. On these laws, best practices have been built. No matter where you apply these practices, you can be sure the laws supporting them are just as they were before and will be tomorrow. This covers most of the work we consider "engineering."

      In software development, there is less solid stuff to build our rules on. Heck, the very hardware changes all the time

      I agree 100% that it is premature to expect software engineering to match mechanical/electrical/civil/chemical engineering in predictability today. However, it is self eviedent that there are some things we should expect all professionals to apply as a best practice. (e.g., Document your d*mn code, apply good naming conventions, get user buy in, keep backups, etc.)

      --

      --- -- - -
      Give me LIBERTY, or give me a check.
    5. Re:Professionalizing Software is Premature by richieb · · Score: 3, Insightful
      In traditional engineering disciplines, the laws of physics apply and do not change. On these laws, best practices have been built. No matter where you apply these practices, you can be sure the laws supporting them are just as they were before and will be tomorrow. This covers most of the work we consider "engineering."

      Even in traditional engineering disciplines knowing the laws of physics may not help much. For example, consider civil engineers who try to control floods. We understand the basic physical process (i.e. gravity pulls water down), but the system of rivers etc, interacting with the weather is chaotic, and there is no scientific theory that tell us where to build dams to stop floods.

      The problem is that engineers are asked to build things, whether the science to help them exists or not.

      ...richie

      --
      ...richie - It is a good day to code.
  45. Who's there by Alomex · · Score: 2


    I did a quick search in the list and found very few people from big name universities, with all the four big names in the field (software engineering is not my cup of te) that I know missing.

    This makes me wonder if this process has any credibility then... Anybody out there who can comment (intelligently) on this?

    1. Re:Who's there by Anonymous Coward · · Score: 0

      So, pray tell, who are these four big names?

    2. Re:Who's there by Anonymous Coward · · Score: 0

      He said 4. Can you name a well-known book that was written by 4 people ? I think that's who he's referring to.

  46. Computer programming is not engineering. by Wumpus · · Score: 1

    There are fundamental differences between software "engineering" and what is generally referred to as engineering. When you engineer and build a bridge, you don't solve a new problem - you apply an existing knowledge base to solve a problem that has already been solved, thousands of times before. You can't take an existing solution, say, the Brooklyn bridge, and just copy it at close to zero cost. With software, if the problem was solved once before, solving it again is a lot easier. If the problem you're looking at is close enough to something that's been done before, you can just use the existing solution. Need a word processing package with spell checking and support for embedded graphics? Just buy a copy, or download. That's one of the reasons for the popularity of scripting languages - they encapsulate a set of pre-existing solutions to some common problems, and allow users to apply those solutions in an easy to use way.

    Software engineering deals mostly with building things that weren't built before. when work is duplicated, it is mostly for technical (your Java solution can't use C libraries) or political (licensing, NIH) reasons. What's lacking is well defined interfaces for specific application domains, not certification programs. Such interfaces exist when they're appropriate (POSIX, for example), but in the general case, they're counter productive.

  47. THIS IS A BAD IDEA by HanzoSan · · Score: 1



    Software engineering should be an art.

    No one should need a license to make software!

    As much as it would be nice to have it as a science, and as much as it is a science, its also an art.

    To anyone who promotes open source, They know that its an art.

    Its just my opinion, Software engineering is an art and a science, but its more important to us to have it as an art.

    --
    If you use Linux, please help development of Autopac
  48. Creating Software is not Engineering by parabyte · · Score: 1, Insightful
    In early days the Computer Science was considered as a part of Mathematics, which is plain wrong.

    Creating Software in fact is a discipline requiring more artistic than mathematic skills; the best analogy in the "old" world is the Architect who designs houses; he also needs to be familiar with math and needs to know a lot about physical properties of different materials, but the real issue is to create a building where people like to live in,which requires to know more about people and what makes them feel comfortable, more about the history of art than the history of stone and steel.

    Creating Software is about making a computer useful to people. Software is not for Computers; they feel equally comfortable with any piece of code; software is about modeling real world entities, and about creating interfaces to the human mind.

    Even if you write a protocol stack or a kernel, something no normal user is exposed to, you are creating an interface that makes it possible for another programmer's mind to deal with it.

    So it is not the silicon side of software, but the human mind side that makes the difference.

    And now throwing in the multi-media aspects of today's most software it becomes obvious that in fifty years creating software will be considered as much an engineering discipline like making a movie today is considered as an engineering discipline because it is an opto-chemical process.

    Btw: ever seen somthing funny, beautyful, lovely or cool come out IEEE ?

    p.

    --
    Without order, nothing can exist. Without chaos, nothing can be created.
  49. nice try by Anonymous Coward · · Score: 0

    When I read the resume what I care about is projects the prospective employee partricipated in and his role in these projects. If someone spent their time not on writing cool code but on getting stupid certification, its a major turn-off.

  50. I agree by HanzoSan · · Score: 2



    I dont want software engineering to become some esoteric type of thing like quantum physics, or math, I want it to be something everyone can take part in.

    Thats what open source is all about, allowing anyone with knowledge to contribute.

    We shouldnt even have "licenses" and so on and so forth because in the real world, its not how many licenses you have, but what you can contribute that matters.

    I say its an art and a science, and we shouldnt swing one way or the other, but if people are pushing it toward science, then i'm going to push it toward art, and i'm sure anyone whos a programmer for open source will agree that its an art, unless they work for microsoft and then perhaps its a science.

    --
    If you use Linux, please help development of Autopac
  51. Canada already has software engineering by Dacmot · · Score: 1

    Canada already has software engineering as a true engineering discipline. McMaster University which I currently attend in S.E. has a program that has been accredited by the Professional Engineers Ontario. Our department is led by Dr. David Parnas, one of the fathers of software engineering (read the Mythical Man-Month by F. P. Brooks or Software Fundamentals by D. Parnas) Many other canadian universities are following with their own S.E. programs including the very strong in computer science University of Waterloo, the world renowned McGill University of Montreal and many others.

    1. Re:Canada already has software engineering by Anonymous Coward · · Score: 0

      The University of Calgary recently started a S.E. degree program as well, (which I currently attend, and am glad to be attending.)

      And I thought I heard somewhere that in Canada, a professional engineering body was threatening that there would be legal action over Microsoft's use of the title MCSE - Microsoft Certified Software Engineer, since it is or will be a protected name, or something. Also, my source said that MS replied by saying they'd change to comply with the local law, But I haven't heard much about this elsewhere. It seems like it would be a pretty big change for MS to change MCSE to something else. Does anyone know if this is correct and what impact it would have on MCSE in Canada or US?

    2. Re:Canada already has software engineering by SimJockey · · Score: 1

      The CCPE got agreement from MS earlier this year that MSCE's in Canada can't call themselves Engineers. I think they can use the acronym, but not the full descriptor. More here.

      --
      Laugh while you can, monkey boy!
  52. Feh! by bujoojoo · · Score: 1

    Why would I want to be lumped together with a bunch of stodgy old electrical or mechanical dweebs?

    Hell, if it weren't for the likes of us, those other disciplines would still be using a slide rule and pencil...

    Asimov (I think) said: 'Any sufficiently advanced technology is indistinguishable from magic.'

    Ergo, I'm a magician!

    --
    This space for rent
    1. Re:Feh! by Anonymous Coward · · Score: 0
      Sorry man,

      And what would you be running your software on prey tell, if it weren't for Electrical Engineers, Mechanical Engineers and Device Physicists?

      BTW, it was Arthur C. Clarke, not Asimov.

      Semiconductor physics - not that's what I call magic ;)

    2. Re:Feh! by the+eric+conspiracy · · Score: 2

      Why would I want to be lumped together with a bunch of stodgy old electrical or mechanical dweebs?

      Because they are responsible for all the technology you use on a daily basis?

      And no, it wasn't programmers that build the first calculator. It was a stodgy old electrical dweeb.

      Seriously, I think that software that is used in critical applications should be subject to competancy requirements. Like the saying goes, if our buildings were designed like our software is, the first woodpecker that came along would destroy civilization.

      Otherwise licensing is a waste of time.

      And that is how it is done in other disciplines as well. Licenses are only required for work in certain areas - otherwise anyone who can convince a company that he can do a job can work as a engineer.

  53. Passing a test doesnt make you a good programmer by HanzoSan · · Score: 2, Insightful



    This idea is just plain stupid. Its an attempt to make programming as esoteric as other scientific fields.

    Problem is, we need more programmers not less, why make it hard as hell now to become one by requiring people go to special schools like a doctor has to go to medical school, and requiring they pass all these overly difficult tests ?

    --
    If you use Linux, please help development of Autopac
  54. Re:Passing a test doesnt make you a good programme by Ionizor · · Score: 1

    Passing a test doesn't make you a good programmer. Being trained as an Engineer makes you a good designer of systems, no matter what type of system you're designing. If this system happens to be a computer program, so be it.

    Would you feel more secure if the building you were living in were designed by an Engineer or less? What about the software that drives the pacemaker for your heart? I know I'd feel a lot safer if an Engineer had designed the system that was keeping me from having a heart attack in the middle of a busy road.

    Besides - The type of software we're talking about is critical systems software that's usually written by Engineers anyway.

    --

    --
    Todd's Law: All things being equal, you lose!
  55. Personally, I don't like it... by ebbomega · · Score: 1

    Take my friend, we'll call him Paul.

    1) Paul has never gone to university.
    2) Paul and conventional schooling don't like each other very much.
    3) Paul is a very highly paid programmer with a very highly prestigious Game Developer company with a job that 90% of the coders in this city would _kill_ for.
    4) Paul is probably one of the more knowledgeable and brilliant coders in this city.

    Now, why should Paul be forced to endure a discipline simply so that he can get certification so that people know that he is a good coder. People know anyways. Why should there be a standardized system?

    One of the nice things about the coder/hacker/programmer/computer geek profession is that schooling isn't _everything_. It is quite possible that someone with an able enough mind can self-teach themselves anything they'd learn in a university. They don't really need a lab or a gigantic library that is only accessible to University students. I think I've touched the "assignment lab" up at SFU about twice in the three-year tenure of my attendance in Comp-Sci courses. Everything can be done with your own resources and your own research. This profession has never really been one that follows convention because, well, it's not a conventional profession. Innovation and progression from normal societal standards is what keeps computer programming and all the related fields dynamic. It's the reason why the .com industry reached market saturation so incredibly quickly.

    Anyways. That's my rant. Feel free to dissect it and flame away... Any disagreements are highly welcome.

    --
    Karma: Non-Heinous
    1. Re:Personally, I don't like it... by rali · · Score: 1

      I do agree with your viewpoint in the sense that the software industry does not readily follow 'conventional' practices, however, there is a fine distinction to be made here. While you may not require any formal university education to be a good game programmer, I don't believe the same logic extends to mission-critical software systems. In many cases, "mission-critical" actually means "life-critical". Do we want good but untrained people developing the software to which we entrust our lives? (Aircraft, nuclear reactor shutdown systems, chemical and biological detection systems..etc).

  56. Re:Huh? I don't get the fears.... by UberChuckie · · Score: 1

    Don't you have to have a accredited Engineering degree to even be able to write the P. Eng. exam? I have a Computer Science degree (B.Math) and if my assertion is correct, I couldn't be a P. Eng. if I wanted to be one.

  57. Licenses dont prove much by HanzoSan · · Score: 1


    Having a license does not make you a better programmer.

    A better programmer may not have a license.

    The source code is what decides how good of a programmer you are, its not like driving where they need to prove you are a better programmer, just look at the code.

    If the license for being a programmer requires you write specific programs, THIS would be just fine i suppose, however it still your skill level.

    And if the license is what i expect, its a stupid test which asks random questions about random stuff which most people dont know, so people who memorize the text books become the programmers and not the people with the actual skill.

    --
    If you use Linux, please help development of Autopac
    1. Re:Licenses dont prove much by aridhol · · Score: 2

      I agree with you completely. Which is why, in response to another poster, I reccomended that the license be not based on a test, but on the body of all the work you've done. Require re-certification every N years. The review board looks at the code written between re-certs. They determine whether it is worthy of re-certification.

      The main problem I see with this is with engineers not being allowed to show their work due to NDAs. Not quite sure how to get around that.

      --
      I can't say that I don't give a fuck. I've just run out of fuck to give.
  58. Re:Passing a test doesnt make you a good programme by aridhol · · Score: 2

    That's why I suggested mandatory recertifications. Perhaps something besides a test can be used. What is the entire body of Joh Hacker's previous work? What has been written since the last recert board?

    I also don't like exams. Too artificial for me.

    --
    I can't say that I don't give a fuck. I've just run out of fuck to give.
  59. All it will do is by HanzoSan · · Score: 1



    It will create a bunch of text book programmers who dont have real experience but who know the text book inside and out.

    This is stupid.

    --
    If you use Linux, please help development of Autopac
  60. No certification for me please by wickedhobo · · Score: 2

    I'm a fairly experienced system architect as well as faculty in the CS/COE department of a major university, yet I have never received a degree in CS or engineering, nor any professional certifications in engineering. I fail to see how these would make me a better developer.

    In fact, I've often found that my lack of formal background is a help rather than a hindrance. I'm often able to think outside of the traditional engineers paradigm. Because of that, I often see other developers being surprised at something I though up, that they never would have tried just because their training told them that sort of thing doesn't work. Since I work in distributed middleware and DB research, coming up with new things is kind of the point.

    -Hobo

    --

    --Stupidity is Self Curing!
  61. Passing a test does not make you a good engineer!! by HanzoSan · · Score: 2, Insightful



    You just dont get it. Programming is not like building a house.

    When you build a house, you cannot freely learn from millions of other houses built by taking it apart peice by peice and putting it back together.

    Programming allows ANYONE to learn on their own and become a good software engineer.

    Passing a test wont prove that you are good, It just proves you are good at passing tests.

    The proof should be in your source code.

    Perhaps as a test, requiring people write several programs and submit them to a review group, (similar to the driving test) so people can SEE they have skill, would actually be a better idea.

    But to give a standard TEST, it doesnt come down to skill, it comes down to how much of the text book you memorized.

    Its stupid.

    The source code should prove someones worth, not a test.

    --
    If you use Linux, please help development of Autopac
  62. Science different from art? by ttimes · · Score: 1

    The primary advantage to such an endevor is the creation of a set of reference standards. However, deeming these standards as the basis for licensing and claiming this to be a science is grossly mistaken. Science at its best is an art. And art, as an act of creation of something heretofor unknown, can't be proscribed by law. Please, codify software engineering- create a guild a union, an association- but don't subject it to the exclusionary class wars possible through selective licensing.

  63. exams are just not going to work by HanzoSan · · Score: 1



    Some things you can test with an exam, some things you cant.

    You cant have someone build a house and judge their house so you must give them an exam.

    Computer programming is diffrent, you can force someone to build a program and grade their program, if they do well they are an engineer, if not, then they arent.

    This means a program with no bugs, which is designed based on certain standards.

    --
    If you use Linux, please help development of Autopac
  64. Art to Science? by sennomo · · Score: 1

    I don't see going from an art to a science as a step forward. Actually, I see it as a way to severely limit a field as creative as software development. I was trained to see programming as an art. Code is poetry that instructs a computer to do something.

    Regardless of that point, the idea of having to get a license really pisses me off. I used to be employable without a college degree. Since last fall nobody will even interview me. Now I'm wasting two years and thousands of dollars in a small university where I'm learning next to nothing, just so I can get a damn B.S. so someone might hire me. I don't want anybondy telling me when I graduate in 2003 that I have to spend two more years to get some license.

    --
    Mi klopodas varbi por Esperanto.
  65. Hey this i agree with! by HanzoSan · · Score: 1



    This is genius. Yes I agree with you, the answer is to certify the software itself, not the engineer making it.

    --
    If you use Linux, please help development of Autopac
  66. Software Engineers In Australia by 0x00 · · Score: 1

    This as been recognised for a while now by the Institute of Engineers, Australia.
    See here for a loose definition of a software engineer. A list of accredited Software Engineering courses can be found here. Its part of the Engineering faculty at almost all major Universities in Australia.
    --
    0x00
    Just a Soft Student.

  67. Professionalizing would help w/H-1B abuse by Anonymous Coward · · Score: 0

    That's about the only merit to it. No other skilled occupation has ever had to endure what is happening with the software field, in terms of companies crying about shortages when their real purpose is simply to lower wages.

    Professionalization would keep standards higher in many ways- by keeping people out who are little more than code monkeys, but more importantly via the creation of a bona fide association with some real political power.

    1. Re:Professionalizing would help w/H-1B abuse by elflord · · Score: 2
      Professionalization would keep standards higher in many ways- by keeping people out who are little more than code monkeys, but more importantly via the creation of a bona fide association with some real political power.

      Actually, a lot of the H1Bs are qualified, because a lot of them use F1 (student) visas to get into the country in the first place. And the foreigners are more determined to go through such steps. If qualifications were so important, it would give companies all the more reason to choose a foreign national with a masters, than a US citizen who's graduated from a related degree (eg math or electrical engineering ). You're not going to keep foreigners out by raising the bar.

    2. Re:Professionalizing would help w/H-1B abuse by spanky555 · · Score: 1

      Sorry, that's not what is happening AT ALL. Many H1-B's don't have qualifications that would allow them to get a similar job in their own country.

      It's all about lowering wages here. There was no shortage of qualified workers here, even before economic downturn. There was only a shortage of workers who were a certain age bracket and willing to work ridiculous hours for ridiculous wages.

      For more reading, point your browser to:
      http://www.zazona.com/ShameH1B/

      It's about time to end the H1-B program.

    3. Re:Professionalizing would help w/H-1B abuse by elflord · · Score: 1
      Sorry, that's not what is happening AT ALL. Many H1-B's don't have qualifications that would allow them to get a similar job in their own country. It's all about lowering wages here.

      There's a doublethink in the above. If the H1-B workers really are incompetent, then perhaps employers could hire incompetent Americans instead. If the employers want to pay less, and get less skilled workers, they can do this without recourse to legislation.

      For legislation to be effective in lowering wages, it must be able to bring in cheaper workers with comparable skills to those they are replacing.

      I've read the "shame H1B" URL. Shut the borders completely on the grounds of "national security" ? Shame on them for exploiting this tragedy to further their agenda.

      PS I'm applying for a H1-B. I hold a Ph.D. I know a lot of other people who hold PhDs and are applying for H1-B visas. I don't work "ridiculous hours for ridiculous wages", and I'm probably not in "a certain age group". I suppose you think you're better than me because you're a US citizen. And that I'm just a "code monkey", while you're a "software engineer". Keep dreaming, chump.

    4. Re:Professionalizing would help w/H-1B abuse by spanky555 · · Score: 1

      There's a doublethink in the above. If the H1-B workers really are incompetent, then perhaps employers could hire incompetent Americans instead. If the employers want to pay less, and get less skilled workers, they can do this without recourse to legislation.

      Well, well, now you get the picture. There are plenty of H1-B's who have /adequate/ skills. I'm just saying many don't have the QUALIFICATIONS to land similar jobs in their own countries. And I'm sorry, it IS about lowering wages here. You can pretend it's not, but I've been working for over eight years in the industry here in America; I think I'd know. Maybe I don't have a PhD, but I do have eyes and common sense.

      I've read the "shame H1B" URL. Shut the borders completely on the grounds of "national security" ? Shame on them for exploiting this tragedy to further their agenda.

      If that's what you think this is about, then you HAVE NOT read the site. I'm afraid the site was up long before the attacks. And they aren't pushing to "shut the borders completely", BTW. I, for one, would rather see green cards issued in lieu of a bogus temporary visa.

      PS I'm applying for a H1-B. I hold a Ph.D. I know a lot of other people who hold PhDs and are applying for H1-B visas. I don't work "ridiculous hours for ridiculous wages", and I'm probably not in "a certain age group". I suppose you think you're better than me because you're a US citizen. And that I'm just a "code monkey", while you're a "software engineer". Keep dreaming, chump.

      Ah, the ad hominem attack. I was wondering when we'd get to that. Based on the terms of debate, I guess you've just lost. And you show your arrogance by jumping to conclusions when you say what I think about you. I have no idea what you are, but an awful lot of H1-B's ARE "code monkeys", as you put it. Not all are, and apparently you don't plan on falling into that category. Good for you; I wouldn't wish that on anyone. If you plan on doing coding here, plan on the long hours, BTW. You might change your tune, unless your situation is very unusual. I suggest you go back to the site and do some reading.

      And you also jump to conclusions when you assume that I think I'm a software engineer. I'd like to say I'm aspiring to one, but by no means am I there yet...I'd really like to get into more of an "architect" role, but that's been pretty tough to get into. As for the age range thing, if you are already here, look around you. If not, wait until you get here, and drink in how many fifty-somethings are in the field, actually doing analysis, code or design. They either get run out completely, or are pressured into management. Some do independent consulting. I honestly can't remember the last fifty something I saw that was a FTE programmer/analyst. Or even network admin or DBA...age discrimination is alive and well in the software industry, no doubt about it. At least in the private sector.

    5. Re:Professionalizing would help w/H-1B abuse by elflord · · Score: 1
      . And I'm sorry, it IS about lowering wages here.

      Sure, it puts downward pressures on domestic wages. And that's probably why big corps advocate it. But you can't have it both ways, I mean, if it's about paying less, then it's about paying less for the same skills, not paying less for less skills.

      If that's what you think this is about, then you HAVE NOT read the site.

      It's there in plain English:

      Given the tragic events of September 11, 2001, all nonimmigrant visas should be immediately halted in the interest of national security.

      Halting non-immigrant visas is slamming the doors shut.

      BTW. I, for one, would rather see green cards issued in lieu of a bogus temporary visa.

      I partly agree with this. But there are problems re: what to do in the interim (while the applicant is waiting for processing). The H1-B is not a satisfactory solution though. "shameh1b" identifies flaws in the program, but proposes a hysterical as opposed to a measured response.

      I'm afraid the site was up long before the attacks.

      I've seen it long before the attacks.

      Ah, the ad hominem attack. I was wondering when we'd get to that. Based on the terms of debate, I guess you've just lost. And you show your arrogance by jumping to conclusions when you say what I think about you.

      Sorry if I sounded blunt, and rushed to conclusions. I have little patience with those who make sweeping generalisations about the skills of H1-B workers though. You're confusing "arrogant" with "short tempered".

      And you also jump to conclusions when you assume that I think I'm a software engineer.

      Because there's no formal qualification or even a clear definition of "software engineer", it's a meaningless term. A lot of people who call themselves software engineers are actually programmers with inflated egos. That you are not a "software engineer" is a welcome mark of humility.

      As for the age range thing, if you are already here, look around you.

      I work in a university. Anyone under 40 is a kid here.

  68. Re:Huh? I don't get the fears.... by John+Miles · · Score: 2

    Yes, you can fix your own radios. You'd be allowed to write your own software. But would you be allowed to write it commercially?

    Not a problem. An un-degreed SE would be "allowed" to write commercial software, just as an undegreed EE would be "allowed" to design commercial hardware. (Ever hear of a fellow named Wozniak? Or Dell, for that matter)

    Professional engineering licensing/accreditation issues tend to be relevant when government or military contracts are at stake. For instance, no municipality is going to accept a bridge-design proposal from some random dude calling himself a "civil engineer." Likewise, you're not going to work for JPL or NASA unless you can show the necessary professional credentials to indicate competency with metric and English units, for example.

    It's true that a few talented engineers have been held back by a lack of degrees and licenses. After WWII, Wernher von Braun had to send off for a mail-order doctorate degree before Congress would take him seriously. But for the most part, this action on IEEE's part isn't something that should scare anyone, IMHO. The IEEE is a rather toothless organization, and no commercial interests are going to let them threaten the supply of talent, accredited or otherwise.

    --
    Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
  69. The ACM has already rejected this idea by PeteMcBreen · · Score: 1
    Check out ACM Position on Software Engineering

    ACM's position is that our state of knowledge and practice in software engineering is too immature to warrant licensing. Moreover, Council felt licensing would be ineffective in providing assurances about software quality and reliability.

    There was a reason that I wrote a book about Software Craftsmanship The whole idea of applying a mechanical metaphor to software development is inappropriate.

    --
    Author, "Software Craftsmanship The New Imperative" Addison-Wesley (C) 2002
    1. Re:The ACM has already rejected this idea by rali · · Score: 1

      Coincidentally, you fail to mention that the ACM's findings are dated July 17, 2000 -- as everyone knows, that is a long time in this industry. Notably, at least one Canadian university's SE program has since been accredited by the CEAB, and several others are currently under review. It is misleading to conclusively state that SE licensing has been denied.

  70. Me too by Anonymous Coward · · Score: 0

    I took a 32-month intensive IT course which was, at times, very hectic. Oh wait, scratch that, I do have a degree! Do give us some boo hoo sob story about changing careers late in life and working so hard. No were in my programs outline did it say you had to start your degree at in your youth. Save us the sob story next time.

  71. Software Engineer != Coder by shoppa · · Score: 1
    Most of those complaining about the Software Engineer title seem to be what I would call coders - folks who view their job as writing code.

    Coders are fine people. But few of them interface with users, management, and the other organizations who are stakeholders in the outcome of a large software project. Instead, the "interfacing" seems to be left to suits, project managers who don't actually understand any of the coding. We're left with a gap to fill there.

    The way I see a software engineer is as filling thag gap. A software engineer can sit down with users and draw up specs and requirements; he can analyze and design, and then code, and then test, debug, and deliver. He may not do all of these all of the time, but he does have the ability, and when he sees that one of these needs isn't being met, he should also have the authority to make sure that they are done, otherwise the project will fail (like 90% of software projects currently fail!)

    We do need folks like this in the business, and we also need the business to recognize the necessity for such software engineers. Getting accreditation is one important step in achieving these goals.

    1. Re:Software Engineer != Coder by elflord · · Score: 1
      Instead, the "interfacing" seems to be left to suits, project managers who don't actually understand any of the coding. We're left with a gap to fill there. The way I see a software engineer is as filling thag gap.

      That still wouldn't make them an "engineer". What you are describing is a project manager with better than average technical skills.

    2. Re:Software Engineer != Coder by shoppa · · Score: 1
      That still wouldn't make them an "engineer". What you are describing is a project manager with better than average technical skills.

      Maybe. I thought I was also describing a coder with better than average analysis, design, testing, and people skills. (Note that "coding" becomes maybe 1/5th of the total skill set.)

      An engineer - in the end - is someone who comes up with real-world solutions to real-world problems. The software engineer that I'm thinking of (and maybe the one IEEE is think of too) does the same thing.

    3. Re:Software Engineer != Coder by elflord · · Score: 2
      Maybe. I thought I was also describing a coder with better than average analysis, design, testing, and people skills. (Note that "coding" becomes maybe 1/5th of the total skill set.)

      Design, testing and analysis is part of programming. There really isn't much of a role for people who don't understand and can't learn design, analysis and testing ( I suppose they can design web pages or something, but that's about it).

      OTOH, management is a different issue. A programmer needn't be a good manager. An engineer needn't be a good manager either. Engineering and management are not the same thing.

  72. Legislation Does Not a Science Make by John+Hasler · · Score: 1

    "this is a major step forward - turning software engineering from an art into a science."

    No. It is a major step toward turning software engineering from an art into a trade.

    If software engineering requires a license what becomes of Free Software written by unlicensed individuals such as myself? Would we be expected to pay a licensed engineer a couple of hundred bucks to approve it? Would you require all Debian developers to get their licenses?

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:Legislation Does Not a Science Make by Anonymous Coward · · Score: 0

      Maybe, but writing backwards *does* a moron make.

  73. Certification: About Time by Ars-Fartsica · · Score: 2
    After being a software engineer for ten years, I have found one constant in this field of work: disappointment and disgust.

    If you allow anyone to program professionally, then you must be prepared for more terrible code.

    And please spare me the anecdotes about the English major who is the world's best programmer - we don't architect our socirty on corner cases. Added to which, there would be ample opportunity for non-CS grads to gain the certification where it to become required.

  74. Re:Creating Software is not Engineering by Anonymous Coward · · Score: 0

    Are you new to programming?

  75. Who are you going to trust? by Ars-Fartsica · · Score: 2
    No one is pointing a gun at your head forcing you to get a licensed architect or structural engineer to design your house. Yet when you look up prospective contractors you are obviously going to ask them, and probably pick one who has his certification.

    So why not let it stand as a marketing device? If you want software from the lay-hacker, you can choose to buy from him. If you choose to buy it from the certified hacker, you may do so freely.

    Within a decade the marketing clout of the certification (if it is worth anything) would put the uncertified hackers out of business. Its just human nature - we look for a degree in the dentists office, don't we?

    1. Re:Who are you going to trust? by tom's+a-cold · · Score: 1

      Actually, someone IS pointing a gun to your head. In most states, you cannot build a house or commercial building unless the plans have been reviewed by a licensed civil engineer.

      The reason that civil engineering has such a certification process is that it is, for all intents and purposes, a dead field of inquiry, with a nearly-static body of knowledge.

      The IEEE has long been pushing for a similar certification for software engineers. The reasons have nothing to do with quality. They want to be the certifying body, since it will give them political power, similar to the American Medical Association or the Bar Association. It might also drive up the wages of the past-their-prime, academically-credentialled system engineers at the expense of their younger and less formally qualified colleagues. The only reason that this has not already happened is that the rules of the game keep changing before some committee can codify them. That is a good thing.

      I've been a system engineer for a very long time. I think that it will destroy the field if it gets locked down tight, and I am opposed to any attempt to turn my profession into yet another guild. The results are always the same: stagnation, politics, arbitrary barriers to entry, and jobs for life for the certification middlemen. I respect the good work that IEEE does, but this kind of brainfart is not part of that good work. Just imagine a scenario where some bureaucrat decides whether the work of the next Berners-Lee or Torvalds meets with their approval or not, and buries it in a committee to keep the boat from being rocked. Screw that. One of the reasons that the state of the art in our field keeps advancing is precisely because we don't have to jump through that kind of hoops.

      --
      Get your teeth into a small slice: the cake of liberty
  76. Your first sentence is incorrect by Ars-Fartsica · · Score: 2
    Microsoft says I'm a systems engineer.

    No, Microsoft says you are an MCSE. They make no attempt to generalize your skillset beyond that which is required to pass their certification.

    1. Re:Your first sentence is incorrect by Micky+the+knife · · Score: 0, Troll

      Learn what the acronym stands for:

      Microsoft
      Certified
      Systems
      Engineer
      Now it's real world value can be debated, but that is a different matter.

      --
      Go ahead and mod me up. I dare you!
    2. Re:Your first sentence is incorrect by Anonymous Coward · · Score: 2, Insightful

      Yes, you are a Microsoft Certified Systems Engineer, but that can't be broken down into (Microsoft Certified) Systems Engineer (as that infers a common standard that can be equally accredited by any body), but more to the point should be surrounded by quotes and an "TM" symbol.

    3. Re:Your first sentence is incorrect by Red+Pointy+Tail · · Score: 1

      Actually, it is:

      Minesweeper
      Consultant
      Solitaire
      Expert

    4. Re:Your first sentence is incorrect by Anonymous Coward · · Score: 0

      "Must Consult Someone Experienced"

  77. Re:Passing a test does not make you a good enginee by DGolden · · Score: 2

    The way a "real" engineering discipline works:

    I am a mechanical engineer (MEng Mech Eng.). I passed lots of tests (barely, I only got a 2.2). But even to get that qualification, I _also_ had to complete team and individual industrial-style projects + have them reviewed. (Designing a recumbent pedal vehicle, and a streamlined body for a vehicle.)

    Even so, I'm not really a fully qualified mechanical engineer - I'm not chartered. (I probably never will be, since I started developing software instead, but that's another story.)

    I don't know how it works in America, but the way you fully qualify as an engineer (get your charter) in Britain and Ireland _is_ by the mechanical engineering equivalent of writing several programs and submitting them to a review group - the IMechE. After a few years as a "rookie" mechanical engineer in the industry (usually with a "mentor", an engineering guru to guide you on your way), you submit details of the projects you have worked on for review, and have an unfun interview. If they're up to scratch, you get a charter. The academic tests don't really mean much, beyond a certain basic level of competence, unless you're sticking in academia to do research.

    Just as I can happily write programs without being a qualified software engineer, plenty of people can happily design machines without being a mechanical engineer. But qualified mechanical engineers will probably do a better job, and be allowed do it where people's lives are at stake - note how most software says things like "not to be used to run a nuclear reactor" in the license?

    Also, mechanical engineers don't go off and reinvent the wheel from scratch either - we don't re-derive the Navier-Stokes equations each time we use them, and, when we're designing something, we used a (gasp!) "component-based approach" - ordering off-the-shelf parts and slotting them together. It keeps the cost down that way, and is a lot like component/ OO programming with a rich standard API. Kinda like writing Java applications, in fact (what I've actually spent the past while doing). Building and Civil engineers use a similar approach for... building houses...

    Programming _is_ like building a house. Generally, you're slotting together lots of components that people have already designed. A builder doesn't make his own bricks - bricks come in a selection of standard sizes from the brick factory.

    So, why not a similar approach for life-critical Software Engineering?

    --
    Choice of masters is not freedom.
  78. There is art in all branches of engineering by Ars-Fartsica · · Score: 3, Interesting
    If you are going to loosely define "art" as the practices that produce elegant solutions, this applies to every branch of engineering. There are structural engineers who are sought out by architects for their ability to render a satisfactory strcuture in an artful manner, so for structural engineers, asthetics matter.

    For electrical engineers, the elegance may be in minimzing the number of transistors in a design.

    For chemical engineers, the elegance may come on the form of the safety or usefulness of the byproducts of a reaction.

    All engineering fields value elegance in method and design. The notion that "art" separates programming from other engineering endeavors is bogus.

  79. Totally not true by Ars-Fartsica · · Score: 2

    Its ridiculous to assert that there are no means by which you can qualify and test programmers. Haven't you ever applied for a job? Didn't they ask you any programming questions? Did you take the Computer Science GRE? There are numerous excellent methods available for ascertaining some basic metrics about the competency of a programmer.

  80. No, we would ALL have to be recertified by Ars-Fartsica · · Score: 2

    Obviously there would be no prohibitions on non-CS grads getting certified. Why would there be? CS grads may have some inherent advantages, but I've never heard of a certification proposal that requires a CS degree.

    1. Re:No, we would ALL have to be recertified by Anonymous Coward · · Score: 0

      You can't be a professional engineer if you're a CS grad anyway, at least, not in Canada. To get that P. Eng. you need to have an engineering degree, or pass qualification exams if you have the pertinent body of knowledge. You also need to pass an ethics exam.

  81. Psuedo Software Engineering vs. genuine SE by 3seas · · Score: 1

    COMDEX SPRING and WINDOWS WORLD 95
    Power Panel - "What's Wrong with Software Development"
    ** In The U.S. Only **
    $81 Billion = 31% of software development gets cancelled before complete

    $59 Billion = 53% of software development has cost over-runs of 189%

    16% success - project success and failure ratio

    61% customer requested features and functions make it in

    Maintenance and repair is where most of the U.S. dollars are going, instead of new, better, easier to use software.

    SCIENTIFIC AMERICAN - Sept. 1994
    Article - "Software's Chronic Crisis"
    Mary M. Shaw of Carnegie Mellon University, observes a parallel between chemical engineering evolution and software engineering evolution. However, this evolution has not made the connection between science and commercialization required to establish a consistent experimental foundation for professional software engineering.

    ---

    Pretty much there is a difference between what is called a Software Engineer today and what a genuine software Engineeer is. That difference is between what is a majority of psuedo Software engineering or the skill of reinvention vs. limited cases of genuine software engineering in the form of isolated examples of algorithims, data structures, compiler construction.

    What this says, is that most of what goes on today is not software engineering, but rather doing again what has already been established. Or what should be better automated so that even the typical end user could much more easily "program".

    It is the creation of such automaton that makes programming easier for everyone, that is where genuine software engineering has it's place today.

    Such a direction as is generally described by IBMs autonomic computing direction only not with such a stiff white collar high pay end user perspective.

    The product of genuine software engineering should not be the final product but the tools used by everyone to do what in essence is programming, that of automating what one needs to automate in order to make their use of computers more productive. And I'm talking about the end user doing what they know they need, not the psuedo engineer/programming reinventing something again not quite what the user wants to again sell it to the user.

    The science of Software creation, the practice of automation creation by the end users is what the goal is of genuine software engineering should technically be.

    A structural engineer figures out and creates the blue prints. But it is the builder that then use that blue print to create the structures. Sometimes in the process of building, even finding errors in the engineering, which are then feed-back to the engineer to verify and correct.

    Personally I believe what I've described within a Responce to a USPTO RFC, as the Virtual Interaction Configuration, is that "expermental foundation" needed and refered to by Mary Shaw, as well as being the specific configuration of functionality and details of, which is absent in IBMs presentation.
    .
    .

    1. Re:Psuedo Software Engineering vs. genuine SE by Anonymous Coward · · Score: 0

      Get back to comp.sys.amiga.advocacy, oh ruebot!

    2. Re:Psuedo Software Engineering vs. genuine SE by BobOn · · Score: 1

      "most of what goes on today is not software engineering, but rather doing again what has already been established"

      Doesn't this pretty much describe the entire Linux operating system?

      Bob

    3. Re:Psuedo Software Engineering vs. genuine SE by 3seas · · Score: 2

      Doesn't this pretty much describe the entire Linux operating system?

      Yes and that is why Linux is ideal for automation.

      .

  82. Unfortunately you are preaching to the wrong crowd by Ars-Fartsica · · Score: 3, Interesting

    Your statements are well thought out and valid, unfortunately the group-think of /. is so peversely self-contradictory that it really makes you wonder where common sense went. You see, /.'s rail against certification every time an article comes up suggesting it, but then they spend the rest of their time bitching about Microsoft's crappy software and how horrible it is that they "get away with it".

  83. Re:Creating Software is not Engineering by bobbyd2 · · Score: 1

    mathematics falls under the domain of free speech, and so does programming, except where it violates local or national or international emissions codes. mathematics doesn't have emisssions, except possibly from enlightened brainwaves, and there is no such thing as a mathematics license, only proof. some of the world's best mathematicians approached the subject from non-traditional angles and revolutionized math and the whole world. and the criterion of proof was never subject to any political definition of what was convenient to the general populace, although a good proof generally served the whole world well. software engineering is not a branch of science any more than math; they are realms of thought and philosophy. and philosophy is not a licensable profession, like math and computer software programming.

  84. Whats the problem? by Ars-Fartsica · · Score: 3, Insightful
    No one is claiming a certification exam would be perfect. Is the SAT perfect? The GRE? The GMAT? At some point you are going to have to comprimise and assume that no one will get everything right or everything wrong, regardless of their state of knowledge.

    What is so difficult about going through Stroustrup's book and picking three or four topics per chapter and formulating questions from them? Some could be true/false, some multiple choice, and some requiring you to "write" code snippets. It seems pretty straightforward.

    The problem is when most "expert" groups discuss this topic, they typically look for a test they could get perfect in, based on the fault assumption that their perfect mastery of C++ must result in a perfect score.

    1. Re:Whats the problem? by Anonymous Coward · · Score: 0
      What is so difficult about going through Stroustrup's book and picking three or four topics per chapter and formulating questions from them?

      That would be thoroughly useless - all it tells you is that the person knows the language. The real trick is applying it wisely - learning the whole set of best-practices that Addison-Wesley has documented so well, being fluent with design patterns, etc.

  85. Re:Does it matter? by Anonymous Coward · · Score: 0

    Flamebait? What are you smoking?

    Moderator, you should visit www.gnu.org and do some reading. This is a social revolution!

  86. Re:Creating Software is not Engineering by tius · · Score: 2, Insightful

    You are correct to a degree, but only for some types of S/W systems. For example, my word processor is artfully designed for me to intuitively make the most out of it's capabilities. Great, but it crashes due to sloppy, 'artful' practices. Ok, it's a word processor, I lose a bit of work...annoying, but not critical.

    Now for the systems that I hope were not designed in a purely 'artful' manner: Aircraft control systems, my microwave oven, the telecom switches that connect me to emergency services, chemical/nuclear process control systems, automotive control systems, traffic light control systems, fire control system on a smart bomb, nuclear attack early warning systems, pacemaker control system, computerized medical equipment (life support, anaylsis equipment...etc.), electronic infrastucture for commerce...etc..

    These are all S/W application areas that demand an engineered solution. That means that the system performs the required functionality correctly, meets the required level of reliability, and does not perform unintended actions in either normal or extrordinary circumstances.

    Artistic qualities do play a role in design & implementation, but it is not the only quality required to build & test such systems.

    Could you imagine someone 'artistically' testing such a system? "Well, the system 'felt' right...I think we should ship it." "Oh, it failed! It killed 300 people! Tsk."

    Last word; Programming != S/W engineering.

  87. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0


    Most jobs out there are governed by a set of minimum standards, and, imporantly, responsibilities. Name me any company or organisation that *isn't* liable when they do something wrong.

    Except for software producers. In a broad sense, programmers aren't really liable for what they write; if its wrong, write a patch, hope it works (I know thats generalising, but you get the idea).

    Having a well-established and well-respected (how is IEEE or ACM not well respected), *legally binding* set of standards will ensure that people who write sloppy and badly written software will be liable for their (in)action.

    This is a good thing for everyone. If you take it to its extreme, it'd be enough to put these guys out of business for shoddy work practices.

    We've all heard the argument of how a car manufactuer would never sell you a half-finished car; why should software be any different etc etc.

  88. Re:Creating Software is not Engineering by mogens · · Score: 2, Insightful

    (How this scores 3 is a mystery)

    Computer SCIENCE is very much part of mathematics. Denying it just proves that you slept through class, or avoided taking the hard classes because they had math in them.

    Computer SCIENCE comes up with tools like VDM and Z (formal methods) that can be applied by ENGINEERS to verify that the software that was built.

    Application Software construction is very much like movie-making already. You usually have a director (architect/designer), lighting and camera-crews (database and graphics experts) and so on. However, they all use tools like cameras, lights, and cranes (compilers, database engines, Open-GL drivers). These tools are usually certified by ENGINEERS who have used the processes that SCIENCE gave them.

    Beautiful stuff does come out of the IEEE. 802.11b for example. Wi-Fi or Airport the marketing departments are calling it. Quite popular these days, apparently.

  89. medieval guilds - revisited by Anonymous Coward · · Score: 1, Insightful

    imho what they're trying to do by introducing
    a certification is not a question of increasing
    security and methodology, it's a matter of control.
    once they can tell who's a certified software
    engineer and who's not, they'll hold the entire
    software industy by the balls.

    The danger is that this drifts into a closed
    corporatism like the guilds in medieval europe,
    worse: it could be that "sponsors" (microsoft?)
    direct which criteria you have to meet to be
    certified

    And last, since such certifications can't really
    be hard, it could drift into a buyable title
    just like you can read ads "buy your Ph.D."

    so basically, we should closely watch who's
    going to decide how it works.

  90. Proof that moderation doesn't work by Anonymous Coward · · Score: 0

    Moderation was suposed to make comments like your vanish completely from my screen. Oh well, I guess its back to the drawing board.

  91. Building Bridges by Boss,+Pointy+Haired · · Score: 1

    Ok, faced with a stream, some wood and maybe some rope, most of us could build a bridge to take us across the stream.

    Maybe face a larger stream, or perhaps a river. Again, most of us could probably design a bridge that at least we alone would feel confident in crossing.

    But how many of us could build a bridge that not only we are confident to cross, but the general public are confident to cross, the local government is happy to certify as structurally sound and compliant with all bridge building regulations.

    To design and build such a bridge requires a professional engineer, not a Microsoft Bridge 2000 monkey.

    I think.

  92. NO NO NO by SETY · · Score: 1
    Maybe someone else has replied and said this. Maybe your trolling I dunno....
    Engineers design.
    DESIGN != PROGRAMMING
    Technicians do all the work and Engineer gives direction, inspect it, etc. He/She then takes there stamp out of their pocket and puts it on the blueprints (that a technician drew) and stamps it. Now they are accountable even if they didn't draw the thing.


    It would work for software. I suspect EE's might already stamp source code lists for things like routers, space shuttles, medical radiation machines, etc.

  93. Read "After the Goldrush" by MagikSlinger · · Score: 2

    By Steve McConnel. I used to fear licensing software engineers until McConnel explained what being an engineer *really* means.

    You can still write software, even for commercial purposes. In fact, there would be many situations why a sotware engineer is not what you need.

    In any given engineering shop, there's only a handful of licensed engineers. There are still other engineers there who do the work, but the licensed engineer oversees the work and ensures due dilligence and best practices are used. In electronics, there are electronic technicians who don't have engineering degrees who design electronics. Instead, those places have a single licensed engineer who will oversee the final design and inspect it.

    Do not fear software engineering: embrace it!

    For the record, I do not qualify for licensing as a software engineer, but a licensed software engineer wouldn't mind hiring me to work on his team.

    --
    The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
  94. Back asswards by Ars-Fartsica · · Score: 2
    The big problem with this idea is step 1: Sure, we have best practices, but they do not assure a solid product.

    The goal is failure avoidance.

    There are software engineering best practices, but when goobers apply them, they are fully capable of producing bloated non-working crap.

    I think you're blowing smoke. What are these best practices that produce crap? No one said best practices would make stupidity obsolete, so please don't tell me about people misapplying or misusing well-defined practices.


    It is very nice that people are sufficiently concerned about software quality and its impact on the real world (e.g. comp.risks). But this in no way means that we actually have best practices

    The two are completely independent in any case...so what are you saying? Obviously we know some best practices in software engineering...don't use GOTO, comment your code, use a debugger...come on, are you telling me that in fifty years of programming we haven't learned anything?????

  95. Re:Unfortunately you are preaching to the wrong cr by Anonymous Coward · · Score: 0

    So are you implying no "certified" software engineers work at Microsoft?

  96. What does this mean for amateur developers by Anonymous Coward · · Score: 0

    Does this mean IEEE will control all development , will this effect every country that the IEEE are in. what are the full implications.

  97. Using an Hydrogen bomb to demolish an old building by f00zbll · · Score: 1
    I can't actually see the site, since it's been /.ed. The whole prospect of standardizing software engineering is a nice idea, but that's all it is. Although most software projects are failures and a lot of bad software is sold, it's not about a lack of standardized software development. Too many people who know nothing about real software development try to impose a top down model.

    Just like every other profession, there are good and bad people. I'm sure people have come across good mechanics with no certification, but could tell you what's wrong with your car in 10 minutes. Then there are other shops that use a bunch of high tech gear only to replace a bunch of good parts to make more money. There will always be greedy people who get into a profession thinking "I can make a quick buck and retire."

    Sure having a standard makes it easier for non-technical people to get some assurance a person is capable of doing the job. But then again, look at the SAT. There are tons of people who Memorize for the test and do great, but couldn't think themselves out of a hole. Rather than look at the real core of the problem, yet another organization is trying to make money by telling others what to do. Instead of addressing the problem in realistic terms, it's just another bad paint job that will rust with a little bit of weather.

  98. Re:Creating Software is not Engineering by Anonymous Coward · · Score: 0

    Architects don't build buildings... They just draw pretty pictures on paper and make mock up models.

    To build the building you have tradesmen who pound the nails, weld the steel, put in the windows, etc.

    You also have persons called Construction Engineers and Material Engineers. You know what they do? They tell the architect that your a damn fool if you think we can build a 40 story building out of balsa wood and push pins.

    Programming is most certainly not equivalent to architecture.

  99. Responsibility (questions with almost no answers) by sergeaux · · Score: 1

    Does it sound like "responsibility" here?

    Well, the truth is that this very word is hihgly abused. Possibly it is meant to be some sort of moral responsibility, some quite illusionary one. It has then to be objected.

    The only decent form of responsibility is when you say "Okay, it is me who made this, and it is me who is to be honoured if it works for people, and it is me who is to be executed if it fails".

    Even this is not all of the truth; the truth is there exists "equal amount of responsibility". It is possible to define it as something one is ready to loose in case of failure of the actions he bears responsibility of.

    Ironically, "the only decent form" is indeed very little (how much does it cost to bear and breed a human?) Since human beings cannot be responsible for big entities, what is a really just form of societal/collective responsibility? How can human beings which form the society ensure that they are being justly coerced to fullfill such responsibility in case of failure?

    Well, this is all theory. But I said all this to justify the idea that certification is by no means a way to make people do their job well. The only way is to breed and to teach them; they should do their job well not because they are certified, but because they fear of being sinful and eager to save in the most religious way :-)

    More of this. Programming is a dirty and merciless activity. Only disproportinally little reward can one expect for the pains taken to produce good software, for there are too many seekers.

    What should the better ones do?

  100. Software is not an engineering discipline. by SCHecklerX · · Score: 2
    It is simply something engineers use to do their job. Programming is a tool, not an end in itself.

    The next thing you know, people who write will want to be known as 'book engineers.'

    Hardware is engineering. Software is simply telling the machine what to do. An engineer designs ACS. An engineer does not write the specifications to mill the parts created by the ACS, although he might be involved in the *LOW LEVEL* programming that controls the physics of the thing.

    If there is to be a software engineer, it should be limited to the software the directly interacts with physical systems (ie, ACS).

    As always, just my opinion.

    SCH - Aerospace Engineer.

  101. I think a better first step... by Anonymous Coward · · Score: 0

    is being taken in Ontario.
    Really, most engineers start out as engineering students...
    from the site:

    Accreditation of the Software Engineering progam
    Waterloo's Software Engineering program is designed to be accredited as both an engineering and a computer science program, but it cannot be officially assessed before Fall 2005, which is the final year of the first Software Engineering class, and it cannot be accredited until after the first class graduates (Spring 2006). The first class whose program is successfully assessed will be considered to have graduated from an accredited program, even though that program is not officially accredited until after the class graduates.

  102. An Old Joke by Anonymous Coward · · Score: 0
    This one is from the time one could smoke in airplanes:


    Twa gays were travelling by air, when one of them said,

    -Hey, let's join the "Mile High Club"; let's fuck right here!

    -Are you crazy? With all those people watching?

    -Oh, never mind, they're all asleep, let me show you!

    He stood up and said loudly:

    -Please, anybody here got a cigarrette?

    Since no one answered, the other one agreed to fuck in the airplane cabin.


    A half-hour later, a flight attendant went around the cabin checking if everything was OK, when she noticed an old man who was shivering from cold. She brought him a blanket and said:

    -Here, mister, you don't need to be cold, just ask and I'l bring you anything you need.


    He answered,

    -Look miss, a young man there asked for a cigarrette and someone came and fucked his ass. What do you think he'd do if I asked for a blanket?!

    1. Re:An Old Joke by Anonymous Coward · · Score: 0

      I'm not sure I entirely get this one. Cigarrete -> Ass Fuck, Blanket -> ??

    2. Re:An Old Joke by Anonymous Coward · · Score: 0

      snuff fuck

  103. Re:Huh? I don't get the fears.... by Ionizor · · Score: 1

    Yes. You have to have an Engineering degree to become a P. Eng. You have to first be trained as an Engineer before you can be allowed to become one professionally. (Makes sense, yes?)

    Computer Engineering's focus is profoundly different than Computer Science's.

    --

    --
    Todd's Law: All things being equal, you lose!
  104. Re:Unfortunately you are preaching to the wrong cr by Ars-Fartsica · · Score: 2

    No "certified" software engineers work anywhere, there is no certification. Thats the whole point of this article.

  105. The sheer fact ... by gstoddart · · Score: 1

    that the site is slashdotted pretty much sums up the "body of knowledge". =)

    --
    Lost at C:>. Found at C.
  106. Re:Passing a test does not make you a good enginee by Ionizor · · Score: 1

    I think you're missing the point. It's not about programming, it's about design. You can't be an Engineer unless you've been trained as an Engineer.

    The test has nothing about programming. The test is about ethics, professionality, creativity, and competence. They aren't testing your abilites.

    Look at the Professional Engineers of Ontario website.

    Source code has nothing to do with it.

    You cannot become a good Engineer by experience alone. You can't learn good design by looking at other peoples' source code. You need to be able to turn a critical eye on the structure of your program.

    A well engineered program does the following, in the following order:

    Input

    Calculation

    Output

    That's it. All the subroutines follow the same model. You can't learn proper structure by experience alone.

    --

    --
    Todd's Law: All things being equal, you lose!
  107. Re:Unfortunately you are preaching to the wrong cr by Anonymous Coward · · Score: 0

    Don't try to dodge the question. "Certified" in quotations meaning do you think Microsoft doesn't hire people who would pass the "certification" if one was available. Do you think the Microsoft software would suddenly become high quality if these people were "certified"?

  108. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0

    Please define what is Computer Science.

  109. That's not all. by Nindalf · · Score: 4, Interesting

    First you need that Engineering degree, and they are really nasty about transferring credit or allowing courses to be challenged. Basically, figure at least 3 years as a full-time university student if you already have very relevant training.

    But then you need 4 (IIRC) years as basically an apprentice, working full time under the direct supervision of an accredited engineer. Naturally, this is, "We can end your career before it even begins!" internship-type employment.

    So we're talking about a bare minimum 7-year investment (more likely 8 or 9) before they'll even look at you. These restrictions have been tightening up, requiring larger and larger investments in time, over the last decades, and I expect it to continue in this manner.

    It seems to me that all of our professional organizations are slowly becoming old-fashioned guilds, organized less for the benefit of the general public and more for the members. Organizations in which one doesn't become a full member who can work unsupervised until middle age, assuming one commits oneself in one's youth. They already have the protection of government, so entrenched that nobody ever seems to suggest weakening their monopolies.

    Do we really need a Bar Association? Do you think lawyers are more ethical, more beneficial to society because there's a government-granted monopoly to its members on arguing the law on others' behalf? Do you think your area's medical association is doing the best possible job producing competent, efficient doctors with no competition or alternative of any kind?

    How many professionals are just wielders of required rubber stamps? How many brilliant young potential innovators are slowly crushed into mediocre clock-watchers, who have been shown again and again that putting your time in, looking respectable, and covering your ass pays off better than doing your job well and advancing the state of the art?

    I think that far too few people question the value, competence, and good faith of professional organizations. They're just accepted as natural features of a well-run society, assumed to be the best interface to highly specialized skills without an active evaluation.

    I look at them, and see the gradual calcification, then downfall of our society. I see never moving beyond asphalt roads and cars that move at 60 MPH, never moving a viable population off the planet, never extending the average human lifespan beyond 100 years.

    I hate to see people talking about moving this kind of influence into software. It's one thing to run competing private organizations that certify certain skills, it's quite another to start legally requiring certification from a particular one, giving it monopoly status. Let alone ceasing to question whether it should keep that status.

    1. Re:That's not all. by Anonymous Coward · · Score: 0

      My god, that was by far the dumbest comment that I have ever read on slashdot.

      "I look at them, and see the gradual calcification, then downfall of our society. I see never moving beyond asphalt roads and cars that move at 60 MPH, never moving a viable population off the planet, never extending the average human lifespan beyond 100 years."

      And what exactly are you doing to change this? Writing Open Source software? Please.

      Professional accreditation organizations are there to guarantee a minimum level of competence for the accredited people qualified in their field. Do you really want a lawyer that doesn't have this minimum level of competence? A doctor? What about the civil engineers who design the buildings you live and work in?

      They're not evil, they're not out to stiffle innovation and "calcifify" our society.

    2. Re:That's not all. by Nindalf · · Score: 2

      Professional accreditation organizations are there to guarantee a minimum level of competence for the accredited people qualified in their field. Do you really want a lawyer that doesn't have this minimum level of competence? A doctor? What about the civil engineers who design the buildings you live and work in?

      How about a cook? A car driver? A janitor? A construction worker? Any of those could kill you with their incompetence. Do they spend 8 or 10 years in training, supervised work, and examinations before they are allowed to work on their own?

      The risk is managed because both they and the people who hire them are liable for any consequences of their incompetence. It is possible to verify skills without a government-granted monopoly on certification.

      A decade is too much for a minimum-cost verification of competence, that's practically a lifetime committment. It's hard to recognize competence in such involved fields, but not that hard. In this case, for example, only recently they doubled the experience requirement. Were the previous engineers incompetent? The fact is that the existing members had nothing at all to lose by extending the experience requirement, though this was clearly (through long precedent) not necessary to ensure "a minimum level of competence," as you put it.

      The problem is that we give these organizations free rein. They are assumed both ideally competent and to be looking out for society's interests. They are never cut down to size when they start stepping on people's toes in areas where they've never been needed before, or when a field is so developed with other specialized workers that they are reduced to placing their seal on a job already done, instead, their influence constantly grows by tiny increments, until you see such profound idiocies as needing to hire an engineer to verify that your lawnmower shed is structurally sound before you are allowed to build it.

      They're not evil, they're not out to stiffle innovation and "calcifify" our society.

      Perhaps one day you will understand that sometimes ostensible intention is not the same thing as effect. Nobody writes laws intending to make things worse, but there are bad laws.

    3. Re:That's not all. by Pig+Hogger · · Score: 2
      Professional accreditation organizations are there to guarantee a minimum level of competence for the accredited people qualified in their field. Do you really want a lawyer that doesn't have this minimum level of competence? A doctor? What about the civil engineers who design the buildings you live and work in?
      How about a cook?
      My grandfather won a medal during WW-II, for saving the life of 200 men.
      He killed the cook.
    4. Re:That's not all. by sigwinch · · Score: 2
      But then you need 4 (IIRC) years as basically an apprentice, working full time under the direct supervision of an accredited engineer.
      There's more: you are often required to have worked under several different PEs. If your employer doesn't have enough PEs, you have to resign and go somewhere else. (Note: job hopping in your first few years of employment is a career-limiting move.)

      The PEs you work under have no obligation whatsoever to provide you with references. If they did give you a reference, you'd be able to take work away from them.

      It seems to me that all of our professional organizations are slowly becoming old-fashioned guilds, organized less for the benefit of the general public and more for the members.
      Here in Oklahoma (United States), you are absolutely prohibited from doing *anything* that requires engineering-oriented technical knowledge unless you have a PE. This includes Radio Shack electronics kits, serving as a teaching assistant for a university engineering coures, operating a ham radio, *anything*. It doesn't matter if you aren't selling services to the public, or even if the engineering work has no conceivable effect on the public. Even just thinking engineering thoughts is probably illegal. The statute is very explicitly all-encompassing.

      At the same time, you are absolutely prohibited from getting a PE unless you practice engineering beforehand. It's a beautiful catch-22 that gives the Engineering Guild -- let's call a spade a spade -- unlimited discretion to declare anything illegal and take pretty much any action they want. If they let you in, and later decide they don't like you, they can always go back and declare your pre-PE work unlawful and yank your license. The overall impression is one of banana republic corruption, except that the actions aren't even pro forma illegal.

      How many brilliant young potential innovators are slowly crushed into mediocre clock-watchers,...
      And how many flee to free states where they can talk about their jobs in public without fear of being arrested?
      I think that far too few people question the value, competence, and good faith of professional organizations.
      I think that the "professional" organizations are run by savvy politicos who know better than to attract the attention of the public, instead preferring to sneak around in the shadows. They can curry and maintain unlimited power because they are very, very discrete in exercising it. It's the usual power grab: make everybody a criminal with broad yet nebulous laws, then be very selective about prosecuting. The subjects' fear then rules them more effectively than any amount of draconian enforcement.

      It seems to me that recognizing the situation for what it is gives you extreme leverage. Simply file fifty or a hundred thousand lawsuits against the critical employees of the state's industries, alleging product liability and danger to the public since they don't have licenses. Write scare letters to all their suppliers and business partners informing them of the malpractice and making vague, scary pronouncements about vicarious liability. If you do it thoroughly enough you can basically kill the economy overnight, scare all practicing engineers shitless, and piss off the general public in a major way. You probably wouldn't win with this technique, but at least everyone else would lose too.

      I look at them, and see the gradual calcification, then downfall of our society.
      Hear, hear! I don't actually know how the average age of PEs has changed, but I suspect it is rising rapidly, and I've heard anecdotes that certain jobs (e.g., power utility engineers) can't find PEs to fill the jobs.

      Personally I'd like to see licensing optional for all things that don't directly affect public safety. Sure, the gov't ought to require experience and skill for things like bridges, utility power lines, steam boilers, nuclear reactors, and so forth, but private citizens and businesses ought to be able to hire whatever level of competence they prefer. The PE registration could be operated as a gov't service mark and people who falsify it could be prosecuted with existing trademark laws. Other organizations, like the IEEE, could create their own certifications and requirements as they deem appropriate. I think a license like "IEEE Master Engineer (Radio Communications)" would be a hell of a lot more useful to clients than a generic PE license.

      I have little hope of seeing a rational licensing system in my lifetime.

      --

      --
      Kuro5hin.org: where the good times never end. ;-)

  110. After the Gold Rush by bokmann · · Score: 1

    I am surprised that noone in this thread has yet mentioned the book 'After the Gold Rush'. I suggest every serious software engineer read it. Whether you love or hate the idea of licensing people as 'engineers', the book gives you a lot of food for thought on the subject.

  111. CS vs ENG by IcyWolfy · · Score: 1
    Well, in Canada, Software Engineering is considered an offical branch of Engineering. But this does not apply to simple programming. From what I was able to read from the reccomendation (which was too long and dry to actually read in detail), was that they are merely proposing a structurized method for software creation. And this wouldn't make in Canada as this appears to fall under Computer Science.

    The provincial Engineering boards here are (more or less) clear on the fact that Computer Science is not Software Engineering. The Engineering designation implys that you are competent in the foundations of general Engineering disaplines -- the foundatations of Mechanics, Physics (including mixed system behaviour) Chemistry, Statistics and Calculus, Safety protocols, Electric Circuits and systems. To be an engineer means that you have specialized in a particular field, but have basic knowledge in each of the other fields.

    I personally disagree with the article posted in that it is indeed implying that if you can program, and organize a project, that you should be called an Engineer, when indeed you merely have a background in Computer Science. There is a reason why the two programs co-exist -- computer scientists have a more in depth knowledge at what they do, they focus even more on the project and realization of that. Software Engineers (supposedly) have a large amount of knowledge about software design and realization in various languages, but also in hardware and custom aspects that may vary how the software should be devloped. In my opinion: I think that the heirarchical structure of having the Engineering team initially model and study the problem at hand, and using the techniques learnt, begin to form a solution to the task at hand, how to lay it out, acknowledging possible coding problems and/or other complications that may arise, and initiating , delegating the tasks and keeping them on schedule -- but leaving most of the indepth coding and realization work to those in Computer Science, since that is what they have went out and learnt to do.

    This seems to have turned out slightly more rant-y than I had anticipated, but the exhaultation of Computer Science into Engineering shouldn't be done mearly because they are creating. And that because people in the US are calling themselves "Software Engineers" (which in Canada would be illegal unless they are actually a P.Eng) that shouldn't mean that their Computer Science background should qualify them as an Engineer nor that the Engineering society should embrace this fad and officially recognize those individuals as Engineers.

    1. Re:CS vs ENG by sys-eng · · Score: 1

      I don't believe that most states in the USA recognize Canadian engineering licenses.

    2. Re:CS vs ENG by masterplanorg · · Score: 1

      That is because most US states are years behind Canadian provinces in their accreditation and portability processes.

      The Canadian Council of Professional Engineers has Mutual Recognition Agreements in numerous forms - with ABET, through the Washington Treaty, through compliance with NAFTA mobility requirements.

      In any case, most Professional Engineers, while licensed, practice under the Permit-to-Practice of their employer.

      --
      The Master Plan Always Fails
  112. Accountability is key ...... by Samuel+Nitzberg · · Score: 2, Insightful

    I think that there are significant problems with relying on legal issues or tests alone for establishing or maintaining requirements for software developers, coders, managers, database people, etc...

    There are a number of theories regarding why software fails. There are many studies, papers, etc... I have even been involved in a few of them. I don't know of any study or organization who feels that - at the very heart of the problem - is a shortage of licensing. At best, some sort of licensing -- might -- be of some benefit, but I don't believe that should be the first or foremost solution towards addressing software quality problems.

    Many years ago, Scientific American magazine had an article on software; this article cited complexity as the reason software fails. I disagree. There are arguments about how complex software is - the difficulties associated with testing all computation branches and [execution] flows through a program (exponention, NP-C problems), testing software and module linkages, data typing and related matters, and many other issues. My experience and understanding is that most software problems relate to poorly thought out requirements, poorly documented changes, work done under time pressure, and a host of what I will call "fundamental" failings from software developers.

    I think that advanced training in software - degrees with math components, and formal software engineering training can be genuinely helpful. A great problem is organizations that do not know or care about the consequences of flawed work going out the door.

    Ultimately, with or without any form of licensing, I see one major step that would help software quality - ACCOUNTABILITY. There must be legal liability for software that doesn't work, or is purely dangerous. The onus must be on the producers of software to do the job properly.

    I know software can be large, and can be complex - but it also often sloppy, poorly thought out, and problems are considered post-release headaches.

    My presentation at H2K (Hackers on Planet Earth, 2000) addressed some of these issues. The presentation focused on Ethics in Military and Civilian Software Development. You can find this online from http://www.2600.com, and then following the link to the presentation. I have other papers that discuss this and related issues, also on my web site.

    Sam Nitzberg
    sam@iamsam.com
    http://www.iamsam.com

    1. Re:Accountability is key ...... by Sloppy · · Score: 2

      Ultimately, with or without any form of licensing, I see one major step that would help software quality - ACCOUNTABILITY. There must be legal liability for software that doesn't work, or is purely dangerous. The onus must be on the producers of software to do the job properly.

      If all software were like that, then Yes, software would be better, but it would not be affordable. Legal liability should simply be an extra-cost option. And to do that, we don't need to require any new regulations; we just need customers to use demand appropriate contracts (which they will pay for), or maybe a special type of insurance. That way, the software that controls your neutron control rods can be written by engineers who will be accountable and stand behind their work (and have spend ten times as much time as normal, testing and re-reviewing the code), and your desktop menu utility is allowed to be inexpensive (but possibly defective).

      What's wrong with that?

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  113. Re:Unfortunately you are preaching to the wrong cr by Ars-Fartsica · · Score: 2
    Do you think the Microsoft software would suddenly become high quality if these people were "certified"?

    Firstly, I made no claims of my own regarding the quality of Microsoft code. That said,Microsoft software has improved. Drastically. Its the crap they've had on the market for ten years that is the source of angst.

  114. Re:Creating Software is not Engineering by Dacmot · · Score: 1

    Creating Software is not Engineering

    Not true. That's a generalization that doesn't apply to even *most* cases. Creating software is not only coding I think would be a more appropriate statement.

    One application of software that *REALLY* needs engineering is mission critical software. Software that controls missiles, planes, sattelite, shuttles, pace makers, medical equipment, nuclear reactor control systems, etc.

    Without rigourous engineering, logic proofed specifications (using theorem provers like PVS or IMPS) and structured design from requirements to implementation where the implementation agrees with the requirements, and some other fundamental software concepts that I forget, it is practically impossible to design mission critical software without knowing for sure that it won't break. As my teacher often say, testing will find bugs, but it doesn't prove that the software doesn't have bugs. Only formal verification can do this.

    Two examples where proper software engineering could have saved a lot of money:
    1. Intel's first 586 pentium chip bug that couldn't divide properly every once in a while.
    2. Ariane space rocket that had to be destroyed because of improper type checking in the software.

    The kind of software that controls those needs engineering because large amounts of money are involved and sometimes humans lives depend on it.

    And I don't want to put down computer science, but CS people don't often get the engineering education required to be able to design this kind of software. And that does NOT mean they don't know how to code. Which brings me to the point that software engineering certification shouldn't be given out like MSCE. It's like asking a construction worker to design and supervise building a bridge.

    If bridges, buildings, planes, cars, etc. need engineering, why software made to make run planes, neuclear reactors, pace makers, etc. wouldn't?

  115. seems like a bad idea to me by vscjoe · · Score: 1
    Software development technology keeps changing so rapidly, faster than any standard can adapt, that I think it is wrong to try and enforce any standards just yet. We would risk prescribing practices that will just look ridiculous a few years down the road, or, worse, we would discourage people from trying different approaches. Other engineering disciplines had decades and centuries to develop their standards.

    Pretending that "software engineering" is "engineering" also doesn't make it so. Most of the practices described in the document are popular in only a narrow segment of the industry. Teir use is not supported by any credible, measurable quantities. Nobody really understands where and how software engineering is practiced in the real world.

    Creating a voluntary "IEEE certified software engineer" program may not be a bad idea--it would be like an "MCSE" for a different market segment. But making a program like this mandatory for software development or computer science education would be a very bad idea, in my opinion. Most of the software we use today would not exist in any form if SWEBOK practices had been in place over the last few decades.

  116. submit by daevt · · Score: 1

    so the idea is that if software engineers have to be licenced, then when i want to do some softwaredesign, i must pay somebody a shit load of money to wave a wand over my haed and say "you are a enjinear now!."

    forgive me, but forcing people to need a licence to write anything was something a brought up a long time ago because i thought it was rediculous. now people are seriously saying that we should licence speech?

    the idea of a standard repository would not be a terrible idea. iw ould love to see something like this, but heres is how i would want it done:

    1. no BS membership, knowledge should be free. its not like they will have paid people for the knowledge, so i can't be expected to pay either, not even if the payment is in the form of my email address being sold.

    2. it needs to be set up properly. cross-referncing language specifics stuff with fundimental concepts, and rudimentary ideas.

    3. easy to navigate on any browser. those who do not have J. Q. Webmater's favorite browser should not be excluded. remember lots of blind people rely on text browsers.

    4. it must be maitained. on a volenteer basis (so that it can never be shut down with any ease), people should maintain the information contained. its no goodif its not up to date.

    5. it must play music from my favorite early 80's video game while i'm at the page, but only when i'm in a good mood.

    my gut says this is another really cool idea that will either never happen, or be perverted along the way for the sake of money.

  117. Oh really? by Anonymous Coward · · Score: 0

    Are you sure you know what this program does?

    You haven't specified your assumptions, your the libraries you've linked to, the memory size of the system you're running on.

    I can guarantee that that program will behave differently if you're running it under:
    * Unix (executes silently)
    * Windows NT (briefly pops up a window, if you run it from the GUI)
    * Windows 95 (pops up a window and doesn't go away until you press cancel)
    * A debugger (stepping through)
    * a system with low memory (the program may dump core)
    * a system with a virus protector (first the virus scanner will run, check that the program is okay, then execute the program)
    * ...

    Also, same pre-ANSI C compilers either refused to compile "int main(void)" or gave an unexplained stack alignment error because main() was assumed to always an argc and argv argument.

    I could easily fill up a book, just specifying the possible real world behaviours of that program.

    1. Re:Oh really? by Ismilar · · Score: 1

      ...but what about the bridge? Is it being built on rock? on clay-based soil? is it in a rainy climate? Might it need to withstand a hurricane?
      What is going to be travelling over the bridge? How often will things be travelling on the bridge? What will be travelling under the bridge?

      There is still a lot more analysis to be done for the bridge than there is for the program.

    2. Re:Oh really? by Anonymous Coward · · Score: 0

      Yes, but they were building bridges 4000 years ago. Knowledge about what works and what doesn't is time-proven. The basic design of a bridge really hasn't changed that much during that time.

      Software, OTOH, just started to become a profession less than 50 years ago. The basic design of a program has changed dramatically in the last 50 years. Heck, I'd go as far as saying that it changes dramatically every 10 years with significant changes happening every 3 years. How can you build up a reliable *engineering* field under such dramatic change?

  118. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0
    Unfortunately, you are quite wrong here. You do not have to have an engineering degree before you become an P.Eng. If you want to be a P. Eng in Ontario you have meet the requirements set forth by the PEO these requirements are listed at www.peo.on.ca/Registration/howeng.html and specifically regarding the education of an applicant, the requirements are listed at www.peo.on.ca/Registration/education.html.

    So if you have an engineering degree that from a program accredited by the CAEB you only have to take the Profesional Practice Exam and meet the experience requirements. If you have another undergraduate degree or other education you have to take a lot more exams as determined and set by the PEO.

  119. Computer Science _is_ Mathematics by Anonymous Coward · · Score: 0
    > In early days the Computer Science was considered as a part of Mathematics, which is plain wrong. Creating Software in fact is a...

    Your conjecture is incorrect. Computer Science is a large branch of Mathematics--notice how in almost every university CS falls under the faculty of Mathematics. Computer Science is generally not about "creating software," but rather understanding and analyzing algorithms and examines the theories of computing. Those who have received a CS degree or a pursuing one now that there is a strong emphasis on Mathematics. The goal of which is to sharpen your problem solving skills and give you relavent techniques for creating new algorithms or analyzing old ones.

    Computer Science can be an art just mathematics can be an art.

    -hgh
  120. Certified? Insane! by wytcld · · Score: 1, Troll

    Software increasingly is everywhere. Everything, increasingly, is programmable. Use is programming. Do we want a world where our household, let alone office, devices say politely, "Sir/Madam, I've just scanned your national ID, and you are lacking the qualification to issue that last command"?

    We've already got pragmatic boundaries in place - most VCRs, famously, will not accept programming from common users. So it is with all complex systems - most folk can't make 'em do much. Which is why anyone who can can make decent bucks from doing so. That pragmatic test is plenty - burdening the economy by disqualifying and locking out people who otherwise are capable of charming our devices into productive behavior is lunacy - except for the priesthood who would be on the inside, and hoard the power of their certifications, while leading us into the twilight of eternal Microsoft.

    Yeah, too melodramatic ... still, it's like requiring a certificate in "kitchen engineering" before you can cook your family dinner. And don't bring up the certificates in food preparation required of restaurant operators - most of their kitchens are filthy anyhow - it's a false security.

    --
    "with their freedom lost all virtue lose" - Milton
  121. Perspective of Canadian Software Engineer Student by lnical · · Score: 2, Informative
    I'm currently enrolled in a Software Engineering program at Lakehead University in Canada. The Software Engineering program is undergoing examination by the Canadian Engineering Accreditation Board (CEAB) If the program is approved and work for four years under a qualified Professional Engineer, I too can be come a Profession Engineer in Software Engineering.

    I was speaking to one of the members of the CEAB who visted LU on Monday. He recieved his P. Eng designation first in Electrical Engineering then later in Software. He said that the purpose of the Software Engineer should be for critical systems, namely those that if the fail, would put people in danger. The same as Electrical, Chemical, Mechanical or Civil or other Engineering professions.

    This doesn't mean that only software engineers can work on such projects. It means that before the software is used it must be approved or 'stamped' by a Software Engineer with a P. Eng designation.

    This is not currently required by law in Canada (AFAIK).

    Again, this doesn't mean that all programs have to be written by software engineers, or approved by engineers. It is just proposed for software that is life-endangering.

    For more information:

    P.S. Education alone does not an engineer make! It is the combination of education and engineering.

    P.P.S It is also possible to become an Professional Engineer without attending an accredited program. Several requierments must be met but it is possible.

  122. Mod Parent Down by Anonymous Coward · · Score: 0

    he is too sensible for /. :-)

    well said my friend.

  123. Re:Huh? I don't get the fears.... by xmedar · · Score: 1

    Having a well-established and well-respected (how is IEEE or ACM not well respected), *legally binding* set of standards will ensure that people who write sloppy and badly written software will be liable for their (in)action.

    I can imagine what would happen, M$ changes some DLL in one of their "updates" and breaks my code (like they did with Wordperfect), so I get sued into oblivion. My only choice then is to go and work for a company that makes enough political contributions (AKA protection money) so that I don't have to worry about it. Looks like M$ will be one of the few companies that will be able to "innovate" under such a regime.

    --
    Any sufficiently advanced man is indistinguishable from God
  124. hexadecimal! by Derek+Finch · · Score: 1

    will bastard routines like decimal float->binary floating point be included?

  125. We already have such a system by hugg · · Score: 1

    It's called the free market. Any project that desparately needs superior software will somehow find superior engineers to build said software. You don't often find a gaggle of JavaScript programmers running around building missile guidance systems, do you?

    Professionals get degrees because humans require their services, humans that need that assurance. Companies hire software engineers, they should be able to tell in an interview whether or not they're clueful (or subscribe to the interviewer's particular coding religion, which is another matter).

    And about that Software Engineering Body of Knowledge ... I'd like to add a node to that: If you're serious about a project, get some bandwidth for its web page.

  126. Proj Management Body of Knowledege - for SE by daveb · · Score: 2, Informative
    There's a lot of worry about all kinds of irrational things here - some people even seem to be saying that programmers won't be able to programme without having some kind of cert - absolute FUD!

    All the IEEE seem to be doing is codifying current 'best practices' in software engineering in a similar manner to the Project Management Institutes (ANSI std) "Guide to the Project Management Body of Knowledge"

    SE *is* project management as far as I've experienced it, or a subset. No-one with any sense would ever suggest that stds will prevent cockups in projects - but being totally ignorant of what many considers best practices will make you more likely to stuff things up.

    I really can't see why developers get so upset about groups trying to put up hand-rails and guidelines for managing large projects.

    If you're sitting coding up a wee access database for a mate or writing a little bash script to check your logs then you don't need them - but projects of a larger scale, involving many organisations and multiple teams DO benefit from guidelines.

    Dave

  127. Software Engineering not Engineering? by Anonymous Coward · · Score: 0

    I didn't know that software engineering wasn't engineering. I'm in my second year of a 4 year Software Engineering program, and as far as I know, everything about my courses makes it a real engineering degree. All my classes are through the engineerning faculty, and almost all my classes are with electrical engineering. Does this mean when I graduate my degree won't be recoginzed as formal engineering?

  128. Re:Huh? I don't get the fears.... by xmedar · · Score: 1

    Ok, I think eveyone needs to go and read The Halting Problem and Worse is better

    --
    Any sufficiently advanced man is indistinguishable from God
  129. Re:Huh? I don't get the fears.... by dearek · · Score: 1

    There's nothing wrong with taking apart your own radio, but if you charge someone to take apart their radio with the intent of fixing it you better know what you're doing. The purpose of certification is to separate people by their capabilities, the success of the certification program being that most people who are certified actually turn out to be competent as their certification claims.

    --

    "My name is Ozymandias, king of kings: Look on my works, ye Mighty, and despair!"--Shelley, "Ozymandias"
  130. No more licensing! by omnirealm · · Score: 3, Insightful

    That could then mean that licenses could be required to practice software development and that this could to regulation and other legal ramifications.

    No, no, no, no, NO, NO, NO!!! Keep the government AWAY from it all, for pity's sake! We don't want legislation to dictate who can and cannot write software. In my county, my wife and I are not allowed to cut each others' hair in the privacy of our own home. Because beauticians got together some time ago and petitioned the government to make it illegal to cut hair without a "license." To get a license, you have to go to a qualified beauty school and then spend so many hours cutting hair in professional, and authorized, salons.

    Of course, they then artificially limit the number of beauty schools that they allow to train for such licenses. The same thing happened in the medical profession. This sort of thing is routinely done by factional groups to pressure the government to create a stranglehold on the market, reducing supply and thus letting them charge more for their services.

    In the long run, it only winds up hurting us all by driving the price up while not increasing the quality of the services we receive. Do you really think that having an "official license" makes doctors better than they would be otherwise? Are "certified" Microsoft Engineers any more qualified to work with Microsoft products than the rest of us?

    Bad and good beauticians and doctors can be singled out by this little phenomenon called reputation. We don't need a piece of "official" government legislation to be mandated on all who want to enter the market in some lame attempt to make things better than they would be without the artificial intervention (do a search for "Adam Smith and invisible hand").

    Let anyone who wants to write software professionally, whether or not they have a degree, license, or whatever, and let the buyer beware. Let each entity build a reputation, and the market will pick the best man for the job.

    --
    An unjust law is no law at all. - St. Augustine
    1. Re:No more licensing! by BitterOak · · Score: 1
      In my county, my wife and I are not allowed to cut each others' hair in the privacy of our own home.

      And which country is that? Afghanistan?

      --
      If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
    2. Re:No more licensing! by Anonymous Coward · · Score: 0

      C-O-U-N-T-Y

    3. Re:No more licensing! by Pig+Hogger · · Score: 2
      In my county, my wife and I are not allowed to cut each others' hair in the privacy of our own home.
      (Just curious. Which country is that?)

      A study revealed that electrocutions are higher where electricians need to be licensed. Why? because cheapskates who can't afford an expensive licensed electrician.

      And that story reminds me that in my hometown, restaurants are not allowed to buy bread on mondays. Why? so the bakers won't be forced to work on sundays...

  131. Where do you get your definitions? by cookie_cutter · · Score: 1
    software engineering from an art into a science

    Engineering an art or a science?

    Engineering is engineering, separate catagory, and its a good thing. But its not science or art, regardless of how those might influence it.

  132. Software Engineering Program by Roger_Wilco · · Score: 1
    The University of Waterloo has a Software Engineering program that started this year.

    The greatest problem with having an accreditated program is that is requires the university to follow guidelines set by an external organization. This can be good, but when it prevents innovation and enforces scads of really stupid stuff it becomes most frustrating.

  133. Needing a licence to develop software... by Dwonis · · Score: 2, Offtopic
    That's what's going to happen. And it will be because of all of you lazy programmers out there. You know who you are.

    You're the ones who think that bug-free code comes from testing and debugging, rather from design.
    You're the ones who say "with today's processors, I can afford to waste resources here," not realizing that inefficiency accumulates.
    You're the ones who don't bother to make sure you're checking return codes properly, or checking them at all.
    You're the ones who spend more time programming and less time planning a large project.
    You're the ones who think there is such as thing as a "releasable hack", a "production-quality kludge."
    You're the ones who think open-source is immune to all this.

    You're the ones who will quickly dismiss what I'm saying, or nitpick me to death.
    I don't know why I bother.

    1. Re:Needing a licence to develop software... by nerpdawg · · Score: 1

      Yeah. People suck. Good thing you're around to tell them so. What bastards they are.

  134. Mutual Exclusion Syndrome isn't good for anyone!!! by Zero__Kelvin · · Score: 5, Insightful


    "On the surface this looks like a fairly boring document/process, but this is a major step forward - turning software engineering from an art into a science."

    On the surface viewing Software Engineering as all science and no art makes for boring documents and processes. When people are bored, they naturally don't do nearly as good a job. Indeed, the best Software Engineers have the science part down cold, but also have a natural instinct that is the direct manifestation of their artistic inclination. Art and Science are the Yin and Yang of Software Engineering, and to remove or diminish the role of either is to diminish the effectiveness of the software developer(s), regardless of which one you mistakenly choose to emphasize.

    If one wants to improve the overall quality of their software they must develop both their left and right brain. To shun one in favour of the other is folly. It is no different than strengthening one leg and cutting of the other in an attempt to be more mobile. Hopping around on that one remaining leg will certainly make it big and strong, but mobility will suffer almost detrimentally. I guess that makes it a major unbalanced hop toward the different, and less effective, not a major step toward anything.

    Perhaps these people have never heard of the Software Engineering Institute and the Capability Maturity Model? Then again, what do I know? I'm too artistic to be any good at Software Engineering ;^)

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  135. sure there is a need, but... by vscjoe · · Score: 1
    However I would think that there is a definite need for accredited software engineers for software systems that would pose a hazard to life or limb by their failure. A control system for an oil refinery, or medical equipment, for example are no place for feature rich bloatware that needs to be re-booted once a day.

    Sure, there is a need for software engineers that know how to build reliable software systems. Unfortunately, nobody knows how to guarantee reliability.

    Oh, lots of people are very vocal about their pet methodologies or pet languages, but that's not the same as credible validation of the approaches, or a careful cost/benefit analysis.

    There is a simple, free-market approach to ensuring software security: hold vendors responsible for faults. If Microsoft had to refund licensing fees when their software doesn't work, they'd be quick to improve its reliability. In areas where companies are exposed to significant liabilities, companies already are very careful with their software engineering methodologies and hire their employees accordingly.

  136. SE Field too immature by Anonymous Coward · · Score: 0

    The Software Engineering field is too immature for licensing.

    I've only found *1* paper that relates the traditional "Big-company" software engineering field to the open-source movement - and it was written by someone in the open source movement, not a traditional software engineer. The software engineering community is still stuck on 25 year old processes and economic frameworks developed at IBM during the mainframe days. The last thing I want is these "Engineers" writing licensing exams when they can't even keep up with frequent radical changes in the economics and development processes of software.

    When no new radical change in software development has been made for 10 years, then maybe you can license engineers - for airplane and medical equipment development...

    1. Re:SE Field too immature by abnormal · · Score: 1

      Seems like you're too 'immature'. Firstly, of course you can't find too many papers written from 'traditional' software engineers - there haven't been many around yet. And the whole point of software engineering is to create and apply principals that will work now and in the future. That is the goal of all engineering disciplines. Do you say that electical engineers should not use principals such as Kirchoff's Laws? Civil engineers not apply any of Newton's Laws?

      Engineering stresses safety-critical situations, mathematical verification, design processes, etc. Do a seach on Google for papers by the likes of Parnas, von Neumann, or Dijkstra. They've all been researching and developing software engineering principles long before computing as we know it today was even dreamed of.

      Just hope you don't end up in a crashing plane because some 'coder' didn't fully test their autopilot software.

      The software engineering field is long overdue. We need qualified individuals looking after critical software. Coding software is not the same as engineering software. The same, again, goes for other engineering disciplines. Why do we have chemical engineering when we got chemists? Why do we have electical engineers when we got physicists? The study of the science, is totally different from engineering of the science.

  137. This is a crock by Bobo_the_Chimp · · Score: 1
    What real benefit does the certification provide, other than barring entry to the programming field. I doubt it will have any effect on the quality of software out there.

    If I buy a house that isn't structurally sound and it falls apart, I can sue the engineering firm that signed off on the work.

    Forgive me if I sound incredulous, but I find it hard to believe that I'll be able to sue Microsoft if my OS crashes too frequently.

  138. Re:Huh? I don't get the fears.... by tps12 · · Score: 1

    Agreed. Bereaucracy doesn't make software engineering any more "real." I don't need a license, I don't want regulation. I will do whatever I'm hired to do, hire whomever can do the job, and in general figure things out on my own, without the "help" of the government or any other regulating body.

    --

    Karma: Good (despite my invention of the Karma: sig)
  139. Licenses? by certsoft · · Score: 0, Troll
    We don't need no stinking licenses (or badges).

    I wouldn't be surprised if this is just another money-making scheme from IEEE.

  140. You cannot think unless taught to. by HanzoSan · · Score: 1



    Bullshit. You dont need to go to engineers school to learn how to design. Theres the internet, theres a ton of open source projects, and a ton of very good software engineers who you can talk to, learn from, on your own, you do not need to go to school for this, pay money to do this.

    This is stupid to even think you need to do this. To build a house you need money. To write some software, or design it, you just need a good mind, and a good book along with some practice.

    --
    If you use Linux, please help development of Autopac
    1. Re:You cannot think unless taught to. by Grab · · Score: 2

      Maybe so, but you need to be able to devote the same amount of time to your studies as a full-time software engineer would.

      And who says that open-source projects are any good anyway? They may have good publicity, they may even work 100% of the time, but that doesn't make them good examples of software design. Nor is everyone who calls themselves a good software engineer actually worth listening to.

      To learn on your own, you'll need many, many good books. A lecture course is distilled from many books about recent advances, from history of the subject, and from the the lecturer's experience. How can you be sure, as a beginner, that there isn't some essential area you've missed?

      A doctor only requires a good mind as well, and an in-depth knowledge of illnesses and biology which can all be acquired from books. Your opinions on me offering medical advice without an MD after my name?

      Grab.

  141. It's good to find a hard engineer? Naaah by HKTiger · · Score: 1

    This sums it up far better than I could. There's one extra proviso, too, at least here in Oz: the professional bodies (eg IEEE) can *revoke* certification of a university course if they believe it no longer provides the appropriate level of knowledge and experience. So engineering degrees in general tend to be far more useful than many computing degrees, simply because a faculty that loses certification can lose students. Computing faculties that don't need to worry can do any old thing.


    And I don't think that cutting code == software design/development. After all, has anyone seen the piles of sh!te that undergrads can construct simply because they neither know nor care about inconvenient concepts like design (or testing. Or QA. Or documentation or commenting or ...). A certification process should ensure that all courses provide suitable exposure to rigorous design/testing/QA processes.

    Aaaaaand another thing: a certification might make being a geek a bit more sexy (in social terms). It would at least set us apart from all those "I use computers too" tossers who claim equal parity because they use M$Word...

    1. Re:It's good to find a hard engineer? Naaah by DGolden · · Score: 1

      There's one extra proviso, too, at least here in Oz: the professional bodies (eg IEEE) can *revoke* certification of a university course if they believe it no longer provides the appropriate level of knowledge and experience.

      Yeah - same in Britain + Ireland. It's very seldom that univerities do actually lose the certification though, since IMechE, IEEE, etc. send inspectors every so often and tell them if they're making the exams/projects too easy or whatever, before the situation gets to the stage where they'd have to consider de-endorsing the course.

      --
      Choice of masters is not freedom.
  142. MS runs the world. by Anonymous Coward · · Score: 1, Insightful

    I bet MS would support formal certification of software engineers before they could produce/distribute software. All of a sudden the idea of developing for an open source community would become cost prohibitive. The result, microsoft owns *all* the code. With as big as they are, you know who would write the engineering certification exam.

    Q: What is Linux and Open Source Software?
    A: A set of experimental and educational code not designed or intended for real-life use.

    Hmmm, seems like any sort of certification will either take too long to implement, or will be yet another massive MS joke.

  143. Too much process, not enough content by Animats · · Score: 4, Insightful
    Those documents are about process, not engineering content. There's a strong bias towards a waterfall approach (first the requirements, then the design, then the code). They're really documents on how to manage.

    The Association for Computing Machinery withdrew its support for this SWEBOK effort, after deciding that their approach to licensing practioners was inappropriate. So this probably isn't going anywhere.

    In comparison with other engineering disciplines, the real problem is that we don't have a good handle on how to build software with huge safety margins so that it doesn't need to be engineered.

    This seems confusing, until you look at, say, structural engineering. If you want to build something, there are standard handbooks that will tell you how to build something that's much stronger than it really needs to be, but won't fall down. That's how most houses are designed. Only when you get into more complex construction (steelwork, arches, laminated wood beams, etc.) do you need a licensed professional engineer to sign off (literally) on the blueprints.

    We don't explicitly make that distinction for software. With fifty years of computing behind us, it may be time to do that.

    A good place to start would be control software for anything with more than some minimal amount of energy. (For example, programming a VCR control CPU wouldn't require certification, but a garage door opener control would.) We could then go on to, say, software that handles the money of others, and perhaps to networking software that can affect more than 100 users at a time.

    A formal distinction of which software matters and which doesn't is the first step. The industry needs to take that step.

  144. Software Engineering by Anonymous Coward · · Score: 0

    To read more on Software Engineering,
    you can visit Software-Engineer.org,
    the community web site for Software Engineers.

  145. Re:Passing a test doesnt make you a good programme by ergo98 · · Score: 2

    Being trained as an Engineer makes you a good designer of systems, no matter what type of system you're designing.

    Hooah! This is one of the funniest things I've read in a long time. I have worked with a lot of extremely talented Professional Engineers, and a lot of them I have great respect for. I have also worked for horribly incompetent PEs that have IQs teetering on 100, and have a complete lack of attention for details or what's important. This idea that Engineers are some super discipline is absolutely proposterous: They're just students who took the 5-6 year option rather than the 4 year option, sometimes because they want to parade around going "I'm an Engineer and my title is legally protected".

    Software quality is dictated by the process, not by the person. Tell me that your system is a CMM5 system using the IEEE 12207 standard in a 9002 (or whichever one applies) setting, and that you have code review, proper test cases, etc., and THAT tells me whether you have quality code. Telling me that the guy who typed in the initial lines is an Engineer is an absolutely racket and is absurd.

    The whole "engineer" designation is nothing more than a protection racket (I'm saying this as a member of two of the groups that have come up during this discussions): It's a way to raise the barriers to entry to say "Oh that guy who has designed 4 fantastic, robust systems in less time than we sat around and scratched our asses sure can produce, but it's not engineering production!". It's job security for those who have gotten an engineering designation. It's absolutely, positively absurd. An individuals knowledge in software development, no matter what their designation, will always be a tiny iota of the industry whole knowledge, making this field totally unlike any other that has come before.

    The IEEE rocks, but they should give up on personal certifications (unless they are "no barrier to entry" certifications. I want to know what someone can do, not how much they have martyred themselves) and stick to making standards that make better software quality through better processes and systems.

  146. Engineering is not science by richieb · · Score: 2
    Engineering is not science. Engineering uses science, if it is available, to accomplish it's goals. Here are some relevant quotes. First from To Engineer is Human:
    Structural engineering is the science and art of designing and making, with economy and elegance, buildings, bridges, frameworks, and other similar structures so that they can safely resist the forces to which they may be subjected.

    And the second from the current (Nov 19) issue of The New Yorker from an article about the chief structural engineer of the World Trade Center:

    "It is a tremendous responsibility, being an engineer," he said, his voice breaking. "It's a very imperfect process. It's not so beatiful as science."

    But my favorite quote about engineering and science is the one that says:

    A scientists discovers what is, an engineer builds what never was.

    ...richie

    --
    ...richie - It is a good day to code.
    1. Re:Engineering is not science by sys-eng · · Score: 2, Informative

      Engineering -- the application of science for the benefit of man.

  147. Too Many Vested Interests, Too Many Uncertainties by carlfish · · Score: 4, Insightful

    What worries me most is what you see on the front page of the site, namely the logos of a bunch of companies like Rational, Construx and SAP, who have vested interests in software engineering processes. If the committee goes away for a couple of years, comes back with a carbon copy of the Rational Unified Process and tells everyone they need to buy Rational Rose to get a certification, I'm going to be more than a little annoyed.

    The basic problem is that there is simply no consensus in the industry as to what constitutes "good engineering" in software, beyond a certain very basic level. We're a very, very young discipline, and unlike structural or electronic engineering the mathematics does not exist to prove what we are doing is right.

    In the absence of any real proveability in our craft, all you can do is make broad pronounciations, and then quibble about their interpretations. You can say "testing is good", but you'd never get a room full of programmers to agree whether test-first programming is better than testing completed code, and nobody's yet been able to determine which is more efficient under which circumstances. Similarly, you can say "well-designed code is good", but who's going to moderate the dispute between the CMM waterfall three month design phase group, the moderate Agile "design the module just before you code it" group, and the eXtreme "design is something you achieve as a by-product of merciless refactoring" party.

    I have little faith in the mission of this group, as I can't ever see it coming up with a satisfactory document. Either the qualification for being a software engineer will be so broad as to be useless, or (more likely) it will mean that the industry will continue on as it always has, we'll just go back to being called programmers, and spend our time scoffing at certified "software engineers" as followers of an arcane, broken methodology.

    Charles Miller

    --
    The more I learn about the Internet, the more amazed I am that it works at all.
  148. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0

    ...Am I the only one who doesn't get this?

    Yeah -- it certainly looks that way.

  149. Try passing the NCEES exam by ScottBob · · Score: 1

    However, what if there's a non-commercial certification process. Run, not by RedHat or Microsoft, but by a vendor-independent group of engineers. You prove to them that you are a capable engineer/programmer/whatever. They give you a certificate that actually means something. Perhaps require the certification to be re-written every N years.

    There already is such a certification process in place, it's the National Council of Examiners for Engineering and Surveying (www.ncees.org). They're the ones that administer the Fundamentals of Engineering (a.k.a. Engineer-in-Training) and the Professional Engineer examinations. This is the biggie all civil, mechanical, electrical, etc. engineers have to take every 5 years to keep their licenses current. The FE and PE exams are written by engineers for engineers. Engineer licenses aren't granted by NCEES, but the exams administered by NCEES are accepted by most licensing boards much in the same way the SAT or ACT is standardized and accepted by most universities.

    The way NCEES exams work is the test is given in two 4 hour sessions, one in the morning and one in the afternoon. The first part is 120 questions in multiple choice format that are inclusive for all engineering disciplines. There is an equal mix of basic chemical engineering, electrical engineering, mechanical engineering, civil engineering and a bunch of math and physics related questions. The afternoon half is 60 questions and is discipline specific, e.g. EEs take the EE specific exam where the test goes into much more depth. There are some computer programming questions in the electrical engineering portion of the test, but they're generalized and non-platform specific; e.g. pseudo code implementations of simple things, such as sorts and machine language loops.

    If software engineering is considered "real" engineering, NCEES will probably pick up the testing end of the certification process, but then software engineers will have to do what all other engineers do and take engineering courses outside their major, just like MEs, ChEs, EEs, etc. do. Then they too can sit through the same dreadful 8 hour long motherfscker of a test all the other engineers take.

    A better solution would be a NCEES style exam where the first half tests knowledge of things that should be common to all software engineering, such as familiarity with Windows, unix-like OSes and Mac platforms, networking, programming fundamentals, language syntax, basic algorithms, etc.; and the second half would be more specific such as embedded systems programming, network engineer, graphical user interfaces, or whatever. The exam would of course have to be written by software engineers for software engineers.

  150. Mod this up by ergo98 · · Score: 2

    I have never before written a lame "mod this up" message but this message is one of the most truthful, profound posts I've read on Slashdot in a long, long time.

    The philosophy behind governing and certifications boards is a noble and reasonable approach presuming it was done right, but exactly as this message and the followup mentioned: How many times do you hear about an engineer being discredited, or a lawyer losing their license to practice law? How about doctors losing their license to practice medicine? The reality is that it is almost never (and only in the case of extreme negligence that is publicly known. For all of the talk of Engineers losing their certification I would love to see the numbers who actually have). These organizations exist to protect their members, not this absurdly ridiculous "protect the public" bullshit that hopeful PEOs are spouting on here.

    1. Re:Mod this up by papercut9090 · · Score: 1

      There are lists, and articles listing engineers who have been discredited. Published monthly for other engineers to know what happened. In the journal Engineering Dimensions (for Ontario, which is what we are talking about) there are blue pages in the middle of the issue, which list cases of engineering negligence and the punishment dealt to the neglectful engineers.

  151. Programming in Practice by richieb · · Score: 2
    This article by Robert Glass is relevant to this discussion: Programming in Practice.

    ...richie

    --
    ...richie - It is a good day to code.
  152. no by Ender+Ryan · · Score: 2
    It will be because of legislators who don't know what the fuck they're doing.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  153. Direct accountability... by Anonymous Coward · · Score: 0


    Direct accountability has been proposed in the past, probably many times. It is an extraordinarily bad idea that lets a corporation completely off the liability hook and puts it as a personal liability on the PE that stamped the design. Think about it. You are a PE, management says "stamp this or go the fuck home". Now you have a dilemma: stamp something unsafe as safe, or lose your job. If it fails, you lose your job anyway, and may lose your licensing, house, car, etc (personal liability remember). Corporations exist as limited liability partnerships for a reason. Holding salaried employees personally responsible is a colosally bad idea. Even from the consumer side, would you rather sue a corporation, or some poor schmuck that had a bad once?

  154. Bogus Bullshit by Anonymous Coward · · Score: 0

    None of you are real engineers, ha, loser, pay me money and I'll certify you! This is a scam, a very self serving scam, fight the theft of your freedoms.

  155. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0

    lol... anyone can MAINTAIN a system that is in place, for example your broken radio.

    Engineer means a person with inginuity. They think up new concepts and figure them out.

    Do you call your mechanic and engineer?

    Chris Ness
    Software Engineering II
    McMaster University, Canada.

  156. Re:I don't agree. by Lonath · · Score: 1

    I dont want software engineering to become some esoteric type of thing like quantum physics, or math, I want it to be something everyone can take part in.

    Too late, software IS math. When you write software, you're solving math problems. If you do software research, you're doing math research. It's a newer branch of math, but it will become just as esoteric with time.

  157. a better idea... by Anonymous Coward · · Score: 0

    require licenses for software users.

  158. Wrong, as usual. by pixel_bc · · Score: 3, Insightful

    That could then mean that licenses could be required to practice software development

    Sigh. No.

    It would mean you couldn't go calling yourself a Software Engineer if you're NOT, but nobody is going to card you trying to buy a copy of VC++.

  159. Big search spaces == art by rlglende · · Score: 1


    There is no area of engineering or science small enough to be a science. All require large sets of knowledge and experience. All have many dimensions in practice, and approximating an optimal design is equivalent to the search for large state spaces, i.e. NP-complete.

    However much science may be involved, the practice of computer science is selecting and applying heuristics. A fine definition of art, I think.

    Lew Glendenning

    --
    "The Constitution, the WHOLE Constitution, and nothing but the CONSTITUTION."
  160. software engineering -- tried and failed already by sys-eng · · Score: 2, Interesting

    Several years ago, many states attempted to enforce the laws on their books to require anyone acting as a professional engineer to be licensed as such by the state. As anyone who has ever achieved a Professional Engineering (PE) license can attest, there is no comparison between a PE and a MCSE. Comparing the exams would be like comparing middle school to college. The PE exams in most states are brutal. As far as I know, Texas is the last state to enforce the law as it applies to software. Many of the companies in "Silicon Valley" threatened to relocate of California enforced the law there. So, California (like many other states) changed the law to apply to structural and electrical engineering disciplines.

  161. S.E. is NOT about writing code by Tablizer · · Score: 0

    (quote) So because I have no university degree I'm suddenly considered useless? I studyed long and hard to change careers from banking (end quote).

    S.E. is NOT about writing code. It is about making software "change-friendly" or "maintenance-friendly". Writing code is easy in comparison. Future-proofing is tough.

    (begin rant)

    I just hope that more scrutiny is given to BS and cliche-driven hot-air methodologies like OOP.

    oop.ismad.com

  162. one reason for Professional Licensed SW engineers by sys-eng · · Score: 1

    By requiring a Professional Engineering (PE)license, the PE assumes liability for their work. Let us assume that a SW engineer wrote an application for the Fire Department to help them route their trucks to the emergency quickly. The program failed to understand the direction of one-way streets thus causing the fire truck to go the wrong way down a one-way street and causing a fatal accident. The SW engineer who put his engineering seal on the program would be liable for the death and $$ millions in damages. Fortunately PE's are usually bonded for several million dollars to protect them. A seat-of-the-pants, self-taught, hacker-tweaker, may not be insurable regardless of how good he is. The insurance companies who write the liability bonds will simply not take the risk on someone without a PE license. Without the PE license, the family of the deceased is simply told that, "Well, it was just a bug in some software. No big deal to fix." No big deal; someone was killed because of it.!!!! You could easily imagine a similar situation with a pharmacy dispensing medicine in error and causing death. I hope this sheds some light on the subject. For the record, I am generally against the PE license because the exams are much too rigorous and generally irrelavent to real world application of the discipline. For instance, an electrical engineer working in a electric generating station for the power company does not need to know how to design a VHF antenna. sys-eng

  163. Re:An Engineer's Viewpoint by technobard · · Score: 1

    As someone who has a degree in chemical engineering (and 7 years experience in the field) and who has worked in the software field even longer, the notion that programming is engineering doesn't quite feel right. It's an issue that has been around for a while and seems to resurface periodically. To be honest, it's just a name and in the grand scheme of things I don't really care if someone chooses to call themselves an engineer.

    However, the problem that a lot of "traditional" engineers have is that all engineering fields share a common set of courses. These core classes include more than mathematics and they are generally not part of the Computer Science curriculum.

    Computer Science is no less challenging a field than engineering, but just as chemistry and physics majors are not engineers, neither are computer scientists.

  164. Re:Software is not an engineering discipline. by sys-eng · · Score: 2

    And what about the software that causes the death and harm?? The hardware can generally do no harm without faulty software. What about faulty SW that allows a defective part to pass inspection and then fails -- causing death or harm? sys-eng

  165. Critical softaware should be validated by a pro... by Laser+Lou · · Score: 0

    Wouldn't you like to have the software your city uses in its 911 service certified by a professional certified by a board? How about the software that building engineers use? Surgical tools?

    I'm not saying that a license should be required for programming that kind of software. Instead, I think it should be a requirement that such critical software be at least validated by a professional before being put to use.

    --
    No data, no cry
  166. Re:Huh? I don't get the fears.... by uberdave · · Score: 1
    I once heard "Computer science is an exact science. Computer science is an experimental science."

    It is an exact science in that one can sit down and work out exactly what a computer is going to do. It is an experimental science in that most of the time it is easier to just run the program, see what comes out, and then figure out what happened.

    A software engineer will differ from a programmer in her/his diligence with:

    documentation: They will have specs and design documents in place before any coding is done.

    testing: They will test every function. Testing will tend to be coordinated, disciplined rather than haphazard. They will test functions after they make any changes.

    planning: A software engineer will map out data structures. They will work out a software design before they code anything.

    resource use: A software engineer will be able to tell in advance what the resource requirements of the code will be. (IE, each record is going to take n bytes, the algorithm will run in n*log(n) time.

  167. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0

    If you can't do Fourier transforms, solve partial differential equations, or drink a 6-pack in 2 minutes you are not an electrical engineer.

    In Canada we wear iron rings to inflict even more professional certification envy on computer "scientists".

  168. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0

    I didn't think it all took much ingenuity to drive a train. I think it mostly involves pushing a lever forwards and backwards, but I could be mistaken...

  169. Mod this up please... by untulis · · Score: 1

    The ACM arguably represents software professionals more than the IEEE. They were a part of this effort until it became too fanatical about certification, so it's not like it's a NIH situation.

    I would have added the link myself, but Mr. McBreen got to it first.

  170. SFWR Engineering by MCS · · Score: 1

    I'm going to try and reply to a series of threads here in one go.. so please I apologize for length.

    Actually a quick correction, there are currently three acredited programs in Ontario for software engineering. These are offered at McMaster University, Western and Ottawa.

    Waterloo started its program this year, and will be up for acredition (from my understandign of the CEAB (Canadian Engineering Accredition Board) the year of the gradutation class.

    So what makes software engineer? At McMaster where I attend, it is the idea of taking common engineering practises and incorperating it into computer science.

    Each school offers a different flavor due to the strength of their Engineering Faculty and Computer Science faculty. I currently attend the McMaster program and I'm sorry if this seems one sided.

    Our prgoram works due to karge part of Dr. Parnas, who has envisioned this feild for sometime. Another strong point of our program appears to be that a large portion of our professors have industry experince(Nuclear Plant Shutdown systems, the design of IMPS).

    One person mentioend that we should be sure to be using open source software in these programs. So far in my education, we've using nothing but opensource, and (suprise, surprise) slashdot is the default load page for our redhat lab. (I don't think our unix lab has a default load page currently).

    The biggest problem here at McMaster currently is the education of industry. IBM, SUN and NORTEL I believe understand the difference between a SFWR Enigneer and a CS grad.

    As the world shifts mroe and more to software, it's becoming that computer programing is more then an art. It's an art that needs to be drawn with the responsibility of a professional engieer.

  171. Soft Eng already being accepted in Canada by Tester · · Score: 2, Interesting

    I'm studying software engineering right now in Quebec and when my group finishes, if I dont fail too many courses, I should be among the first software engineers in Quebec. I think Ontario and other other provine are 1 or 2 years ahead. That menas that by 2002 there should be Software Engineers(tm) in Canada.. Btw, at least in my province, you cannot state that you are an eng. if you are not official eng. so MCSE's have to have a different name and everything. They are definetely not engineers.

    But right now, the only privilige that software engineers will have here is to be able to sign with a eng. at the end of their name.. Our names ;)

    Good luck to my American coleagues!

    Tester
    Student in Software Engineering at Polytechnical School of Montreal

  172. Why equate inexperience with 'Laziness'? by quarkzone · · Score: 1

    Each of your points about the practice of developing Software based systems ... although stated in an extremely negative way ... are certainly not 'Off Topic'.

    Every one of the points you make is true of far too many inexperienced developers. But IMO it stems from inexperience, not laziness.

    Sofware developers too often display the attitudes and practices you list. The SEBOK is an effort to formalize the experience gained over the last 45 years in such a way that newer practicioners won't need 45 more years to find out on their own. And the SEBOK appears to me to be much more complete than the SEI's 'Capability Maturity Model' approach to organizing and formalizing this huge topic area.

    A formal and comprehensive statement about what knowledge and skills are needed will allow Academic Institutions to devise cirricula that will impart the necessary information to newcomers. The Academy can do this in far less time and in a far less haphazard way than decades of plugging away to gain experience. That would go a long way toward breaking the bad (naive?)habits you list.

    The IEEE does seem to indicate that an individual cannot be a professional unless licensed. Since 'licensing' carries with it the idea of being able to deny or allow practicing the (science? art?) of systems development, there have been many objections to this initiative here on /.

    But I think many of these objections are mis-placed because the SEBOK addresses Software Engineering ... which includes the social and environmental setting of systems and how those things evolve and are managed. The code that makes them go is a small subset of that much larger picture.

    Those who write Applications or Drivers or Database Systems use bits-and-pieces of software engineering but are not Software Engineers, even if popular jargon and Microsoft does try to say that they are, and (I hope)would not be threatened were "Software Engineering" to become a 'licensed' profession.

    What is more important, though, is the potential for the SEBOK to greatly reduce the far too widespread 'rookie' attitudes about and approaches to development that you decry.

    1. Re:Why equate inexperience with 'Laziness'? by Dwonis · · Score: 2
      My problem is with the whole lack of self-discipline in the field, both with inexperienced and experienced programmers. Too often, people see programming as a pastime, rather than serious work that must be done carefully.

      As a side note, in Saskatchewan, MCSEs are not allowed to expand their title, because it's illegal to use the title "Engineer" without being certified by the Association of Professional Engineers and Geoscientists of Saskatchewan (APEGS).

  173. I don't follow your logic by vscjoe · · Score: 1
    I agree that improving accountability is good. Customers should, in fact, simply be able to return software like MS Word or Windows for a full refund if it doesn't live up to their expectations.

    But why does establishing a software engineering certification improve accountability? If Microsoft hired certified software engineers, why would they be any more accountable?

    The suggestion that anything a licensed software engineer writes should expose him to liability strikes me as very dangerous. Code is much more complex than bridges, and assigning responsbility for problems is hard. If I become liable for any stupid thing some random person on the Internet does with my code, I simply won't publish code for free. That can't be the goal.

    So, again, companies that make safety-critical equipment and sell it for such purposes should be liable. Companies that sell word processors should be required to allow product returns if it doesn't work. Then, market forces will get companies to hire the programmers they need to get the job done.

  174. oh, my god, I never thought of that by vscjoe · · Score: 1
    The whole idea behind top down design and modular programming is that you're breaking software down into small pieces that perform a single task. If you know each module performs its task and only its task and does it properly, the software won't crash!

    Oh, my gosh! You got the solution! The silver bullet! Tens of thousands of computer scientists and engineers have worked on this for decades and not come up with a solution. But you found the answer. Brilliant.

    Come on, get a clue. Modular and top-down programming were found wanting 20 years ago. They are important principles, but they are not a solution.

    A non-trivial piece of software isn't any more complex than a bridge.

    A non-trivial piece of software has tens of thousands of different kinds of "parts" (classes, functions, expressions) and often millions of "parts instances". And, unlike physical parts, which are designed, manufactured, and tested by dozens of people each, software parts need to be designed at a rate of several per day by one programmer. Software works amazingly well for the conditions under which it needs to be created.

    I don't know how much physics you've taken but the math behind a bridge is complex and it's really easy to make a mistake.

    The mathematics behind bridges is absolutely trivial compared to the mathematics behind the semantics of computer programs.

    As an Engineer you're held liable if something you design breaks. So you'd better make damn sure you get it 100% correct.

    If you pay me to accept the liability, I'll be happy to. The simple fact is: most users don't care, and most users apparently aren't willing to pay tens of thousands of dollars for a word processor that doesn't crash.

  175. Very strang by jawtheshark · · Score: 1
    All the points you attribute to "Software Engineers" were covered in detail by my Computer Science study. (Except for the testing, we did some algorithm correctness proving but thats a major PIA)
    • documentation: Never start coding without specs. This was bashed in us, bashed I say you. Actually, professionally, I know real world doens't work that ideally: sometime you just have to start if 75% of the spec is there because the customer can't decide on the "right" functionality.
    • Testing: Mostly module testing. Planned: first by the developer, then by a testing team. If very critical by a second testing team. Test cases must be carfully specified and generated from/cross-checked with the specification. I have to admit that most of my testing knowledge comes from my work experience.
    • Planning: Yes, any SE would do that...so would any CS that is worth is diploma. Data structures are heavily covered in a CS education. (I still have nighmares of 2-3 trees J/K)
    • Resource use: I hope you do realise that complexity of Algorithms (in Time and Space) is one of the major topics in a CS education.

    Yet, I am a computer scientist and proud to be one. Software engineering is part of any CS curriculum. Often people are confused by the term "Computer Scientist" because they do not know the background. Mostly they think I ask me if I'm some kind of engineer. I tell them I am not, and that I'm "just" a computer scientist. Well, most of the time they look as if I said "mad scientist", but that is another story.

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    1. Re:Very strang by Anonymous Coward · · Score: 0

      Ans what if you are an "Industrial computer scientist" ?? Brrrrrrrrrrhh .. you be ready to nightmare again !! :) --Fork around the bunker--

  176. Engineering studies by Anonymous Coward · · Score: 0

    I think the major differences in software created by an engineer and non-engineer are in maintainability, readability and flexibility. The first thing to do is write specifications on what will be done, next how to do it and finally the program itself. When the personnel change and someone new comes in he or she can immediately continue where the previous person left off. Unqualified person just writes a bit of code and leaves: imagine the trouble figuring out what heck was that obfuscated module intended to do and why it doesn't do it..

  177. Best practices say 'other practices are wrong' by nwetters · · Score: 1
    1. Codifying a set of "best practicies" that, when applied, assure a solid product.

    I think it's unlikely that a set of 'best practices' could encompass some of the contradictory approaches to systems analysis and design, without resorting to lowest-common-denominator definitions such as 'planning is good, design is good, testing is good'.

    For example, I am probably not alone among UK coders to have been taught that SSADM was a good method for analysing a large software project. XP basically refutes the idea that structured methodologies are good for any project that has rapidly changing requirements.

  178. Computational Science vs. Scientific Computing by Dr.+� · · Score: 1

    Slightly offtopic ...

    Computational Science: The science of modelling/simulation of scienctific problems, also known as applied mathematics.

    Scientific Computing: The science of programming techniques.

    Am I right or wrong?

    --
    Eih bennek, eih blavek
  179. Re:Passing a test doesnt make you a good programme by Grab · · Score: 2

    No, it's an attempt to make it non-esoteric. Scientific fields can be esoteric, concerned with things that don't affect normal ppl. But engineering is never esoteric! Engineering is concerned with taking all the rules the scientists and mathematicians have come up with, and using them as tools (or simplifying them where required) to solve a real world problem, like building a bridge, or making a chemical compound - or writing the software which controls the engine in your car.

    What's esoteric is art, and treating software as a pure artform rather than bringing in any scientific basis for it is a dead-end. In the past, scientific theories were judged not on whether they worked but whether they "looked" good or neat or felt "right" to ppl. This is the way software is today. What's needed is the software equivalent of Faraday, Darwin, etc - currently software is still at the alchemy stage where you can impress someone with something that looks flashy but is actually not doing anything at all.

    We absolutely don't need more programmers. What we need are more good designers. And the idea is to establish that good software design can be taught.

    Grab.

  180. Fight this or we will all become accountants by Anonymous Coward · · Score: 0

    Do *not* let this happen.
    The IEEE are looking to control who is allowed to develop software for money and who isn't.
    Like the ICAEW for accountants and the Law Society for solicitors (this is UK-centric btw)
    When a body like this gets to say who can join and who can't you get a closed shop. This is not good for anyone.

    You also get professional qualifications, having to pay huge fees to keep your membership up to date, and just basically becoming their bitch.

    This will take all the fun out of software and will attract tedious anal-retentive suits instead of the free-thinking individuals in scruffy clothes (OK I generalise but you get the idea) that we need in this profession.

    Fight the power!

    Woobie

    1. Re:Fight this or we will all become accountants by duffbeer703 · · Score: 2

      It's much better for software developers, and worse for software organizations.

      Licensing for software engineers will force quality design & coding standards, or at least require that legitimate software engineers stamp certain products with a seal of approval.

      Right now, if I say that I'm a software engineer, I am a software engineer. Mechanical Engineers and Civil Engineers cannot do that, because they are required to be licensed and in some cases bonded. Getting a PE is no joke MCSE either; it is a tough test that most takers fail.

      --
      Conformity is the jailer of freedom and enemy of growth. -JFK
  181. Great... by Anonymous Coward · · Score: 1, Interesting

    Yeah, I'll love it when Software Engineering is considered a "real Engineering discipline". Just like how much I want to to program to ISO 9000 compliance so I can be a "professional". Screw it, call me a duck and let me do my work.
    Anyway, storing programming patterns are fine, but a repository of them is going to help me very little in my job. Hell, I haven't even gotten around to reading Design Patternsby Erich Gamma et al. Programming is art as much as it is engineering; it is akin to being both the architect and the engineer.

  182. We are artists damnit by shic · · Score: 1

    The specification and design of software, and in this I also refer to detailed refinement of the design until you arrive at an executable product is an art, not a science. If it were a science for which we can define a satisfactory set of rules to ensure a quality product emerges, then I'd write a program to write programs and we'd all become redundant. Reductio ad absurdium!

    As the design aspect of software - every time a choice has to be made to move from one high level idea to a concrete implementation - then this requires a subjective decision. If we want to improve software quality, then we need to take an entirely different approach. We still need the coding artists, in order to come up with ideas, and we need the specification artists to capture ill-defined scenarios to the best of their ability. The interesting stage comes thereafter... once we've arrived at a specification and implementation. The specification can be assessed depending upon whether a system meeting this specification performs well once deployed. The software can be assessed upon several criteria - significantly including:

    1) Satisfaction of the specification that came before (should be 100%)
    2) Resources consumed to realise each interaction (the less the better) - Code side; memory use; disk reads; wall clock time required; interactive response etc.
    3) Availability of formal proofs that a specification is satisfied.
    4) Burden of assumptions made about any underlying technology, and failure model assumed to cope with unexpected events and failures.

    What we need is a robust way to specify requirements; and indisputable ways to show when an implementation doesn't meet a specification - and a strategy by which alternate implementations of small components can be compared in the context of the project specification.

    1. Re:We are artists damnit by rali · · Score: 1

      Who do you suppose will be qualified to verify specifications? This is done using a variety of formal verification methods, often involving mathematical theorem provers. Should it be the artists? The computer scientists? How can that be when the artist does not have the computer knowledge of the software engineer and the computer scientist does not have the same level of formal mathematical training? The answer to this is, of course, software engineers will perform these tasks, though it may take some time to gain widespread acceptance. The concept is simple nonetheless.

    2. Re:We are artists damnit by shic · · Score: 1

      I agree that the whole refinement of specifications idea is fantastically straightforward in principle, but that in practice this is not necessarily so. Practical specifications are frequently hopelessly woolly bloated mammoths, and far too frequently (in my experience at least) require provably impossible behaviours of systems - which is amusing until you realise you've wasted days concerning yourself with an impossible aspect of the design about which nobody cares!

      My argument is that programmers must behave primarily as artists not as scientists. This doesn't mean I don't think that formal techniques and tools are anything other than invaluable. On the contrary, I believe that exactly these techniques set software apart from other art forms. Software is unique in that it should be possible to evaluate software objectively, however, until computer professionals agree how comparisons should be made, I feel we are doomed to remain in the dark ages with a prevalence of shoddy projects plagued by avoidable bugs.

  183. This is pointless... by fleeb_fantastique · · Score: 2

    While I appreciate the need to identify competent engineers, most programming projects fail due to poor management, not bad engineering.

    If you really want to improve software, focus on better management, not on better engineers. With better management, you will eventually have better engineers without worrying about certification.

    Perhaps the IEEE should focus on a certification process for managing projects.

    --
    And so it goes.
  184. My point exactly by Anonymous+Brave+Guy · · Score: 2

    You make my point for me, I think. As you say, a language is just one tool, and there is much more to software engineering than just that. So, if we can't even sort out a meaningful accreditation system for that one language, how can we possibly consider trying to do it for software engineering as a whole, and put any faith in the result?

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  185. After the Gold Rush by slasho81 · · Score: 1

    "After the Gold Rush : Creating a True Profession of Software Engineering" is a book by Steve McConnell (Author of "Code Complete", "Rapid Development" and "Software Project Survival Guide"). The book deals with this subject in a clear and logical way. Highly recommended.

  186. The problem, and maybe a solution by Anonymous+Brave+Guy · · Score: 2
    The problem is when most "expert" groups discuss this topic, they typically look for a test they could get perfect in, based on the fault assumption that their perfect mastery of C++ must result in a perfect score.

    Not really. (You can go and look at the threads concerned using Google Groups if you want to see the real attitudes exhibited.) The problem is that certification programs produced thus far have been laughable. Take Brainbench, for example. I went along and got a top-in-my-country score in C++ the first time I tried. OK, I'm a better than average C++ programmer, but there were people on the standards committee who define the language further down than me. That might be because at least four or five of the questions they asked had no correct answer available, and that was a multiple choice test! If testing specialists can't get that right, what hope do they have of meaningfully assessing any testee-produced code?

    It's not just Brainbench, though. Take a look at an average Software Engineering course at universities these days. American ones seem to be particularly bad right now, with many uni's following fashionable languages and techniques regardless of any technical merit. My own university, a well-regarded one in the UK, still seems to think that software engineering should be based on the waterfall model, if you listened ot their lecturer. (It wasn't quite that bad -- alternatives were at least discussed -- but you get the point.)

    By the way, as for just taking true/false or multi-guess questions based on the contents of The C++ Programming Language, you won't get much meaningful information out of that. Like many old exams, all it tests if memory ability, with no real gauge of understanding. A few simple questions at the start of an interview might set the broad level of discussion for the remainder, but nobody smart recruits based on them alone, and it's notoriously difficult to set useful questions even then.

    I don't see any real progress being made in the area of software engineering accreditation until there is an independent body, run by software engineers for software engineers, wherein the body of experience and expertise is sufficient to give any assessments they make some reasonable credibility. Right now, most software engineers don't even belong to any sort of union, and only a few belong to any other professional body, in my experience. Compare that with most other engineering disciplines, and you see both how far we have to go, and perhaps the direction for the first few steps.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:The problem, and maybe a solution by Ars-Fartsica · · Score: 2
      Like many old exams, all it tests if memory ability, with no real gauge of understanding.

      Duh!!

      All any test teaches you is how to take a test!

      Please tell me you haven't gone through life being this naive!

    2. Re:The problem, and maybe a solution by Anonymous+Brave+Guy · · Score: 2
      Duh!!

      All any test teaches you is how to take a test!

      Please tell me you haven't gone through life being this naive!

      There's really no need to be insulting, particularly when you're so obviously wrong. For a start, tests don't generally teach you anything very much.

      There are many different types of test, and there is a vast difference between tests that emphasize factual knowledge, tests that examine ability to apply factual knowledge, and others. There is a whole branch of education studies whose sole purpose is to further the understanding of what you can genuinely learn from different types of test, and how to test to discover different things about someone.

      You sound like one of those old-school parents in the UK who tries to argue that exam standards are falling because they don't test as much factual knowledge these days. Whether or not exam standards, and more importantly, the relevance of achieving a particular grade, are falling, comparing apples with oranges is not the way to prove anything. And yet, here you are making sweeping generalisations about "any test". <sigh>

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  187. More noise by sheck · · Score: 1

    Tom DeMarco (co-author of Peopleware), wrote an article addressing the issue of certification. Here's a snippet:

    The case for certification made by Ralston, Mead and also by Patricia Douglas goes something like this: Poor old Citicorp and poor old Aetna and poor old Microsoft really can't tell if the people they are thinking of hiring are good, competent, educated programmers or lazy, uneducated, even unscrupulous types, so what should we do? How about we appoint an august elite (made up of our own august selves plus some of our august pals) to judge. We will divide the world into betas, who will be allowed to work in the field and gammas, who will not. In the process we will be demonstrating that we ourselves are alphas. What a brave new world!

    The whole article is here.

  188. Indeed it is... by cnelzie · · Score: 2


    Having an MCSE, is indeed a method to become hired into corporate wherever, the other way is to know someone, at least in the USA.

    Anyway, I sometimes get to work with some of those MCSE-to-get-a-corporate-job people and to be honest, they are practically useless. The simple technical knowledge they lack is absolutely scary. I correct them, answer the same questions all the time. It is frightening to know that they are the people that are running the corporate network.

    So, I am working on getting my MCSE in order to "join" their ranks and fix all the crap that they are doing. It shouldn't take but a few months of self study. If they can pass the tests with their level of knowledge, I should have no problem at all.

    So, to recap, getting an MCSE is indeed a way for some people to get in the corporate hiring door. It sucks, but that is how it happens.

    Of course, I am just a help desk guy that got in through family connections. I am also a computer hobbiest, which probably helped a bit.

    --
    .sig seperator
    --

    --
    If you ignore the other uses of a tool, does that make the tool less useful, or you less useful?
  189. I suppose you have many compile errors... by Anonymous Coward · · Score: 0


    Since you are unable to build properly structured sentences and also spell....

  190. You are missing the point. by porterhouse · · Score: 1

    Not eveyone needs a license. Only those persons that are knee deep in areas that directly affect public safety would require certification. And only those people who want to go the extra step and take on the extra responsibility would pursue the license. Every other professional field has tiers of responsibility: why is software special?

  191. From reading these threads, it seems... by cnelzie · · Score: 2


    ...like it is important to have certified software engineers for mission critical commercial applications. Things like nuclear plant control software, sewage treatment plant software and other life-threatening upon failure type work.

    However, it makes absolutely no sense whatsoever to make all software developers require that type of certification and title. For instance, a failure in the code of a game is never a life-threatening issue (unless someone has a bizarre example...) and most desktop applications also would not cause death if they fail (again, so me a bizarre example.)

    So, it seems to me that developing a true Software Engineer title would do nothing more than possibly benefit mankind. As long as they don't attempt to force this upon all software developers.

    If it does become something that all software developers will need, I can see the development of new games and other applications stagnate as the development houses could be forced to charge a larger sum for their software. While this could potentially defray the cost of the new licenses that their developers would need. It just wouldn't make any sense for non-life-critical software to require that Certified Software Engineers be involved in the making of the product.

    While this could potentially increase the quality of games and other non-mission critical software, is that really necessary?

    --
    .sig seperator

    --
    If you ignore the other uses of a tool, does that make the tool less useful, or you less useful?
  192. Re:Very strange by uberdave · · Score: 1
    Your Computer Science study is designed to produce sofware engineers. Most courses are. I was just trying to differentiate people like you from the "Teach yourself C++ in 20++ days", "Visual Basic for the Profoundly Dense", cut&paste script kiddie types who, when asked which is generally a better sort algorithm, bubble, or quick, would say "What? Sorting is sorting. It doesn't matter.", or "No, man. You either sort in ascending order, or descending order."

    I once came across a date validation routine that did something like 31.14-18.82 as part of the calculation. I could not figure it out. (The code was not commented at all.) Eventually I went to the basic prompt and typed in "print 31.14-18.82". Instead of getting 12.32, I got 12.319999 and suddenly I realized what the code was doing. I felt like throttling someone.

  193. Re:Huh? I don't get the fears.... by Anonymous Coward · · Score: 0

    • A software engineer will differ from a programmer in her/his diligence with:
      * documentation: They will have specs and design documents in place before any coding is done.
      * testing: They will test every function. Testing will tend to be coordinated, disciplined rather than haphazard. They will test functions after they make any changes.
      * planning: A software engineer will map out data structures. They will work out a software design before they code anything.
      * resource use: A software engineer will be able to tell in advance what the resource requirements of the code will be. (IE, each record is going to take n bytes, the algorithm will run in n*log(n) time.

    In my job I have:

    planned projects

    teste code

    documented stuff

    0 in that resource use thing :)

    Still I have no college degree.
    Got to get one, one of these days, then I'll be able to do the resource thing :) wich sounds cool.

  194. Standardization != Professionalism by Anonymous Coward · · Score: 0

    professionalism is very important; standardized practices are nice. They are not the same.

  195. Engineers vs. Software engineers by BluedemonX · · Score: 2

    As I see it, standard engineering disciplines (mechanical, civil, etc) deal with open standards type of stuff - I can buy a book detailing all the shear and stress factors of given alloys of metal, the load that a pylon of material X can support, etc.

    If as a civil engineer I engineer a bridge and it collapses, it's possible for a third party to forensically determine either the beam was improperly constructed, improperly riveted in place, or it was a case of me not carrying the double integral of 2 pi cos 3 delta theta in my design calculations, and as a result the beam was carrying lambda delta 3 cos pi two g Bilbo's constant, an insane amount of stress for that loadbearing item to carry.

    If I develop for Microsoft (in doing so, my body of knowledge pertains MOSTLY to that platform, as opposed to portable things like physical constants, etc) software, I have NO IDEA what I'm grafting my code onto. Not even a third party is allowed to wade through MS's code and mine and determine what went wrong. I can't legally reverse engineer the DLL to see what the hell is going on.

    Whereas a civil engineer's license is likely to hold cause neither PI nor the load-bearing properties of concrete nor the inherent properties of steel are likely to change any time soon, we're looking in the computer field anyway at things being in a state of constant change.

    --

    --- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
  196. Re:Very strange by Ionizor · · Score: 1

    Software Engineering study is designed to produce Software Engineers. In case people have missed something, Software Engineering is already an Engineering Discipline. It's separate and distinct from Computer Science.

    Actually I'm planning on going into it in second year at McMaster University in Ontario.

    --

    --
    Todd's Law: All things being equal, you lose!
  197. I love these generalizations by masterplanorg · · Score: 1

    Apparently everyone forgot the phrase "The devil is in the details."

    Verifying the math on the design of a bridge may be routine, but the construction process is less than trivial. Beams must be certified. The concrete must be certified. The welding must be certified. The engineering component is simply not relegated to "making the math work". Mess up at any point and there is the potential for major liability.

    --
    The Master Plan Always Fails
  198. "write the exam"? by J.+Random+Software · · Score: 1

    Does everyone who wants to take the exam need a degree, or just whoever first created the exam?

    Anyone with a degree from an accredited college already passed a bunch of tests covering all that material. Wouldn't this exam only be useful to qualify candidates who (for whatever reason) don't have degrees? Or is this a "have they forgotten everything" requalification everyone must pass periodically?

  199. Is Micro$oft involved in this at all? by Anonymous Coward · · Score: 0

    As I recall, to be a "developer" in .NET it is around $10,000 per year, and $1000 for a "junior developer".

    Do these two developments coming out within two months of each other make anyone else nervous?

  200. Re:Huh? I don't get the fears.... by J.+Random+Software · · Score: 1
    They probably can't sue you unless your own negligence contributed somehow. But if they somehow can, you and the other hundred software vendors (who each got sued for $X) can bring a class action against Microsoft for $100X and come out even--and the threat of that will ensure the whole mess doesn't happen.

    Writing correct software isn't impossible, just more difficult. For now the payoff is so small that hardly anyone bothers.

  201. You're right by epepke · · Score: 1

    Software is math, so it follows that it is like math. It is also quite a lot like quantum physics, especially when dealing with multiprocessing.

    What it isn't like, though, is building a bridge or a car, except perhaps for the architecture and design aspects, but those aren't called "engineering." There is no place you can look up a bunch of rules that, when applied relatively mindlessly, result in good code. Sure, you can find algorithms in books, but the killer is always the overall system, and every one of those is different.

  202. Re:Unfortunately you are preaching to the wrong cr by Anonymous Coward · · Score: 0

    but then they spend the rest of their time bitching about Microsoft's crappy software and how horrible it is that they "get away with it".

    But what's so horrible about MS isn't that the government lets them get away with it. The horrible thing is that their users let them get away with it. MS uses its dirty dealings to defy the most basic economic principles.

  203. Understandable, but still... by ebbomega · · Score: 1

    I guess the point I'm trying to push across is that "Paul" (I am referring to someone specific of a different name when I say this, btw) is as qualified, experienced and trained as any programmer I know, if not moreso. I would entrust his programming skills/knowledge/experience as much as any "certified" person.

    I think I more object to the idea that unschooled -> untrained... because with the computer profession it is quite possible and plausible to achieve the same level of education through various means other than conventional schooling. While yes, it would be a good idea to have some type of standardized measurement of a programmer's knowledge and capabilities, I don't think that schooling should be it.

    --
    Karma: Non-Heinous
    1. Re:Understandable, but still... by rali · · Score: 1

      It's true that someone like Paul can exist, and he may well be the best programmer alive, but there are two important differences: 1. software engineers and programmers do not perform the same jobs. Note that I use the term 'software engineer' in reference to the future influx of trained professionals into the industry. 2. Paul would be an exception. In general, one would not expect to meet many Paul's over the course of a software project or even an entire career. The point is that if software is to be regarded as a true engineering discipline (and I believe it should), then we need to follow engineering practices. This includes accountability. Why does software come with a disclaimer these days? When you buy a new car, do you expect the manufacturer to tell you that a seat belt failure is not their fault? Or that if your new house falls down because of poor design that the engineering firm is not responsible? All of these issues are addressed when we begin to treat software as a branch of engineering.

  204. Re:Huh? I don't get the fears.... by xmedar · · Score: 1

    Well look at the WordPerfect case, who had to change their software WordPerfect or M$? I rest my case. Expect to be having to rewrite software when your 70 that you wrote 30 years ago because of this, you are now an endentured slave. The only way I can see round this is to use a throw away corporation for each job you do and make it take all liabilities with it when you shut it down, prefereably offshore in a country which has good secrecy laws so they can never find you.

    --
    Any sufficiently advanced man is indistinguishable from God
  205. Anti-SE Consensus? by rali · · Score: 1

    Having read numerous comments on the topic of software becoming a distinct and regulated engineering profession, a rather anti-SE trend is evident. It seems as though the majority of the people are against such industry regulation. Why? My impression is that many are not engineers but would like the 'right' to label themselves as such -- this is evidenced by the recent dispute between MCSE holders and regulatory chapters. Are these comments the product of a general fear of being 'left behind' as the software industry matures into an engineering discipline?

    1. Re:Anti-SE Consensus? by Artik+Vodka · · Score: 1
      Maybe 'cuz a lot of the people that are currently developing software have not attended to a University in a Engeneering or CS ( or related ) course.
      These people have learned most of their trade by themselves, and learned a lot be experimenting, other than being told by a teacher what a loop is, what is a pointer, what is it good for, what is a database, why should we indent code, why should we comment it, etc.
      And, no one wants to be sacked just because they don't own a diplome that says they can do the stuff.
      No one wants to be replaced by some guy with 0 experience, just because he was in the university learning math and physics while he was working is ass off to learn how to code properly.

      And, this isn't bridge building. This is programming. You can't run a formula on your code that will say "Good Code, Good Logic, Good Program, Won't Fail". You can't.
      If you were building a bridge, you could run that formula on the type of materials, their size, wind speed at the bridge location, maximun weight it will have to carry, etc (I have no notion of the math or physics necessary to build a brigde, but I assume some of the stated are use), and the formula says "ok, this bridge, with these parameters in this conditions, is a good bridge" or "no, this is a bad bridge, please recalc the maximun weigth because with this wind speed the thing will fall in short time".

      You could, however, have a formula/program that checks another for code correctness (use of indentation, use of comments, etc) still, that wouldn't garantee it wouldn't fail.
      But, having indented code, comments, etc, doesn't garantee the quality of the software/logic/whatever.
      And, wich program would certify the program you are using to certify the others?

      This is art.

  206. CYA, the CS majors have escaped! by budalite · · Score: 1

    It has been said that one can "judge a tree by its fruit". The Pentagon says the one can judge the probability of whether a software program will function error-free by the Program's developers, their company, and their accreditation by the Carnegie-Mellon Software Engineering Institute. Ut's a CYA thing, mostly.
    It is my perception that the CS community has never forgiven Mr. Berners-Lee for letting the non-initiated in the door. As a Project Manager for a large military/civilian software system in the mid-90's, I remember one contractor berating another because the winning contractor had done their work in VB. The loser had done his work in Fortran. Probably still is.

  207. What certificaiton will management have to get? by openbear · · Score: 1

    The approach the IEEE is taking will only solve half the problem. What good is a team of "certified" engineers if the management is still PHBs? Where I work the management gets to make all of the *final* decisions about design, implementation, and deployment. I can count way too many times where buggy code has been released to the customer just because the management didn't want to take the schedule impact to fix things. And then of course there are the *closed* management only meetings where they decide on things like system architecture. Well before I start ranting let me get back to my point: What good is a team of "certified" software engineers when the management who control things are not required to be certified themselves? Perhaps have some form of technical management certification (and I don't mean TQM).

  208. Re:Huh? I don't get the fears.... by J.+Random+Software · · Score: 1

    Corel (or whoever they bought WordPerfect from) suffered precisely because Microsoft had no liability for problems caused by changes they made, so they could break their customers' third-party apps with impunity. If Windows had a warranty with teeth, they couldn't have gotten away with doing it.

  209. of course an engineer aint an electrician by Anonymous Coward · · Score: 0

    More interesting is that an electrical engineer probably would not be allowed to fiddle with the wiring in a house unless he had done the required "dues" (apprentiships etc) for a sparkies ticket. Not sure what my point is, but it's interesting.

    And any move to 'licence' programmers naturally should be vigorously and angrilly oposed (read stallmans "right to read";- think illegal debugger)

  210. Re:Very strange by andr0meda · · Score: 2

    "The creation of genuinly new software has far more in common with developing a new theory of physics than it does with producing cars or watches on an assembly line" - Bollinger

    http://www.idiom.com/~zilla/Work/Softestim/kcses t. pdf

    --
    With great power comes great electricity bills.
  211. This SWEBOK is a dangerous evil by parabyte · · Score: 1

    A small elite minority tries to define a "Body of Knowledge" consistent with their beliefs and slow down progress by carving it in stone and steel, and even seeking political help to limit access to the field for people who refuse to swallow their bullshit. I admit there is some useful stuff in it, and it all sounds very reasonable, but honestly: How many professionals with a master and 4 years of experience in the field (the target audience) are able to professionally apply a substantial portions of this "body" under the correct circumstances ? My guess is less than three out of hundred, and even they will ignore the majority of it because it is useless.

    This self appointed elite was not able to set up a website that survives the slashdot effect, and if you ever worked with some of e.g. Rational products and assume that they used their own teaching and tools in constructing this crap, it becomes obvious that no amount of impressive sounding formal engineering methods and a big names lineup alone can produce a good piece of software.

    What these methods are good for is to save your ass when the lawyers come, and to prove that you exactly built the shit the customer has ordered, and that it is not your fault that the system is too slow and too hard to use and that the operators should have sticked exactly to the procedures described on page 972 of the operations manual to avoid [two days downtime, loss of 6 months of transaction history, hitting the mountain, reversing the thrust in midair, melting the reactor core]

    The attitude that comes out of this document drives me mad, and it has the potential to do so much harm to the evolution of the field that Microsoft seems to be a pleasure compared to these guys. They even try to borrow ethics and principles from medicine, a field where mystification and deception are a guiding principle since 2000 years, and to get a medical education in the roman empire you literally had to become a doctor's slave, being freed not before you were going to replace him.

    When I was young I was a firm believer of almost everything my teachers and professors taught me; you may call me a naïve coward, but I was taught many times that it is a bad idea to question their doctrines for several reasons:

    1) They are often correct
    2) It is difficult to find out when they are wrong
    3) If you find out they almost never admit they are wrong
    4) They prefer to defend themselves by ridiculing, threatening and insulting
    5) They have a lot of power by controlling your career path

    There are exceptions, but you need a lot of luck or persistence to encounter one of them; I rarely did, so in a mixture of good faith and cognitive dissonance I spent a lot of time and effort on learning their doctrines.

    But soon it became increasingly difficult to bridge the gap between many of those things I learned in academia and the first hand experience I gathered in various positions in the industry, ranging from designing hardware and kernel for embedded factory automation systems in the mid 80's to distributed virtual environments today.

    During my professional career I encountered a number of programming languages, operating system, implemented ITU-, IEEE-, DIN-, ISO-, IETF, OMG and W3C standards, and went through some meters of scientific papers, produced at least a half million lines of code myself and guided the production of about five times as much.

    And the more I learned from experience, the more livid I became at those teachers. What a waste of time it was, and what a large pile of bullshit I had been forced to swallow, and it took some time to get rid of all those misconceptions that were stuffed in my mind.

    Don't take me wrong; I still believe that the scientific way of finding some truth is superior to almost everything else, but a large amount caution is required when dealing with scientific results, and much more caution when dealing with people who are paid for practicing and teaching science.

    I am convinced that:

    1) most scientific publications are obsolete (about 98% is my guess)
    2) there is a tremendous abuse of scientific rituals in areas where science is hardly applicable (e.g. psychology, social sciences, medicine, business, software, history, politics, city planning, art)
    3) you can find a bunch of scientist to support almost anything if you throw enough money in
    4) real progress in science is rare, comes by surprise and often ruins the life of the contributors
    5) most scientist are impostors

    Now, coming to the engineers, who are supposed to apply science to build something useful, I am think that:

    1) Engineers either think that they are the better scientists or do not know anything about science
    2) most engineers are cowards

    Now, when it comes to computers and process of creating software, I surmise that after gathering 25 years of experience, learning from failures and steadily improving my skills I feel qualified to raise my voice on this issue.

    A simplified, unbalanced summary of my convictions regarding software is:

    1) Heavyweight formal methods are a useless waste of time if want to successfully create software that satisfies you and your customer, except in extremely rare cases
    2) There is no substitute for own experience, even if you can gain a lot from the experience of others
    3) There is no substitute for thorough testing
    4) It is helpful to have a solid mathematical knowledge, but you must not confuse math with software
    5) Standardization is a necessary evil, and I commiserate those brave souls involved
    6) Most standards are flawed because they are too complex to be fully understood even by their creators, not to mention mere mortals
    7) Every implementation of a standard I have ever seen was flawed
    8) The future belongs to light-weight, easy-to-understand iterative methods

    Regarding all those cited mission-critical systems in avionics and telecommunication, most of them are of so incredible bad quality that it is a miracle that mankind survived so far; but even if the system works as designed, people often get killed because the interface between the human operator and the system does not work as expected; just browse through an arbitrarily chosen risks digest, and the first one I just picked (http://www.infowar.com/iwftp/risks/Risks-19/19_94 .txt) revealed a perfect example for this: A train derailed because of a bearing overheating that was indicated by an alarm 29 hours before the accident, but the alarm was disconnected because the crew was unable to find the alarm cause and assumed a defect in the monitoring system.

    NASA and all other space agencies loose rockets and satellites all the time, several passenger planes were lost because of interface problems, and if you have ever watched an air traffic controller in front of his computerized radar system you will be surprised about the amount of wrong information on his screen which he has to filter out mentally.

    Now these areas are where formal methods were applied for many years now, but the effort is extraordinary and the results are not convincing.

    I don't need to mention the poor quality of today's popular operating systems (Linux is not better here than Windows). The most popular compilers of one of the most popular programming languages (C++) are so full of bugs that their usefulness is severely affected, but if you try to use development software that is less popular you feel like moving through a mine field: every new move you make might blow it up. It seems to be a general rule that software tends to be as poor as tolerated, no matter how bright the developers are, and only widespread use of the software improves quality.

    And those products from the formal methodologist camp are not a nibble better, on the contrary: Rational Rose, for example: After so many years they still can't properly display text, zooming in the diagram views is the worst I have ever seen in any app, and it crashes more often than anything from Microsoft. (And that Rose doesn't understand C++ is no miracle; no program does)

    Formal Methods are like communism: In theory, they sound good. In practice, they do not take into account the diversity of human desires and thinking, and the gap between the software engineering community and the people developing software is widening.

    I would appreciate this SWEBOK if these guys were not so serious about making life harder for many people and trying to force their "body" down of throat of thousands of students.

    They are marginally improving quality in some areas while hampering possible significant progress that comes from widespread use of light weight methods like Extreme Programming, which is the greatest advance in Software Engineering I have seen in my career so far.

    p.

    --
    Without order, nothing can exist. Without chaos, nothing can be created.
  212. Insightful??? by Ars-Fartsica · · Score: 2
    We're a very, very young discipline, and unlike structural or electronic engineering the mathematics does not exist to prove what we are doing is right.

    Do you program for a living? How could you say something so absurd? When was the last time an algorithmic error made your program crash?? Its all about where the rubber hits the road. Memory management. Device support. Library integration. How the %$#@ will the lambda calculus, Z logic, or VDM proofs help you?

    Stop waiting for the math because the math that tells you to use a debugger and a profiler is called experience.

  213. Re:Very strange by jawtheshark · · Score: 1
    Great quote. I should remember it! The problem is that most of the time the software that has to be created is a re-hash of an already existing package. I talk about experience here :-)

    But I can also agree, some software tends to have "quantum effects"... (I'm going to read the PDF when at home, you know firewalls 'n stuff)

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
  214. The market will not wait by qbalus · · Score: 1

    I'm sure some types of employers for specific types of work would like to insist on educational, certification and experience requirements.

    But I don't see how the US market can tolerate the bottleneck things like this will create. There is already a shortage of skilled computer people (technicians, engineers, tech writers, sales, marketing, administrators, managers, etc...). The industry cannot wait for people to obtain all the knowledge and skills that certification may require.

    So I think ultimately the market will determine where the value is.

    What is interesting is, here we have a community of people that probably studies and continually develops new skills as much or more than any industry, and people are looking to solve quality problems via certification, in a market thats moves very fast with a shortage of skilled people...