Forgot your password?
typodupeerror
Programming IT Technology

Are Programmers Engineers? 1002

Posted by timothy
from the let-the-french-academy-decide dept.
The Llama King writes "The Houston Chronicle has an interesting story about a debate in the Texas Legislature over whether programmers are really engineers. A quote: " 'It's one of the silliest issues we're having to deal with this session, but it's also one of the most important,' said Steven Kester, legislative director of the American Electronics Association, an organization of computer companies." Are you really an engineer? Or just a code-monkey?"
This discussion has been archived. No new comments can be posted.

Are Programmers Engineers?

Comments Filter:
  • Dubya (Score:5, Funny)

    by 0x7F (158643) <slashdot.tpope@org> on Sunday March 30, 2003 @02:51PM (#5627283) Homepage
    "Texas is becoming a laughingstock of the global high-technology community," said Steve Taylor, director of corporate affairs for Applied Materials.


    They said the same thing when our governer ran for President, but that turned out all right.

    Well... sort of...
    • Re:Dubya (Score:3, Funny)

      by Anonymous Coward
      I Must be an engineer because Microsoft and Novell both say so! Take that Texas.

      Joe Carlson
      MCSE
      CNE

      http://www.darthvader.tv/modules.php?name=Han_So lo _Webcam

      • Re:Dubya (Score:3, Interesting)

        by Safety Cap (253500)
        MCSE
        This is exactly why the law is so incredibly stupid. Thanks to the quite powerful Engineering SIGs here, if you put MCSE on your business cards and hand them out, you could be liable for a US$3,000/day fine.

        The real point of all of this was to limit the number of engineers in the market, so as to keep the salaries up. Same thing goes for architects and lawyers.

        Protectionism may be ugly, but it is one of America's most cherished traditions.

        • Re:Dubya (Score:5, Insightful)

          by Dark Nexus (172808) on Sunday March 30, 2003 @06:51PM (#5628464)
          It's a simple matter that in most areas, engineers are liable (criminally liable in cases) for a failure of anything they've signed off on.

          Would any MCSEs be willing to be liable for problems in their code? Open to lawsuits for failures, regardless of any EULAs?

          There's a reason for laws like this, and that's because of the legal responsibility and liability that comes with being an practicing engineer.
      • by HughsOnFirst (174255) on Sunday March 30, 2003 @11:17PM (#5629548)
        Gee, Cisco used to think I was an "Software Engineer" and paid me 135k a
        year and I only have a masters degree in fine art. (Performance art and Photography
        and a few things in between) On the other hand when I was getting that MFA
        I built a camera from billitt aluminim and a electric guitar from wood scraps.

        I always thought that programming was as much an art dicipline or perhaps
        an exercise in linguistics or theater ( see Brenda [google.com]
        Laurel )
  • I'm definitely an engineer, because the code I write gets loaded into flash memory on circuit boards I also designed! I figure I've got all the bases covered.
    • Re:Definitely (Score:3, Interesting)

      by Anonymous Coward
      In this particular case, it also pobably has to do with the safety standards issue. For example, a civil engineer has to certify that the bridge that he designs meets certain minimum safety standards, and will be held professionally liable for it if it doesn't.

      I'm a code-monkey and not an engineer in the sense that I don't think I'd be willing to be held liable for my bugs :)

    • I'm definitely an engineer, because the code I write gets loaded into flash memory on circuit boards I also designed! I figure I've got all the bases covered.

      Surely you'd qualify as an Electrical Engineer at the least. Out of curiosity, are you licensed? In Texas you'd have to get a license for that too! :)
      • Re:Definitely (Score:3, Interesting)

        by bjcubsfan (471972)
        As an Electrical Engineer, I would like to say that being an EE is in now way the least. It is definately one of the more difficult engineering fields. As far as programmers being engineers, I would say that they can be, but it the main difference is the methodology behind how they write their code.

        In an interview I recently had, a group manager for lockheed martin told me that he prefered to hire people that were educated as electrical engineers to do the programming for his group. He said their method
    • Re:Definitely (Score:3, Interesting)

      by Dolphinzilla (199489)
      are you an engineer that writes software or a computer science major who does electrical engineering - I have met computer science majors who by all rights I would call Systems Engineers - they had a complete understanding of the hardware at a very low level and how the software makes up these systems of systems - on the other hand I have met computer science majors who were just code monkey's or sys admins who thought what they did was engineering when they plugged a PCI card into a motherboard. The ve
      • Re:Definitely (Score:3, Interesting)

        by ncc74656 (45571)

        are you an engineer that writes software or a computer science major who does electrical engineering

        To some extent, I would fall into the latter category. My degree has "computer science" printed on it, but I've done custom hardware to solve some problems. When we got some security cameras in that didn't provide for computer control, I reverse-engineered the bundled remote control (just a bunch of switches and resistors, really) and built a replacement control that handles up to 8 cameras and plugs in

    • Re:Definitely (Score:3, Interesting)

      by LinuxInDallas (73952)
      That really wasn't the point of the article. I believe that regardless of what type of engineer you think you are, if you are not a licensed professional engineer then you can't represent yourself as one outside of the company. When I worked for a company in Richardson, TX (Dallas suburb) all of our business cards said "Telecommunication Hardware Engineering." I was told at the time (back in 96) that this was because you couldn't put engineer on your business card unless you were licensed. Oddly enough,
  • "elite hacker for all that is good".

  • by ackthpt (218170) on Sunday March 30, 2003 @02:53PM (#5627298) Homepage Journal

    1: Ask the question, "Are Programmers Engineers?" on a tech-oriented website.

    2: Well... pretty much any other question, but No. 1 is the humdinger granddaddy of all waltzing in a minefield questions.

    And just to get things started, "Yes."

    • CODE MONKEY!!! (Score:5, Insightful)

      by cybermace5 (446439) <g.ryan@macetech.com> on Sunday March 30, 2003 @03:09PM (#5627410) Homepage Journal
      You're all code monkeys until your job really CAN'T be done by a smart high-school kid, and you have polished the art to the point that all the OTHER engineers accept and respect you as engineers!

      It should be major news that Joe Somebody's computer crashed today, an event greeted with grim commentary and TV specials.
      • Re:CODE MONKEY!!! (Score:5, Insightful)

        by smallpaul (65919) <paul.prescod@net> on Sunday March 30, 2003 @05:49PM (#5628209)

        It should be major news that Joe Somebody's computer crashed today, an event greeted with grim commentary and TV specials.

        I think its hilarious to hear this from a hardware engineer. Do you know how many bugs hardware has? Do you think that the Pentium bug was some kind of rare event?

    • by Jester99 (23135) on Sunday March 30, 2003 @04:38PM (#5627913) Homepage
      So you wanna start a heated debate? Your way takes too much effort. I'll start one that'll get even hotter, with far less effort:

      vi.

      :)

    • Engineering is all about applying what you know and creating a working system.

      Now scientists and mathemeticians work with very complex systems all the time. However, most if not all of it is theoretical.

      Engineers take that theory and his own experience to build a useful system. This system has to withstand the rigors of the real world. It also has to be done on time, on budget, and actually do its job without killing someone.

      A lot of "scientific" achievments in the past century are actually engineering achievments.

      • Powered Flight: The mechanics of powered flight were understood for hundreds of years. The stumbling block was a lightwieght power plant and a control system for rolling motion. Enter a pair of bicycle mechanics from Ohio.
      • The Apollo mission: no new scientific theories there, but a brilliant application of what theories we did know.
      • The Atomic Bomb: the theory can be grasped by a child, what keeps the dictators of the world from having the A-Bomb is the fact that they are devilishly hard to make.
      • The Internet: anyone who has read an RFC knows that there is no magic involved. The Internet is built on top of a body of standards, defined protocols, and the good faith of all parties involved.

      Now the point I am trying to make is that programmers are always defining new things. Engineers can't responsibly design systems around parts with unknown properties.

      Engineering and most programming endeavors are mutually exclusive. A good engineer can't afford to have an unknown in the process.

      Look at the space shuttle. That was real software engineering. They designed the whole system, to do a specific task, within a specific set of parameters. Yes there was programming involved, but in this case the software was only a highly flexible control system in an aerodynamics problem.

      Could some 14 year old given enough time and caffiene do the same thing? Probably. Would I trust that software with my life and a 4 billion dollar spacecraft? No. Odds are the kid would not have a grasp of the differential equations, Laplace transforms... ah... engineering school equations leave me now...

      • The Atomic Bomb: the theory can be grasped by a child, what keeps the dictators of the world from having the A-Bomb is the fact that they are devilishly hard to make.


        Bzzzt.

        What keeps the dictators of the world from officially having nukes is
        • Larger nations would cut monetary support
        • The raw material is (for reasons I don't understand) hard to get
        • The raw material is somewhat hard to properly produce unnoticed, by small nations - and requires natural resources not every nation is "fortunate" enough t
        • Your "drop a brick" nuke would have a VERY low yield. In fact, it might only get warm enough to melt a hole in your floor. A uranium bomb can be as simple as a cannon shooting a chunk of uranium at another chunk of uranium, but you have to at least use a cannon to get the two pieces together fast enough that they don't don't vaporize before reaching critical mass. The canon method also give a low yield bomb.

          The raw materials are hard to get because the "weapons grade" uranium is a very small percentage of

  • Neither ... (Score:5, Insightful)

    by DogIsMyCoprocessor (642655) <`dogismycoprocessor' `at' `yahoo.com'> on Sunday March 30, 2003 @02:54PM (#5627303) Homepage
    an engineer or a code monkey. I'm a journeyman ... in the best sense of the word.
  • by heldlikesound (132717) on Sunday March 30, 2003 @02:55PM (#5627313) Homepage
    These things pretty much drive themselves now, engineers are just there if something goes wrong, you know, a cow walks onto the tracks or a drunk college kid stumbles and passes out in the crossing...
  • by Amigan (25469) on Sunday March 30, 2003 @02:57PM (#5627321) Homepage
    If you are a licensed Professional Engineer (PE) in the state of Texas, you can be held liable for any damages on a project. That was the reference to the 1937 project.

    How many 'software' engineers in Texas are willing to put their reputations on the line (and stand up to civil lawsuits) if they have made a coding mistake??
    • by Omega Leader-(P12) (240225) on Sunday March 30, 2003 @03:16PM (#5627470)
      There was a similar problem here in Ontario (Canada) to use the term "Engineer" you have to be lisenced. It is illegal to try and pass your self off as one if you are not lisenced. M$ had to drop the term engineer from their certification process. Check out Professional Engineers Ontario [peo.on.ca] under Software Engineer for more details.

      It all boils down to liability. If I certify a water treatment process safe and its not. Than I am in DEEP trouble. No more lisence, fines and basically the carrear is down the tube. In Canada and I think most of the commonwealth this is true.

      Now I know a bunch of computer engineers, most of those guys are hardware, not software, but these guys wouldn't want to be engineers under Canadian law if they were doing programming. The computer software industry is still too immature to fall under these types of guidelines. Too many programs are not stable yet are shipped out because marketing wants them to.

      I think I all boils down to currently the public is willing to let flawed software exist. And until someone dies nothing will change.

      Like water in Ontario. People have to die before there is a backlash and things are fixed.
    • by krugg234 (598214) <pepperm@umich. e d u> on Sunday March 30, 2003 @03:20PM (#5627490)
      On the other hand, licensed Professional Engineers undergo rigorous training in order to obtain that status. I'm not sure exactly how it works in Texas, but in North Carolina (where I'm in school), becoming a professional engineer takes 3 steps. 1) You have to pass an extremely long and difficult test in various areas of engineering such as thermodynamics, fluid mechanics, and solid-state physics. 2) You have to work a set number of hours under an already licensed PE who signs off on your work. 3) After completing those required hours, you have to pass yet another exam that tests your engineering know-how. I'm sure if anyone ever tried to implement such a system for liability for software engineers, it would require having those coders undergo similar training. I'm not saying that this would make the software engineers any less likely to make mistakes, but it does mean that: (a) those who are professionally certified know the risks and have been trained in avoiding mistakes and (b) only those who are willing to be held liable would become PE's. You are allowed to do less critical engineering work without obtaining your PE license. I'm sure the same would true for software developers.
      • by a42 (136563) on Sunday March 30, 2003 @08:46PM (#5628930)
        but it does mean that: (a) those who are professionally certified know the risks and have been trained in avoiding mistakes and (b) only those who are willing to be held liable would become PE's. You are allowed to do less critical engineering work without obtaining your PE license. I'm sure the same would true for software developers.

        This would certainly mean the end of crappy software. In fact, it would mean the end of ALL software. We can't get our employers to pay us to do it properly now -- you think that's gonna change just because your career is on the line?

        Software doesn't suck because software engineers are bad. Well, okay, it does, but that's not the only reason. The primary reason that software sucks is that nobody is willing to pay us for the amount of time it actually takes to do something. When you take an 18 month schedule and compress it down to 6, remove all QA, and THEN add all sorts of additional requirements at the last minute what do you expect? I doubt if "real" engineers work that way, why should we?

    • by John Hasler (414242) on Sunday March 30, 2003 @03:23PM (#5627511) Homepage
      > If you are a licensed Professional Engineer (PE)
      > in the state of Texas, you can be held liable
      > for any damages on a project.

      You are liable for your negligence whether you are licensed or not.

      > How many 'software' engineers in Texas are
      > willing to put their reputations on the line
      > (and stand up to civil lawsuits) if they have
      > made a coding mistake?

      How many software engineers are willing to work as "associates" for low wages for years while the senior partners take all the credit and all the money in hopes of eventually being granted the recommendation they must have in order to get a license?
    • by NitsujTPU (19263) on Sunday March 30, 2003 @03:29PM (#5627542)
      I wish that they would make a qualifying exam for software engineers, so that one could get a PE in software engineering. Not so much because I care about the title but because of a few other reasons:

      1) People would quit screwing with programmers, telling us we need to evolve into "software engineers." All that that ever does is add paperwork and make my job harder. A bunch of people come in, who don't know how to do our jobs, and tell us to do it differently, because it will make us engineers.

      2) It would raise the level of quality within the field. If everyone was held to the same standards when they came into the field, there would be some minimum level of knowledge required to start out. Good. Now I won't have some putz without a clue telling me my code isn't up to snuff.

      Why is this not going to happen any time soon:

      1) Do you test their coding ability? In what language?
      2) Do you test their knowledge of algorithms, or are you, in doing so stepping into the scientific discipline and away from the engineering discipline?
      3) Do you test their knowledge of data structures?
      4) Do you test their knowledge of UML? Most universities gloss over this, as in academia, this seems to hold little repute, yet many companies stake their claims as engineers on knowledge of UML.
    • by ryanr (30917) <ryan@thievco.com> on Sunday March 30, 2003 @03:33PM (#5627573) Homepage Journal
      That kind of licensing just means that they have to carry a bond, which is a cheap form of insurance. Most licensed professions (eg locksmith) require a bond. (FYI, you can get a $30,000 locksmith bond for $15/year & a magazine subscription.)

      Seems to me that the question in Texas just boils down to whether the programmers have passed the test, done the paperwork and paid the fees.

      So, what's the Software Engineering Exam in Texas like? Hard? Do they test in C or pseudocode or what?

      (In other words, you license particular professions that have a potential impact on public or customer safety, not the word "Engineer". If they feel that there's some danger that people will trust me to design their buildings because I'm a software engineer, then they have to restrict the word "Engineer" to a particular profession. Just like I can't call myself a MD or police officer.)
    • How many 'software' engineers in Texas are willing to put their reputations on the line (and stand up to civil lawsuits) if they have made a coding mistake??

      People always bring this up, and it always make me think the same thing: you couldn't sue a medieval "barber" if he made you sicker rather than better with his regimen of "bleeding" and leeches. But you can sue a doctor for malpractice if he accidentally leaves a sponge in you. Is software "engineering" at an analogous level of maturity?

    • There was a conference once (I don't remember what or where, this is an ancedote from a professor of mine) wherin, the speaker asked "How many of you here would fly in an airplane controlled by software you were on the design team of?"

      Everyone just sat there, looking around to see who would be the first to raise their hand. Finally a man near the back raised his hand. The speaker asked him "You feel that confident about your software, do you?"

      He replies, "No. I just know that if my company was writing
  • Well... (Score:5, Funny)

    by Sayten241 (592677) on Sunday March 30, 2003 @02:58PM (#5627322)
    If garabage collecters can be "sanitation engineers" and housewives can be "domestic engineers" then why the hell not programmers. =P
    • Programmers are now "Simian Engineers".:)
    • Exactly... (Score:3, Interesting)

      by Keebler71 (520908)
      I wouldn't call a welder or the guy who installed my drywall an engineer. Perhaps the guy who designed my house and certainly the guys who designed the construction equipment.

      Now, I am going piss off a lot of people but consider a large software project... say developing the software to run a complete Air Traffic Control System (ATC). This task would likely require hundreds of programmers and many managers and systems engineers. The managers and systems engineers who develop the SPECIFICATIONS, PROTOCO

  • by zapp (201236) on Sunday March 30, 2003 @02:59PM (#5627330)
    - level of involvement
    - size of project
    - mindset

    Level of involvement:
    Are you a system architect? Do you write php or perl on the weekend? I think the answer to those should be obvious. The higher ups who do design the system, and work with what parts fit where, etc, I concider engineers. They need to know the rules, have good practices, and so on.

    Size of project:
    Writing a web-based app is usually not engineer-level work. I'm not putting this on what language you use, but in general anything written in perl/php/other-scripting-language is not engineer-level (a project we just finished at work was written entirely in perl/ksh, so this is not 100% true.)

    Most of all....
    Mindset:
    If you think like an engineer, you are an engineer. If you plan carefuly, and think everything through and treat your product as a full system, you are likely an engineer.
    If you sit down and start typing code, you are likely a code monkey.
    • by CoolVibe (11466) on Sunday March 30, 2003 @03:14PM (#5627452) Journal
      If you sit down and start typing code, you are likely a code monkey.

      DISCLAIMER: I'm not a programmer, but I am a sysadmin who dabbles in C, Perl or Python sometimes, and the occasional shell hack. It's proven a useful skill many times, and I'd like to think that I am somewhat competent at it. Oh, and I acquired these skills autodidactically (sp?).

      Seriously, i don't code much, but when I do, it's either to work around some bug or patch around some unwanted behaviour, to glue a front-end to some back end thing, or I cobble something together to automate some stuff. Sure, there's not a lot of design going on, but I usually produce readable code, and somewhat decently commented (that's so I'll understand what's going on when I look at it 6 months later when it breaks), but no, I wouldn't call myself a programmer, but yes, I do program. I rather wouldn't, but hey, shit happens.

      So are code mumbling sysadmins like me really programmers? I'm certainly not a code monkey, although I use _no_ form of design methodology. Hack first, ask questions later.

      It's a toughy, I grant you that...

    • I dunno that such comparisons can be drawn lightly.

      I work with 2 electronics technicians. One carefully thinks things through, architects his designs first, and in general makes as good or better a solution than what I brought to him. He has a technical electronics degree - kinda like a TV repair man.

      The second has a master's in engineering, but is so incompetent I usually choose to do the work myself - it will get done faster, and better. Mostly, it won't need to be re-done is 2 weeks.

      So which is the en
    • I think you did a pretty good job of summarizing that one up. I'd like to clear up your point about the Web-based app though.

      Personally, writing an "application" isn't engineering, and it really doesn't even require a computer scientist to do. I'm talking about bare-bones pithy little applications that don't have to take anything into account except one or maybe two different systems; like your database structure and your application layer. You can tier them up individually, but in the end somebody writ
  • It all depends ... (Score:5, Interesting)

    by Tensor (102132) on Sunday March 30, 2003 @02:59PM (#5627331)
    On what you studied, here i took a 5 college year course including physics 1 & 2, thermodynamics, calculs, adv calculus and all the regular programming/db/hw subjects finishing with a work-experience paper presented 6 months after finishing classes to graduate.

    I EARNED the right to be a Software Engineer.

    • by Skyfire (43587) on Sunday March 30, 2003 @03:02PM (#5627359) Homepage
      yeah, but you do the same stuff as the code-monkey in the cubicle next to you that took courses for 6 months to a year at the local commmunity course
    • by Fluffy the Cat (29157) on Sunday March 30, 2003 @03:10PM (#5627416) Homepage
      In various parts of the world, an engineer has a level of professional liability and expected ethics that the software industry refuses to accept. When that's no longer the case, I'll have a good deal more sympathy.

      For what it's worth, I have a high level of academic and industry experience. I design and write code for a living, which makes me a professional programmer. I EARNED the right to put "BA" after my name[1], and I EARNED some cash. I did not EARN the right to call myself a Software Engineer, any more than I EARNED the right to call myself an MD, a PhD or any other title that may give the perception of competence.

      [1] My university awards BAs for all non-Masters degree courses, even science ones
      • by javahacker (469605)
        Lets get some facts correct. In most of the US, you are an engineer if you study engineering in college, be it electrical, mechanical, etc. To manage projects in civil engineering you have to be a licensed Professional Engineer (P.E.). That means you have several years of experience, have passed thorough testing, and have references from established P.E.s that say you are not only qualified technically, but ethically, to recieve the title.

        Texas, unlike the rest of the US, says that the title Engineer is
    • On what you studied, here i took a 5 college year course including physics 1 & 2, thermodynamics, calculs, adv calculus and all the regular programming/db/hw subjects

      I EARNED the right to be a Software Engineer.
      Same here. Whenever I collect my welfare check I have to remind myself of this fact.
    • by ComputerSlicer23 (516509) on Sunday March 30, 2003 @03:54PM (#5627704)
      Not really. I've double majored in Mathematics and Computer Science, and have 15 hours of upper level physics, and I'm a code monkey, I've got over 95 hours in Math, Physics, Engineering, and Computer Science related courses. I didn't pass the state certification process to be given the title of Engineer in the state I work in (Nebraska in this case). If I'd done that, I would have earned the right to be called an Engineer. Oh, and my business cards refer to me an Engineer, technically that is my title at work, but I've got right to the title. The guy in charge made it up, and I can't refuse it.

      There can't be an Engineer in software. As Alan Cox has written on several occasions, software engineering is roughly in the alchemay stages in relation to state of the art chemical engineering.

      In a real engineering, process there are things to check, verification, and known facts which can be double checked against the standing design. The design checked against the implementation.

      Building a bridge is a much easier process then say writting a secure OS UNIX clone. It's easier in the sense, that it's been done so many repeatable times since the Romans. The understanding of the underlying structures of a bridge are well know. All intereactions between the people on the bridge, and the bridge are known (hard to calculate them all, but reasonable well known). Recently (in the last 50 years), we learned a new trick about bridges. That the cross sectional area, and wind can interact with forces that will tear down a bridge. Okay, that as far as I know was the last major mistake that was a complete unknown in bridge building. I believe it happened sometime in the 50s. You know right after the first couple of computers we're built. We don't know anything writting software in comparison to bridge building.

      Building a Secure UNIX or UNIX clone has yet to be done once. The understanding of all the various layers of software spans when writting an GUI application all the way down to the quantum effects that happen in silicon, I believe they claim 12-15 orders of magnitude of understanding. That's a lot, possibly more then any other intellectual endeavor ever undertaken.

      About the only places that can stand up and say, they follow an Engineering process are places that are SEI certified Level 5. They have a repeatable, measurable process by which they do things. That starts to sound like Engineering. Real Engineering is very hard, very tedious, and very boring. Most code jockeys I know, couldn't do it. It'd drive them nuts. You've got absolutely no right to be called an Engineer on an off the shelf software application. If you write software for a company that foists on you a horrible, gut renching process, of checks, double checks, that involves throwing away everything that doesn't meet their excating standards, now you talking about it. Where every single index is documented to not be possible to overflow the array, that's Engineering. I've never seen anybody ever do it, but if it we're Engineering, it would have to be done. Even after all that, you still have to be working in an area where what your doing is extremely well understood, and has been done lots of times before. Where all interactions between every module is well researched, and well understood. Where all the compenents have well defined qualities, that react in a statistically predictable manner in all situations.

      Have you considered what solar flares would do to your software? Do you have a fault tolerant memory storage scheme to account for the bit flips that will occur because of it? Do you use an operating system, and do you understand all of interactions between the various parts? Have you documented why everything works the way it does? Do you document every single change with a full risk analysis of why it's being done, and how it only improves the reliability of the system. People in Engineering do that. People who worry about stuff like that, are Engineers. It's not that Engineer's do

  • It has to be. Why else spend the time on such a "silly" debate?

    I'm just surprised it took this long.
  • I agree that if someone calls themselves an engineer, they should have some certifications to back them up. Like the Professional Engineering or Engineer in Training tests (which a very hard to pass).

    However, anyone can be an artist, so let's call them Software Artists. Sounds so much better than code monkey...
  • Depends (Score:5, Insightful)

    by menasius (202515) on Sunday March 30, 2003 @03:00PM (#5627339)
    I think there are three types of people who program.

    Code-Monkeys: these guys do exactly what they are thought to do: Grind out code. Usually not innovative, usually no technical achievement. Nevertheless, they'll get the job done especially if its something that they can base off other things.

    Computer Scientists: These guys use code to test new ideas and methods. This is the research side, but its not always practical research. An analogy I can make is you can't a bridge without math but advanced number theory really doesnt make better bridges.

    Computer Engineers: These are the practical counterparts to somputer scientists. Usually innovative but in a sense that they comstruct useful things. What an engineer makes a code-monkey will be able to replicate soon. Just like it takes an engineer to design an engine, but Joe-mechanic can rebuild one or even "modify" it to get some use out of it.

    I dont want to put a negative spin on any of these as they all serve their purpose in my mind. Perhaps you will dis/agree.

    cheers

    -bort
    • Re:Depends (Score:5, Insightful)

      by Arandir (19206) on Sunday March 30, 2003 @04:10PM (#5627789) Homepage Journal
      I'm definitely a Software Engineer. Not only does my job title say so, I do the work of one. I am NOT a code monkey. 90% of my time is spent on requirements, specifications, design,validation, verification, and reviews. Excepting the calculus and state licensing, I do the same things an engineer in any other field does.

      Unfortunately the upper management is full of people who don't understand that. They think we're still code monkeys and think I'm being sarcastic when I give them an estimate of 6-8 weeks for a bug fix.
    • Re:Depends (Score:3, Insightful)

      by bigpat (158134)
      "Code-Monkeys: these guys do exactly what they are thought to do: Grind out code. Usually not innovative, usually no technical achievement. Nevertheless, they'll get the job done especially if its something that they can base off other things."

      I disagree. Most engineers of any specialty rely upon existing well understood designs which they might modify to fit a particular situation, but rarely ever venture very far from what they have been shown to work before. So it would seem that there is no differenc
  • by jeramybsmith (608791) on Sunday March 30, 2003 @03:01PM (#5627347)
    The term "engineer" has already been besmirched by Novell and Microsoft. Lets not water it down futher. The answer is simple. Someone with a computer engineering degree from a 4 year university is an accredited engineer. Someone with an IS, IT, MIS, ITM degree is _not_ an engineer. Sorry but if you wanted to be an engineer, you should have studied engineering. Someone who drops out of college and learns VB or perl or something is not an engineer. The term engineer implies some form of accreditation. I applaud Florida who makes it illegal to expand the term "MCSE" on a resume or in a business letter unless you are an actual engineer.
    • by smallpaul (65919) <paul.prescod@net> on Sunday March 30, 2003 @03:35PM (#5627588)

      I applaud Florida who makes it illegal to expand the term "MCSE" on a resume or in a business letter unless you are an actual engineer.

      Whether or not these people are using the term engineer correctly or not, it is abhorrent for the government to use its energy to try and prevent the evolution of terms. Nobody would ever be endangered if an MSCE expanded his job title. He is a Microsoft Certified Engineer, not a Chemical Engineer or a Civil Engineer. Nobody would hire a Chemical Engineer to build a bridge and nobody would hire an MSCE to do it either. So the harm is just to your sense of propriety. Flame them if you like but leave the cops and courts out of it.

      • Whether or not these people are using the term engineer correctly or not, it is abhorrent for the government to use its energy to try and prevent the evolution of terms.

        Evolution of terms? OK well, unlike the rest of the general population you and I may be able to appreciate the subject of linguistics and the gradual "evolution of terms" in language. The fact of the matter is that people are dumb. People are so dumb that if you tell them you're an engineer, they'll trust you. Have you ever seen a perso
        • by smallpaul (65919) <paul.prescod@net> on Sunday March 30, 2003 @05:29PM (#5628134)

          Evolution of terms? OK well, unlike the rest of the general population you and I may be able to appreciate the subject of linguistics and the gradual "evolution of terms" in language. The fact of the matter is that people are dumb. People are so dumb that if you tell them you're an engineer, they'll trust you.

          What does it matter? Do people at cocktail parties hire engineers? Look, if a guy with an MCSE goes to a job interview and presents himself as a civil engineer, he'll probably go to jail. But the same goes if a Chemical Engineer presents himself as a Civil Engineer or a Doctor of History presents himself as a medical doctor. The fact that the guy who isn't what the public calls an engineer or a doctor happens to use that term does not hurt anyone. The people who hire need to know the difference or we are in deep shit regardless of what the law says.

          If the public at large gets to define what "engineer" means then it means "guy who runs the train."

          It is 100% the government's responsibility to intervene and as a soon-to-be ACREDITED software engineer in the province of Ontario, I'm glad they are doing it! I'm sick of these 2 years in IT college also-rans calling themselves software engineers!

          And now we come down to the real issue. It has nothing to do with protecting the public. It's simple elitism. You've worked hard for a particular designation and you're afraid it will come to be seen as less prestigious. Boo hoo. It's too late. To the general public, an engineer is the guy who runs the train.

        • And this is why the whole 'who can call themselves an Engineer' is a pretty stupid debate.

          Know what most of the public think an Engineer is?

          The guy who drives the train.
      • He is a Microsoft Certified Engineer, not a Chemical Engineer or a Civil Engineer. Nobody would hire a Chemical Engineer to build a bridge and nobody would hire an MSCE to do it either. So the harm is just to your sense of propriety. Flame them if you like but leave the cops and courts out of it.

        The point is that the term "Engineer" should be used properly. MCSE or a Netware "engineer" qualify as misuse of the term 'engineer'. A "Microsoft Certified Systems 'engineer'" is really a technician, not an en
  • Don't engineers drive trains?
  • According to this [effect.net.au] text, and engineer is People who work in the fields of science and technology.
    Generic geeks. Look at Dilbert for example.
  • The difference (Score:5, Informative)

    by j (2547) on Sunday March 30, 2003 @03:02PM (#5627356) Homepage
    Programmers work at a tactical level. They are supplied specifications and produce a product to meet them. They are skilled labor, akin to tailors and masons.

    Engineers engineer. They understand the problem better than the customer, and are consequently relied on to help form the basic goals of the project itself. Engineers, working at a strategic level, could also excel in business or government if technology didn't have the best toys.
  • by brarrr (99867) on Sunday March 30, 2003 @03:03PM (#5627361) Journal
    I am an engineer in the traditional sense of the word. I find it abhorant that a tech support person puts the word in their title or that there are actual cases of 'sanitation engineers'. To be a legal engineer, you must have the degree, and pass the exams proving that you are capable in your field. Furthermore, you cannot claim to be capable in a related but different engineering field unless you truely are. I may be shiznit in the field of transportation engineering, a subset of civil, but can and would never put my name on anything to do with structures, because I might not have the expertise.

    However in the world of IT and programming, any slackjawed yokel who can hack out 5 lines of perl can say they're a badass programmer. No engineering to that. Thats like a poseur mechanical engineer making a basic drawing and saying he 'engineered it'.

    There are real software engineers - they do engineer their products, but the trend towards dilution of the term engineer seems to stem mostly from the IT field where a programmer thinks the term synonymous with engineer.
    • by zangdesign (462534) on Sunday March 30, 2003 @03:13PM (#5627440) Journal
      Actually, I'd rather be called a Software Developer, since it's more of an evolutionary process, not a fixed science. There are fewer physical principles that drive software development than something like Mechanical or Chemical engineering. There are also way more philosophical ramifications to our job, since software driven computing equipment is so pervasive in our society.

      In fact, I'd rather NOT be called an Engineer, it's kind of demeaning.
      • If I put "Senior Software Developer" on my resume instead of "Senior Software Engineer" what does that do to my chances of getting a job? Employers *expect* to see the word "Engineer" there so I keep putting it there.

        I'd much rather be "Software Sultan" or "Kode Kaiser" but...

    • I agree. I have a degree from CMU in "Software Engineering". That gives me the right to call myself an engineer if I wish (if I believe a degree from CMU is worth anything). Any yokel with a Bachelors in CS or less is likely a programmer (and there is is nothing wrong with that).

      Obviously what it all really boils down to is the following: As more and more people become programmers without a formal education (which is a wonderful thing) do we need to distinguish between a nautrally capable (and self-taught

  • The ACM needs to step up to the plate on this issue. It needs to setup a University accreditation (sp?) system. If you graduate from accredited universities, you should be known as an ACM Computer Scientist.
  • From the article:

    Kester said the electronics industry has made changing the state law a top priority because it is making it difficult to recruit employees from other states and around the world. "We run the risk of not having them move here," Kester said. "That puts us at a significant disadvantage."

    Yeah, right. Like the weather, fallout from the various crooked company implosions, bankrupt state government and general shitty quality of life have nothing to do with it.
  • Let's ask Webster (Score:5, Insightful)

    by Xformer (595973) <avalon73NO@SPAMcaerleon.us> on Sunday March 30, 2003 @03:05PM (#5627374)
    Second definition of "engineering":
    a) the application of science and mathematics by which the properties of matter and the sources of energy in nature are made useful to people b) the design and manufacture of complex products <software engineering>
    According to that, programmers are engineers. That's especially true for those programmers that do design as well (like myself).
    • by Ruds (86067)
      Second definition of "hacker" from dictionary.com: "2. One who uses programming skills to gain illegal access to a computer network or file."

      First definition of "doctor" from dictionary.com: "5. A practitioner of folk medicine or folk magic."

      Just because a word has a common usage doesn't mean that it is a precisely correct definition of the word. I think that most people will agree that practitioners of folk yadda yadda shouldn't hand out business cards that proclaim them doctors. Programmers can call the
    • Re:Let's ask Webster (Score:3, Interesting)

      by frdmfghtr (603968)
      According to that, programmers are engineers. That's especially true for those programmers that do design as well (like myself).

      Fair enough. Then when a particular piece of software crashes, the software engineer can be held liable for damages caused by the crash (lost time, income, etc.) When you write code, do you stand behind it? If it doesn't work or crashes, will you accept responsibility and liability? If the answer to these questions is "yes," then I applaud your willingness to stand behind you
  • In Alberta ... (Score:2, Informative)

    by Anonymous Coward
    ... in order to be allowed to call yourself an Engineer you must be registerd with APEGGA, the professional engineering society. Currently, the only way to get in to APEGGA is to have an engineering degree from an accredited university program, of which there are 3 (or 4?) in Alberta.

    However, the University of Calgary, and possibly the University of Alberta, now has a Software Engineering degree program, as sort of a subset of Electrical Engineering. This program gives you a BSc in Software Engineering, bu
  • By their meaning... (Score:5, Interesting)

    by Duncan3 (10537) on Sunday March 30, 2003 @03:06PM (#5627386) Homepage
    By their meaning, clearly most poeple are not engineers. That's a clear cut one.

    7/8 of the people working as "coders", that read "Java for waiters" clearly are not engineers either. Also clear cut.

    4 year degree with something on the EE//CS line (I'm right in the middle) and a dozen years in the real world... if you have the degree, and you have the insurance covering your work by yourself or by proxy - which i'm gonna call "licensed" then yea, you're clearly an engineer by THEIR meaning.

    But nothing is more insulting then being considered in the same job category and resume pile as waiter-turned-coder-last-weekend.

    I'd love to see Texas lay the law down on the clueless, and license those of us that really do this for a living. Then all those waiters and such can go back to doing things they can do well.
  • Well... (Score:2, Informative)

    This seems like a quibble over the definition of a word (definitely not something worth occupying so much of our time).

    I'd like to point out the job title "software engineer". They don't just hand that to anybody.

    Secondly, the dictionary definition of engineer ( Dictionary.com [reference.com]) states the following:
    One who is trained or professionally engaged in a branch of engineering.
    One who operates an engine.
    One who skillfully or shrewdly manages an enterprise.

    These definitions aren't the best, so let's go
    • Re:Well... (Score:3, Informative)

      by Coolfish (69926)
      riight. would you let just anyone call themselves a doctor and operate on you? Wouldn't you prefer knowing that in order for them to call themselves Doctor they have met certain requirements? Or what about if you went to court, and your "lawyer" turned out to be a guy who watched Law and Order and thought he could do it?

      Engineering is a PROFESSION. A profession is an industry that is licensed and regulated. A secretary can't call himself a Professional because you don't need to be licensed and regulated to
  • For me, the definition of being an engineer is all about being a professional and taking responsibility for the work you do. In Canada, engineering is very strongly linked to ethical responsibility.

    A good example of this is the fact that all engineers here wear a symbolic iron ring on their right pinky, supposedly made from the iron of a failed bridge that collapsed due to poor engineering, IIRC. This ring is a constant reminder of the responsibility that engineers have to society, as we all put our lives
  • by megazoid81 (573094) on Sunday March 30, 2003 @03:18PM (#5627479)
    Pessimist: "The glass is half-empty."

    Optimist: "The glass is half-full."

    Engineer: "The glass is twice as big as it needs to be."

    Programmer: "Who cares? Just drink the free beer!"

  • by fremen (33537) on Sunday March 30, 2003 @03:23PM (#5627515)
    The requirements for being a licensed engineer in the state of Texas are pretty crazy. A guide can be found here [state.tx.us]. To summarize:
    • An engineering degree that meets some basic requirements
    • 4-8 years of experience, depending on your degree
    • Detailed log of what you've done for these last 4-8 years
    • Experience under another licensed engineer
    • Five references, three of which must be other licensed engineers
    • Two exams
    There is a serious problem here, notably that there are few licensed electrical engineers and no licensed software engineers. Since you need a licensed engineer to create a licensed engineer, few if any qualified people will ever be able to license themselves.

    There are exceptions for people who have been in the field for something like 12 years, but you are still required to have a detailed log of everything you've ever done. Simply put, most people never get this far.

    Personally, I would love to have my license to go along with my EE degree, but it's just not realistic to waste my time. I don't even know any licensed EEs, much less have a company willing to hire me and place me under another licensed EE to gain the required experience.

    My suggestion for the state is this. The word "engineer" has become watered down in the past several years. As it stands today, licensed engineers are allowed to place "PE" after their name, as well as calling themselves "engineers." Thus, the state should probably allow "engineer" to be used in whatever context people want and only let licensed engineers use the "PE" designation.

    Licensing is important and has its place in quite a few fields, so I also recommend that the state evaluate ways to open the door for more people to be licensed in the high-tech fields. Perhaps the restrictions should temporarily be made more lenient to "seed" the field with licensed engineers, thus allowing for easier licensing of new engineers in the future. Finally, I recommend that the legislature let the engineers figure this out, rather than figuring it out for them.

  • by mrybczyn (515205) on Sunday March 30, 2003 @03:40PM (#5627625)
    If organizations such as the ACM, ACL, ALP, CRA, ISOC, and the various national associations were to combine forces and come up with accreditation and standards for "Software Professionals", we might get somewhere. An accredited computer science degree, followed up by specialized examination in a particular field, should yield professional standing just as much as a medical, engineering, or law degree.

    Currently, the software engineering we see growing out of the traditional engineering culture is not sufficient or inclusive. Engineers do not make good computer scientists.
  • My take (Score:4, Insightful)

    by brsmith4 (567390) <brsmith4NO@SPAMgmail.com> on Sunday March 30, 2003 @03:41PM (#5627631)
    If you went to a university and studied in a computer science or computer engineering curriculum (this means that you have studied at least 3 semesters of calculus, 2 or 3 semesters of physics with lab, taken a semester of algorithms, data structures, linear algebra, and a plethora of other mathematics related courses, not to mention your programming courses) then you are an Engineer. This is because a university graduate with the degree in CS/CE/EE has the background to truly apply math, physics and engineering principles AT an engineering level. Some 16 yr old from the local high school that knows how to do VB or Java doesn't even posses a thimble of the knowledge of a true engineer. That is why you see your 16 yr olds coding perl scipts for a web site form processor and your true engineer getting paid 10 times as much and busting out with apps that the 16 yr old probably couldn't even operate.

    So I believe if you have your degree in CS/EE/CE or even Mathematics, and you are a developer, then you have earned the right to be called an engineer. The 16 yr old has a long ass way to go.
  • by legolas (125275) on Sunday March 30, 2003 @04:29PM (#5627881) Homepage
    Context: I'm in my 4th year of Electrical and Computer Engineering at a Canadian university.

    As I am getting towards the end of my degree and I'm getting ready to head out into the big world and work, we've started to be taught several ethics courses. Additionally, I have recently received my iron ring [ironring.ca] - a symbolic (and secret!) ceremony that affirms my commitment to public safety. Through this, I have been picking up the subtleties of a professional designation.

    A Professional Engineer, like a Professional Doctor, Nurse, Lawyer, etc., has a deal of responsibility to the public at large. The privilege of being able to build large buildings, for example, comes at the cost of being responsible that the building doesn't fall. Accordingly, Professionals have professional bodies that they are accountable to above and beyond their responsibilities as a normal citizen. The laws are also much harsher on a professional when they don't act in a professional manner.

    My main issue with software developers using the title "Engineer" is that the software development industry at large doesn't seem to adhere to the professional conduct demanded of a professional. Just take a look at the standard EULA as an example - imagine if the designers of bridges did a similar thing? While I have no qualms about the software developer "engineering" in the sense of creating, I wouldn't call a first aider a "doctor", despite the fact they do the same thing.

    From my perspective, the ideal solution would be to integrate the software developing business into the Engineering profession. In addition to having a professional title, this would be a healthy step towards maturity of an industry that is plagued by antitrust, among other things. This could help bring respect and dignity to the software developer - in addition to more money - which I believe is what people really want.

    Anyways, until such time as this happens, I'm not comfortable with the use of "Engineer" by software developers. In Canada, the term "Engineer" is actually copyrighted to the Canadian Council of Professional Engineers [www.ccpe.ca] - a few years ago, there was actually a conflict with a University [www.mun.ca] that provided an unaccredited course called "Software Engineering", claiming academic freedom. It resulted in a mess, including the temporary withdrawal of accreditation to the engineering programs at the university.

    Which was a bit counter-productive.

    -legolas
  • by mcrbids (148650) on Sunday March 30, 2003 @07:05PM (#5628521) Journal
    engineering n The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.

    By that definition, a software developer is quite frequently an "engineer".

    The real debate I'm reading here is whether you need an accredited certificate to be titled an "engineer".

    I feel no compunction about calling myself a "network software engineer". I perform acts of engineering daily - co-ordinating thousands of bits of data on multiple clusters of computers in a scale and scope comprising thousands or (potentially) hundreds of thousands of people.

    Yet, I do not have any official-looking pieces of paper saying "engineer". So, I am not an accredited engineer, but that doesn't stop me from engineering!

  • by JWSmythe (446288) <.jwsmythe. .at. .jwsmythe.com.> on Sunday March 30, 2003 @08:59PM (#5628986) Homepage Journal
    In my opinion, there's a fine line between code monkey and engineer.. If you're making pretty HTML pages, no you're not an enginner. If you're designing system layouts, you're an engineer.

    I end up working in both capacities..

    If a customer wants a new network put up, and says "give me 30 web servers", I'm going to enginner the network that can do that, from the uplink connection to the server itself. As the engineer, I'll make decisions on what softwares he's going to run, install, and configure them.

    Likewise, if the customer says "give me a system that does xxxx", that'll be engineered. The people who wrote and operate Google or Yahoo must look at themselves as engineers, not just some code monkey that wrote some programs.

    If the same customer says "Make me a page that says hello world, and put it on my 30 servers", that's code monkey work. :)

    Here's the important bits from dictionary.com [reference.com]. I feel that these say we're engineers..

    ----------
    engineer

    engineer Pronunciation Key (nj-nîr)
    n.

    1. One who is trained or professionally engaged in a branch of engineering.
    3. One who skillfully or shrewdly manages an enterprise.

    tr.v. engineered, engineering, engineers

    1. To plan, construct, or manage as an engineer.
    3. To plan, manage, and put through by skillful acts or contrivance; maneuver.

    Source: The American Heritage® Dictionary of the English Language, Fourth Edition
    Copyright © 2000 by Houghton Mifflin Company.
    Published by Houghton Mifflin Company. All rights reserved.

    ----------
    engineer

    \En`gi*neer"\, n. [OE. enginer: cf. OF. engignier, F. ing['e]nieur. See Engine, n.]

    1. A person skilled in the principles and practice of any branch of engineering. See under Engineering, n.

    3. One who carries through an enterprise by skillful or artful contrivance; an efficient manager. [Colloq.]

    Source: Webster's Revised Unabridged Dictionary, © 1996, 1998 MICRA, Inc.

    ----------
    engineer

    \En`gi*neer"\, v. t. [imp. & p. p. Engineered; p. pr. & vb. n. Engineering.]

    1. To lay out or construct, as an engineer; to perform the work of an engineer on; as, to engineer a road. --J. Hamilton.

    2. To use contrivance and effort for; to guide the course of; to manage; as, to engineer a bill through Congress. [Colloq.]

    Source: Webster's Revised Unabridged Dictionary, © 1996, 1998 MICRA, Inc.

    ----------
    engineer

    n 1: a person who uses scientific knowledge to solve practical problems [syn: applied scientist, technologist]

    v 1: design as an engineer; "He engineered the water supply project"

    2: plan and direct (a complex undertaking); "he masterminded the robber" [syn: mastermind, direct, organize, orchestrate]

    Source: WordNet ® 1.6, © 1997 Princeton University

  • Software Too Soft? (Score:3, Interesting)

    by FrankDrebin (238464) on Sunday March 30, 2003 @09:58PM (#5629248) Homepage

    I'm concerned that that Software Engineering as a Professional Engineering discpline is not really going to get very far very quickly. The public and our potential clients need too much education to see value in the profession. I believe the Professional Engineering associations have a huge challenge ahead.

    The Professional Engineering associations do what they can under the legislation to support Professional Engineering. The ultimate premise behind the legislation and existence of these associations is that Professional Engineering is needed. Of course in traditional engineering fields, including the oft-exampled bridge building, a degree of competence is required and demanded by the client. Where public safety is at issue, the professional associations stand behind the "seal of approval" needed by the client, government, and the general public. Of course no one wants unqualified people responsible for works that pose an obvious potential danger.

    However, the public trust is very difficult to causally connect to the practice of professional Software Engineering. I submit the following reasons:

    1. The lay person's perception of software development is that of a black art practiced in darkened basements or ultra-hip NERF-encrusted neo-offices by Pepsi-swilling twentysomethings. Mad scientists and uber-hackers do not instill a professional impression. Traditional engineers are not seen this way - maybe a little nerdy, but still professional.
    2. The public expectation of the performance of computers and software is very low. Terms like "crash", "reboot", and "virus" are now commonplace. Problems seem expected, and are to a large degree tolerated. This is not the case for a major bridge or nuclear power station.
    3. The perceived "talent pool" for software development ranges from inexperienced youngster hackers through to highly-experienced professionals. The entrance barrier to claiming - and demonstrating - ability is very low, and it is difficult to raise the bar. Just about anyone can create and release software. Conversely, if you want to design for example a jet engine, you likely wouldn't hire a neighborhood kid.
    4. Given the above, the initial costs of software projects can seem very low, and very attractive, when done in an unprofessional manner. It is extremely difficult to convince an unsophisticated client otherwise despite the evidence indicating software development done right is cheaper in the long run. Professionalism is seen as an extra cost in software, but an absolute must for designing say a highway on-ramp or a multi-level parking structure.
    5. There are many bodies "competing" with the Professional Engineering associations for setting the common view of the standard of professionalism. A person may be an MCSE, or his organization may be CMM Level 4, etc. It's confusing to the public and difficult to justify and position yet another certification body.

    While there might be enough evidence, both academic and anecdotal, to counter all of these points, it requires extraordinary public education. I have heard comments from my local association members wishing for more proactive public education in traditional Professional Engineering disciplines. While the association has had some lukewarm results in raising the Engineering profile, I find the challenge of doing so for CSED to be orders of magnitude more difficult.

    P.S. I currently work primarily in Software Development, but hold my P.Eng as an EE.

  • An Expert Opinion (Score:3, Interesting)

    by JohnsonWax (195390) on Monday March 31, 2003 @03:54AM (#5630296)
    At a function about 3 years ago, I asked two Boeing VPs whether or not they felt that Software Engineers should be licensed, overlooking the fact that Boeing doesn't need to hire PEs because the company covers the engineers liability. The Texas law had just been passed, IIRC.

    Their divisions each had a substantial investment in software engineers, one more so than the other. And they had slightly different opinions.

    They both felt that it should be a licensed profession based on the quality of the people they hired. One hated the CS people they hired, because they were too eager to do thing. He'd rather train an EE to program, because within 2 years they'd be far more productive and introduce fewer problems. The EEs he felt had a respect for failure that the CS students lacked. He especially cited the degradation of most CS programs during the 90s due to the perception of incoming students that they should all turn into Windows coders. Perhaps things will perk up now that the market has tanked. The other didn't have a strong opinion about where they came from, but he noted they tended to hire more out of engineering than CS programs.

    One felt that Software Engineering wasn't mature enough yet because it lacked a set of rigorous standards. Civil Engineers know how much you can safely load a beam, EEs know failure points on components, but Software Engineers don't have these - or don't have them laid out as standards. What is the standard for preventing buffer overflow? etc. Until there are well regarded standards for Software Engineering practice, there's probably not much value in licensure. Of course, licensure isn't important to them, so they might not have been so hot on it.

    I've also spent time with some Biomedical execs that deal with software in their industry and they expressed more urgent need for it. For one, they're accustomed to accountability through the FDA and physician liability. One pointed out that medical device companies tend to be pretty small - not unlike civil engineering firms, and simply don't have the resources to cover their own liability. They need licensure. They worry less about the hardware development because they can hire licensed EEs or MEs.

One possible reason that things aren't going according to plan is that there never was a plan in the first place.

Working...