Slashdot Mirror


Are Programmers Engineers?

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?"

123 of 963 comments (clear)

  1. Dubya by 0x7F · · Score: 5, Funny
    "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...
    1. Re:Dubya by Anonymous Coward · · Score: 3, Funny

      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

    2. Re:Dubya by YoungHack · · Score: 2, Insightful

      Speaking of that, does anyone find it
      strange that a person appointed to his job
      by a court of people appointed to their
      jobs is going to be the deliverer of
      Democracy around the world?

    3. Re:Dubya by Anonymous Coward · · Score: 2, Offtopic

      *stares blankly into the camera* I can count. *pause* My staff, me and my staff, can count. You can count. You can count on us counting. Make no mistake about that. Counting is good. We are committed to people counting. *pause* The votes... were counted. We counted the votes. *pause* We counted the votes and with the help of god we stopped counting. *pause* This is a nation. A nation under god. A nation indiv... not possible to divide. Under god. *pause* Math is... clearly against religion. Against the bible. *pause* God bless you, and god bless America and all its 52 states. 50 states. *pause* There are 52 states in USA. I mean 50. *pause* We have started the war on North Korea. *blank stare* We... are bombing, I have ordered bombing of the capital of North Korea, which is Seoul. The axis of evil will fall. Through lies, deceit, insults and other things... those things will be used to alienate our allies.... etc etc etc

    4. Re:Dubya by Safety+Cap · · Score: 2, Interesting
      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.

      --
      Yeah, right.
    5. Re:Dubya by D.Throttle · · Score: 2, Insightful

      What does this have to do with Programmers being Engineers?

      If we are on the topic though, would you care to explain how you see any correlation between the manner by which one is elected and his/her intentions? Undeniably your question implicitly claims that W because of the manner by which he took office makes him less likely to "be the deliverer of Democracy" than if he were to have won by a landslide.

      Whether you like it or not, the fact is that the process of the post-election events entirely abided to the US Constitution. Furthermore, even after the court case it was clearly determined that Bush had received more votes in Florida. So what exactly are you trying to dispute? Have you heard of the US Constitution's guarantee of equal protection? Perhaps you should become informed before asking mindless questions.

    6. Re:Dubya by Guppy06 · · Score: 4, Insightful

      Troll.

      "a person appointed to his job
      by a court of people appointed to their
      jobs"


      Um... which court was that? The US Supreme Court, as always, chose between "you go fix it" and "not our problem" (which is what they've always done since 1789 or so). The people they told to "fix it" were the democratically elected members of the Florida Supreme Court, interpreting Florida laws written and ratified by democratically elected state legislators and signed into law by a democratically elected governor. The issue in question were the election results that a democratically elected secretary of state signed off on.

      And even then there was very little the US Supreme Court could have done. All they could do is say whether or not what the State of Florida was doing violated parts of the Fourteenth Amendment or not. Otherwise, the US Constitution clearly spells out that the Florida Legislature can pick its memebers of the Electoral College however it damned well pleases.

      And don't forget that appointments to all federal courts have to be cleared by a democratically elected Congress, which also has the power to remove them from their bench.

    7. Re:Dubya by Dark+Nexus · · Score: 5, Insightful

      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.

      --
      Dark Nexus
      "Sanity is calming, but madness is more interesting."
    8. Re:Dubya by GNU_Suit · · Score: 2, Interesting

      Catherine Harris was caught accepting a bribe from her cousin, Bill Griffin the founder and CEO of RISCORP. Somehow she avoided prison, Bill did not & had to serve several years.

      If you don't believe it, please check via Google.

    9. Re:Dubya by jdeking1 · · Score: 2, Insightful

      Whether you like it or not, the fact is that the process of the post-election events entirely abided to the US Constitution

      Hmm ... except for the fact that disputed elections are to be decided by Congress, not the Supreme Court. This was an extreme derailment of the Constitutional doctrine.

      OK, so I bit the troll bait. Couldn't resist. It was such an obvious morsel ...

      --
      "A generation which ignores history has no past and no future." -- Robert Heinlein
    10. Re:Dubya by stevenp · · Score: 2, Insightful

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

      The Microsoft certification should not give anyone the right to call himself an engineer. It just certifies that the person have learned a bunch of answers for a bunch of predefined questions (nothing personal, you may know your stuff).
      There is nothing about experience, applied knowledge or responsibility stated. I know (hehe) some paper MCSE-s that do not know where is the PC power switch. Their motto is "I can learn that later in the company that is going to hire me because of my MCSE certification". I mean the people REALLY have never used a PC outside of Word/IE (they need to type their resume after all so that it looks nice :)
      The Novell tests are probably better.

      A mechanical engineer normally should pass strict tests, produce something working (diploma work) and generally prove that he knows how to do his work. When practicing, he TAKES RESPONSIBILITY for the things he created. If a plane falls down, the persons that designed it, produced it and certified it for flying are held responsible with consequences for them if an design/production/certification error was found.
      If a software program crashes because of design error and I lose money or reputation because of this, usually no one cares. The software developer may just hide behind the EULA and that's it. It's a wild-wild-west.
      So, enginner is a title that needs to be earned, so that the people know on who they may rely, otherwise it loses its value. It is the same as MD and PhD.

  2. How To Start A Heated Debate by ackthpt · · Score: 5, Funny

    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."

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:How To Start A Heated Debate by soapvox · · Score: 2, Interesting

      Id also have to add that I am a high school drop out and a very successful programmer, I don't think I'd trust a high school drop out to build me a bridge. So to everyone out there. Code Monkeys UNITE!

    2. Re:How To Start A Heated Debate by Jester99 · · Score: 3, Funny
      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.

      :)

    3. Re:How To Start A Heated Debate by wkitchen · · Score: 3, Insightful
      I don't think I'd trust a high school drop out to build me a bridge.
      I would, IF there were another way to validate his/her credentials.

      The purpose of school is two fold:
      1. to teach
      2. to evaluate

      I think the biggest failing in education as it is currently practiced is that these two things are tied too closely together. There are many highly capable people who are actively prevented from contributing to society because of this, resulting in an enormous waste of human potential. Different people learn in different ways, and even for those who do learn best in a formal way, some subjects don't lend themselves well to that.

      I'd really like to see the existence and accreditation of an institution that does not teach, but only evaluates. This way, it matters not whether you studied in a classroom, or hired private tutoring, or took self-moderated self-study courses, or just read a lot out of personal curiosity, or just got your hands on and figured it out for yourself.

      And I'm talking about more than just simple testing, though there would likely be some of that. For such a thing to be credible, it would have to be very rigorous and closely monitored. Personally, I think it should be so rigorous as to be of greater credibility than that of traditional degrees.

      In the interest of full disclosure, I too am a high school drop out with a fairly high-tech career.
  3. Neither ... by DogIsMyCoprocessor · · Score: 4, Insightful

    an engineer or a code monkey. I'm a journeyman ... in the best sense of the word.

    --

    "And this is my boy, Sherman. Speak, Sherman." "Hello." "Good boy."

    1. Re:Neither ... by devphil · · Score: 3, Funny


      Journeying from city to city looking for a job doesn't count.

      (Okay, sorry, couldn't resist. I recognize the word, too, and I agree that this is a Good Thing To Be.)

      --
      You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  4. Re:Definitely by Anonymous Coward · · Score: 3, Interesting

    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 :)

  5. The meaning of Profeesional Engineer in Texas by Amigan · · Score: 4, Interesting

    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??

    --
    "Software is the difference between hardware and reality"
    1. Re:The meaning of Profeesional Engineer in Texas by Omega+Leader-(P12) · · Score: 5, Informative

      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 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.

    2. Re:The meaning of Profeesional Engineer in Texas by krugg234 · · Score: 5, Informative

      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.

    3. Re:The meaning of Profeesional Engineer in Texas by John+Hasler · · Score: 3, Interesting

      > 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?

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    4. Re:The meaning of Profeesional Engineer in Texas by justzisguy · · Score: 2, Interesting

      Board certified engineers who wish to put their name on a project are required by law to carry (in most cases quite expensive) liability insurrency. I'm currently a CE major getting ready to graduate. If there was a test I could take to earn a stamp that I could use to affix my name to a project, I'd be all for it. Yes, the insurrence would be a pain, but by having a person personally responsible for a project just seems to lend that much more credibility. Impropperly designed HVAC can lead to deaths as discussed in the article just as a collapsing bridge or improperly designed roadway can; so what about computer engineers? Poorly designed hardware/software has lead to deaths as well. I would feel better if computer engineers are certified just like the MechEs and CivilEs.

    5. Re:The meaning of Profeesional Engineer in Texas by NitsujTPU · · Score: 4, Insightful

      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.

    6. Re:The meaning of Profeesional Engineer in Texas by ryanr · · Score: 4, Insightful

      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.)

    7. Re:The meaning of Profeesional Engineer in Texas by spyderbyte23 · · Score: 2, Insightful
      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?
      --
      -- Support Ometz le-Serev.
    8. Re:The meaning of Profeesional Engineer in Texas by mitcharoni · · Score: 2, Insightful

      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?

      And that's precisely one of the problems with software "engineers". You have to actually go out and earn prestige and respect. You aren't handed that along with your diploma.

      What do you think doctors and lawyers do after graduation?

    9. Re:The meaning of Profeesional Engineer in Texas by stewby18 · · Score: 2, Informative
      until someone dies nothing will change.

      You mean people like those killed in the widely studied Therac-25 accidents in the late 1980's? Or the US soldiers killed because of a software failure in the Patriot Missle defense system in 1991?

    10. Re:The meaning of Profeesional Engineer in Texas by NeuroKoan · · Score: 2, Funny

      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 the software, the plane wouldn't even make it out of the terminal"

      --

      "However," replied the universe, "The fact has not created in me A sense of obligation."
    11. Re:The meaning of Profeesional Engineer in Texas by arkanes · · Score: 2, Insightful
      How come whenever people compare engineers and programmers, they compare the very top of the engineering industry, the people who work on massive projects (we'll ignore the ones that failed, like that Japanese airport that's sinking into the ocean) to the bottom of the skill chain in programming? My DVD player is a piece of shit. An engineer designed that, and it was a pretty straightforward problem with a well known solution. Every cheap rip off toaster, every single factory recall by every home appliance and toy company... all problems caused by engineers. There's some products that should be alot better than they are. There's been a shitload of engineering mistakes made by people who should have known better also.

      I don't even know why programmers care so much about being compared to engineers, it's not like I give a shit what my title is.

    12. Re:The meaning of Profeesional Engineer in Texas by arkanes · · Score: 3, Interesting
      It was a failure of design. It's being maintained by constantly shoring it up. Call it the real world equivilent of solving memory leaks by getting more memory. It's an instance of a major project that ran into huge trouble because an engineer fucked up and therefore a counterargument to the idea that having the little symbol on your buisness cards somehow makes you more capable than someone without it.

      I'll take a moment to rant here, actually, because it's something I see alot with all kinds of accreditation. People have an assumption that the diploma or the logo or whatever means that they're innately more skilled than people without it - it doesn't. It means that you're accredited to have met a minimum amount of skill, not that you're privy to knowledge that others don't have.

    13. Re:The meaning of Profeesional Engineer in Texas by a42 · · Score: 4, Insightful
      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?

  6. Well... by Sayten241 · · Score: 4, Funny

    If garabage collecters can be "sanitation engineers" and housewives can be "domestic engineers" then why the hell not programmers. =P

    1. Re:Well... by Coolfish · · Score: 2, Informative

      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 be a secretary, regardless of how "professional" he or she appears to be in his or her job as a secretary. Likewise, a computer programmer isn't licensed or regulated. An engineer, however, IS.

      In Canada it's much simpler. You are NOT an Engineer unless the CCPE (Canadian Council of Professional Engineers) says you are. To be an Engineer, you must have an Engineering Degree from an accredited university. You must have work experience in the relative engineering field (2-3 years), and you must pass a written exam on professional practice (ethics, laws, regulations, etc.) Also, you're obligated upon graduation by taking the Oath of the Iron Ring, which just like the Hippocratic Oath, swears you to uphold the standards of Engineering for the public good and safety.

    2. Re:Well... by Starholmer · · Score: 2, Informative
      "I'd like to point out the job title "software engineer". They don't just hand that to anybody."

      Sure they do. It is a job title, a company can call someone whatever they want (at least internally). I work with two "software engineers" that have no formal computer science/programming education, and only one of them even has a college degree.

      I went to an ABET accredited Engineering School (UNCC - Go Niners!), I passed the exam and now I am an EIT (Engineer in Training), and a member of the National Soceity of Professional Engineers. There were hoops that I had to go through, and I feel that anyone else that wants to call themselves an engineer needs to go through similar trials.

  7. Depends on a number of things... by zapp · · Score: 4, Interesting

    - 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.

    --
    no comment
    1. Re:Depends on a number of things... by CoolVibe · · Score: 4, Insightful
      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...

    2. Re:Depends on a number of things... by blakestah · · Score: 2, Interesting

      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 engineer?

      But really, professionally, engineers need to pass a test upon graduating from college. This is a general test. Then, years later, they can receive professional certification by demonstrating engineering proficiency at their craft - usually by presenting a completed project they led for evaluation by their peers. This process leads to the real deal being called professional engineers.

      I see no problem with the same criteria being applied to programming. Except that few, if any, could pass the first round of tests without academic training in engineering. The certification process needs to be the real deal.

      Let any code monkey say he is training for a PE degree. And, when you really need some programming done, go to someone certified. He will have 5+ years experience, and received the stamp of approval from his peers.

    3. Re:Depends on a number of things... by pi_rules · · Score: 2, Informative

      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 writing a product that snatches data from a DB that's located close (network wise) to your application is really writing a very simple system. I don't care if it's a web application, console app, or a VB app; it's the scope of the job that really matters. You did bring this up, so please don't think I'm trying to lambast you here.

      There was a comment about the Indian outsourcing a few days ago where a poster stated that he thinks programmers really are plug-in plug-out now, as writing an application is just dragging some icons and slapping out some VB code here and there. This is true, there's a good market for such systems, but when you need something more complex than that, you need a computer scientist, or if things get really big, you need an Engineer. I'll try and make some sense out of all of this here.

      I'm not degreed, as I jumped into the job market at an opportune time and was very dissatisfied with my education. There's a myriad of reasons for this, but I won't go into them. Perhaps it was sheer arrogance from being young, who knows.

      Because of this I will not seriously consider myself an Engineer; however I do the work of an Engineer now. My previous job title was "Application Developer" -- a politically correct term for "code monkey". I hated that job's duties, but I stuck with it as it paid the bills until something fell into my lap that would bring me back into an engineering role. As code monkey you don't have any choice about what's going on, you just write components or applications that require pretty much zero-thought if you've got a basic understanding of how an application should be structured and sufficent experience. It's mind numbing work usually. It irked me to no end doing this job because I knew darned good and well it was no more advanced than the drivel I could crank out when I was 16 years old.

      Now, where I'm at now I don't even write code most of the time. I'll hack up a system I've designed and fit it into our architecture if the developers are strapped for time, or if it would take too long to draw up a formal requirements spec for them though. What I'm doing now is fixing architectural problems related to a system we've purchased that just doesn't scale up well. It wasn't engineered -- it was code-monkey'ed out the door. To top it all off, it's a web-application that I'm fixing. The core product was well engineered, but the web application wasn't, probably because they figured any code monkey could do it. Boy, where they wrong.

      A lot of this is mindset, as you mentioned earlier. A developer, when presented with the next-gen architecure of this application will usually just nod at the feature set and hope to hell they don't break existing API's. I, along with my team, are paid to find holes in this, and bring up the what-if's, and point out the impossiblity of some of their claims before we're knee deep in the next version withou a paddle.

      Complex systems, with many layers (think multi-contentinal systems pointing back to a centralized database, or distributed databases replicating between them) need Engineers.

      Complex problems, with large datasets and non-obvious algorithms to solve said problem require a computer scientist. How would one go about properly aggregating seperate datasets and pulling out meaningful stastical data from them and get the job done before the next century?

      Fleshing out the code behind a UML diagram takes a code monkey.

      Summary:

      You need a big system? Find an

  8. It all depends ... by Tensor · · Score: 4, Interesting

    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.

    1. Re:It all depends ... by Skyfire · · Score: 5, Interesting

      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

      --
      Do not go gentle into that good night. Rage, rage against the dying of the light.
    2. Re:It all depends ... by Fluffy+the+Cat · · Score: 4, Insightful

      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

    3. Re:It all depends ... by Beliskner · · Score: 2, Funny
      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.
      --
      A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
    4. Re:It all depends ... by javahacker · · Score: 2, Interesting

      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 the equivalent of the P.E., which it is not. This is an error on the part of lawmakers in Texas, who should act to bring their definition of Engineer into line with the rest of the country.

      I have a B.S.E.E. which is an Electrical Engineering degree. It is recognised throughout the country, and one would expect through much of the world, what this represents. If I had a P.E., it would not necessarily mean that I was the person you would want to design a bridge, or a building, but would mean that I would send you to someone who could, rather than do a bad job for you.

      Since I have a degree, which I earned, that includes the title Engineer, I find it offensive that Texas would refuse me the right to use that title. Requiring a P.E. for some activities is perfectly understandable, but there are many Engineers who do not have a P.E., who still deserve to be able to use the title they earned.

      Having said that, I find the MSCE, and similar titles to be offensive. They didn't earn the right to use the title Engineer, which implies an educational background well beyond what is required to pass the MSCE technical exam. Microsoft can't declare someone an Engineer, but passing through an accredited Engineering program is college is an entirely different thing.

    5. Re:It all depends ... by ComputerSlicer23 · · Score: 3, Insightful
      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

  9. Depends by menasius · · Score: 5, Insightful

    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

    1. Re:Depends by Anonymous Coward · · Score: 2, Informative

      You're a litle off on the Computer Engineer (although the degree varies a bit from school to school). At my school Computer Engineering is a hybrid of Electrical Engineering and Computer Science. Puts you in a kind of unique place for designing hardware and writing low level software to run on it, or going the all harware or all software route.

    2. Re:Depends by Ruds · · Score: 2, Interesting

      I definitely agree with this breakdown. Just as not everyone who works on hardware is an electrical engineer (e.g. technicians), not everyone who works on software is an engineer.

      I have a degree in electrical engineering, and I've seen the curriculum of undergraduate computer scientists at my alma mater. I would say that CS degrees create the potential for software engineering just as EE degrees create the potential for electrical engineering--the courses provide the framework but do not an engineer make. There's a reason that PE licenses require some work experience as well as passing a test--experience in the field, following correct processes, etc, is a necessity to create an Engineer (sic).

      Just as a note, there is some engineering going on in research institutions as well. I'm currently in the Computer Science graduate program at a research university, and some of the applications research (applying new ideas to particular problems) involves engineering as much as science.

      Matt

    3. Re:Depends by Arandir · · Score: 5, Insightful

      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.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    4. Re:Depends by bigpat · · Score: 2, Insightful

      "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 difference between an engineer and a monkey who also bases his work closely on the work of others.

      Seems the only rational basis for understanding a title is for litigious reasons. So someone who has met certain requirements and follows well understood practices is given legal cover.

    5. Re:Depends by thrillseeker · · Score: 2, Insightful
      Excepting the calculus and state licensing, I do the same things an engineer in any other field does.

      Without the state licensing, you're not an Engineer, and you shouldn't call yourself one.

      The problem is that this state licensing issue has been abused for far too long without the state legal system doing anything to insure that when the term engineer is used it has meaning.

      In some countries the term Engineer can be used as we do Doctor in the US - if we encouraged this use in the US then people would realize the importance of the label. That won't happen.

    6. Re:Depends by Strych9 · · Score: 2, Insightful

      I"m an engineer. (Well in name anyway, I can't legally call myself that quite yet).

      When a lot of people ask me what do engineers do, it really isn't a simple answer. In fact, many people who are far more eloquent than I, have tried without much success.

      That being said: Programmers may apply some engineering principles to what they do (and maybe not even know it), but it still does not take into account the rest of the training and mindset. Just because a porsche and VW both have wheels and an engine doesn't make them the same.

      I agree with the above posters when they mention responsibility. Right now an engineer would have to be insane to stamp (professionally approve and take responsibility for) a chunket of code no matter if it comes from a hard core programmer or engineer. There are many other aspects that do differ the engineers from those without the training, even when there are those out there without the training who do a good job applying the principles.

      Just my 2 cents

  10. Don't Water Down "Engineer" by jeramybsmith · · Score: 5, Insightful

    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.

    --
    Never overestimate the end user. -jeramy b. smith
    1. Re:Don't Water Down "Engineer" by smallpaul · · Score: 3, Insightful

      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.

    2. Re:Don't Water Down "Engineer" by rlowe69 · · Score: 2, Insightful

      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 person's eyes glaze over when you tell them you're an engineer? They know they are in uncharted territory. They TRUST engineers and the work they do because they know engineers are responsible for their COMPLICATED hard work.

      If anyone can call themselves an engineer because of "evolution of terms" we not only have legal problems, but also societal TRUST problems. 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!
      </rant>

      --
      ----- rL
    3. Re:Don't Water Down "Engineer" by smallpaul · · Score: 3, Insightful

      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.

    4. Re:Don't Water Down "Engineer" by freeweed · · Score: 2, Insightful

      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.

      --
      Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
    5. Re:Don't Water Down "Engineer" by sl3xd · · Score: 2, Insightful

      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 engineer, and should be labeled as such. The same applies for Novel Netware 'engineers'. In fact, MCSE's and Netware's naming convention has all but destroyed the credibility of the name "Computer Engineer," which is usually lumped together with MCSE's and Netware 'Engineers'. The difference is comparable to a mechanical engineer, who designs a car, and a mechanic, who changes the car's oil.

      It is often completely misunderstood that the differences between an electrical engineer and a computer engineer are relatively few, summarized by:
      * An Electrical Engineer has more depth in analog systems and antennas, and less depth in digital systems and software.
      * A Computer Engineer has more depth in digital systems and software, and less depth in analog systems and antennas.

      Which is not to say that either is lacking an education in either area; just that there is a focus on analog systems for an EE, and a focus on digital systems and computing for a CompE. However, a great many managers lump a Computer Engineer with a MCSE or netware 'engineer'.

      In a similar vein, there are several kinds of attorneys, who specialize in several branches of law. However, to call oneself an attorney without having passed the requisite bar exams, and be in good standing with the bar assosciations is illegal in most states.

      Basically, we enginners desire to have our profession's name undiluted, and maintain the respect that it deserves. Doctors, attorneys, accountants, and just about every other white-collar professional don't put up with the misuse of their profession's title, however engineers are forced to grit their teeth as janitors manufacture an important-sounding name which invariably contains the term 'engineer'. It's as absurd as a parent calling themselves an 'attorney' simply because they argue with their teenagers, a mother calling herself a 'nurse' even though she only put a band-aid on her daughter's scrape, or a handyman calling himself a 'mathematician' because he uses math to compute the number of square feet of carpet needed to cover a floor.

      And, just to stay on topic, there's a world of difference between a software 'engineer', a computer scientist, and a computer engineer. The current science and methodologies of developing software (arguably) will qualify as a true engineering profession in a decade or two; at this point it is still rather immature. It is getting closer, but it isn't there yet. The key issue being that real 'engineering' has a considerably more solid background in science and experience that is even possible in software.

      Most branches of engineering are centuries old, not decades. The behavior of the related systems is understood very, very well. There is very little argument about methodologies, as enough time has passed for most veins of thought and methodologies in use to have been tested thoroughly. There may be argument about an implementation, but the methods used are sound and very well-understood. There is a very real responsibility to being an engineer, both from an ethical and a leagal standpoint. When software 'engineers' are leagally, personally, and individually held responsible for their work, when commercial software cannot disclaim damages arising from its use, when software 'engineers' can be sent to jail for creating code that causes personal injury or death, when they must obtain a licence to practice their profession (as doctors, lawyers, nurses, and accountants must do), when they then they will be

      --
      -- Sometimes you have to turn the lights off in order to see.
    6. Re:Don't Water Down "Engineer" by swillden · · Score: 2, Funny

      Scientists are thought.

      Every scientist I've ever met had a definite corporeal aspect as well. A lot of young scientists wish they could be pure, disembodied thought, but they grow out of it.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  11. The difference by j · · Score: 5, Informative

    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.

  12. I don't think most of you are engineers by brarrr · · Score: 4, Insightful

    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.

    --
    to email me: take my /. handle and append .net preceded by charter.
    1. Re:I don't think most of you are engineers by zangdesign · · Score: 4, Interesting

      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.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
    2. Re:I don't think most of you are engineers by hexx · · Score: 2, Insightful
      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) coder, and an engineer that has suffered through the hard knocks of a college/university?



      In my limited experience (no flames please, I just admitted my experience with this is limited), the answer is yes, and here's why:

      I've worked with a number of very skilled coders - self taught since the beginning of time - who code well, but are limited by the fact they've never been through the formal code analysis courses.
      Sure they can write a great bubble sort without even knowing that's what they're writing, but they don't always know when to use specific algorithms, they sometimes do unnecessary work trying to figure out the best approcah to a problem (when the solutions are well known and documented in various CS textbooks), etc.

      And most importantly: when taking CS classes (at least at CMU), one learns to verbally communicate (problems, opinions, asking for help) with other programmers and even laymen. This is essential.



      And this is what makes a formally educated programmer an Engineer. The coding and communication skills. Code accountability is another situation entirely. Any thoughts?

    3. Re:I don't think most of you are engineers by a42 · · Score: 2, Interesting
      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...

  13. Let's ask Webster by Xformer · · Score: 4, Insightful
    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).
    --
    All I want is a kind word, a warm bed and unlimited power.
    1. Re:Let's ask Webster by Ruds · · Score: 3, Insightful

      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 themselves engineers amongst themselves, but shouldn't advertise themselves as engineers without more justification than the fact they can program.

      Software engineers do exist. There should be an accrediting board that identifies those people. Someone in another thread mentioned the ACM; that seems like a good candidate, and perhaps others could be put forward.

      Matt

    2. Re:Let's ask Webster by frdmfghtr · · Score: 2, Interesting

      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 your work.

      Microsoft hires (and certifies) software engineers, yet will not accept liability for bad programming (read their EULA). Therefore, they are not engineers.

      "If you can't walk the walk, don't talk the talk." It's amazing how personal liability can provide motivation to do the job right the first time.

      I'll graduate in May with a BSEE, but I won't be a EE yet...I'll be an EE in training until I get my PE license. When I have my license, THEN I will be a full-fledged electrical engineer.

      --
      Government's idea of a balanced budget: take money from the right pocket to balance...oh who am I kidding?
  14. In Alberta ... by Anonymous Coward · · Score: 2, Informative

    ... 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, but also allows you to join APEGGA and call yourself an Engineer. I believe there is also more focus on hardware then in Computer Science.

    So the answer (in Alberta) is sort of a yes. You only get to be a programmer whos an Engineer if you go the Software Engineering route. Computer Science, and all the wack of Technicians can't claim this status (and can get fined if they do).

  15. By their meaning... by Duncan3 · · Score: 5, Interesting

    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.

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
  16. Well... by SixDimensionalArray · · 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) 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 back to the Latin origins of the word, "ingenium", which means "ability". I think that covers what programmers (especially software engineers) do.

    The title engineer can apply to lots of things. You could call a horticulturist a "plant engineer" if you wanted to!

    What can I say? I'm a programmer! I'm a software engineer!

    -6d

  17. I can just see it now by LPetrazickis · · Score: 3, Funny

    Programmers are now "Simian Engineers".:)

    --
    Is this a sigs-optional kind of place? 'Cause I am totally down with that if you know what I mean.
  18. CODE MONKEY!!! by cybermace5 · · Score: 4, Insightful

    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.

    --
    ...
    1. Re:CODE MONKEY!!! by LinuxOnHal · · Score: 2, Insightful

      No, civil enineers design roads and dams, software engineers design the software, and yes, type with it. Under that definition, they are the same. Remember, software engineering is as much planning and design as it is actual coding.

      --
      Trying is the First Step to Failing --Homer Simpson
    2. Re:CODE MONKEY!!! by EvilTwinSkippy · · Score: 2, Funny
      THIS IS A SPECIAL ALERT

      Homeland secretary has raised the terror alert to code orange in response to overheating toaster coils...

      The Bush administration points to a recent survey that nine out of ten americans thing their pests are psychic as proof of the resolve of the public on the Middle East invasion (oops) Iraq War....

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    3. Re:CODE MONKEY!!! by smallpaul · · Score: 4, Insightful

      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?

  19. Re:Definitely by Dolphinzilla · · Score: 3, Interesting

    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 very best software programmers that I have personally met were all Electrical Engineers (and one PhD in Physics who wrote radar signal processing code). I think the trend in Universities offering "software and computer engineering" degrees is telling in this respect - its a grey area.

  20. Re:no way by gsegelk · · Score: 2, Insightful

    At the school I went to, it basically boils down to: Computer Science: Software (memory management, theory, design) Computer Engineering: Hardware (circuits, lower level languages, hardware design)

  21. Because for us it would be a derogatory label by Nightlight3 · · Score: 2, Insightful

    If garabage collecters can be "sanitation engineers" and housewives can be "domestic engineers"..

    For these, being called 'engineer' is a promotion, for many programmers it would be a demotion.

    Programming is a unique discipline on the intersection between engineering, art, science and mathematics. It requires much greater deal of creativity and mental dexterity in entirely novel situations than mere engineering.

    1. Re:Because for us it would be a derogatory label by LongJohnStewartMill · · Score: 3, Insightful

      No offense, man, but engineers take way more shit than programmers. For the record, I am not an engineer or an engineering student, I am a CS student (aka programmer some of the time).

      My former roommate and good friend is an engineering student, and their program is way harder than anything I have to do. I'm not sure if you knew this or not, but in order for a University to teach (accredited) engineering, they have to have a certain (read: tough) curriculum, which is not true for CS at all.

      While I'm watching TV he's up to his eyeballs in homework. Engineering not only teaches you the science of things, it teaches you to have an awesome work ethic. I would never call myself an engineer, simply because an engineer goes through a heck of a lot more than me. I have tremendous respect for people who make it through that program.

    2. Re:Because for us it would be a derogatory label by trotski · · Score: 2, Insightful

      Programming is a unique discipline on the intersection between engineering, art, science and mathematics. It requires much greater deal of creativity and mental dexterity in entirely novel situations than mere engineering.

      I honestly hope the above is just ignorance, and not thick headed stupidity.

      Engineering has far more to do with science, art and mathematics than computer programming does.

      Science
      The theory and science behind thermodynamics, as well as material mechanics was almost entirely deveopled by engineers. The great men who developed most of the theories of modern thermodynamics such as Carnot, Stephenson and Otto were all engineers. Engineering not only applies science, it has created and developed entirely new disciples of science.

      Mathematics
      The theories of finite element analysis, a complex mathematical analysis technique which can be applies to countless physical problems was developed by engineers; not mathematitians. As well, many theories of 3d geometry and modeling were developed by engineers.

      Art
      Engineers have created great works of art, atleast as much as programmers do. Look at the golden gate bridge, or the Concorde, or the film projector. If this isn't art, what is?

      Creativity
      Look, why don't you sit down and try to solve a simple mechanical or electrical problem without creativity. Designing a simple circuit, mechanisim or structure to acomplish a simple task often requires great creativity and inginuity. If you don't belive me, open an automatic transmission, and tell me theres no creativity involved there.

      I think that covers everything. I have no doubt that computer science or engineering involves these aspects as well. Programming on the other hand is analogous to welding, you just put other people ideas into existance.

      --

      "Entropy is the bad-guy, and he is everywhere"
  22. An engineer... by megazoid81 · · Score: 5, Funny
    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!"

  23. Right by emmons · · Score: 4, Informative

    I think he confused computer engineer with software engineer. Computer Engineers are pretty much just EE's with an emphasis on VLSI design and system level software.

    --
    Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
  24. Ontario and Texas are somewhat the same by 2nesser · · Score: 2, Interesting

    Up here in Canada, the Professional Engineers Ontario have the same outlook WRT engineering.

    Go to school, get a decent background in things other than programming (ie, thermo, materials, control systems, chemistry, calc, discrete math). Then when you graduate you can call yourself an engineer. Oh, what's that, you don't want to put in the time and effort required, then you don't deserve to call yourself an Engineer.

    Another link at the PEO that's intersting is the software page.

  25. Requirements are obscene by fremen · · Score: 4, Informative
    The requirements for being a licensed engineer in the state of Texas are pretty crazy. A guide can be found here. 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.

  26. Re:Definitely by ncc74656 · · Score: 2, Interesting
    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 into a USB port. I didn't even build a prototype before having boards made, but when I got the boards back and stuffed all the parts onto one of them, it worked the first time I powered it up. I wish more of my software projects were like that. :-) (In all fairness, though, it really wasn't that complicated a design...the FT245BM takes most of the pain out of working with USB.)

    (I started out majoring in computer engineering, but inattentiveness in class led to some less-than-desirable grades in courses needed for that degree. I switched over to computer science and didn't switch back...hell, I goofed off a bit too much with some upper-level math classes there, too. I started college in 1989, but didn't graduate until 2001.)

    --
    20 January 2017: the End of an Error.
  27. No they are not -- unless they are licensed by LordBodak · · Score: 2, Insightful

    I am a programmer with a computer engineering degree. However, that does NOT make me an engineer. Being a licensed engineer shows that you have had an education in not only your field, but also in safety, ethics, and responsibility. As an engineer, you are legally responsible for your work. Not your company, or your boss, or anyone else-- YOU. Just understanding electronics or programming does not make you an engineer.

    --
    LordBodak's journal.
  28. Re:Definitely by bjcubsfan · · Score: 3, Interesting

    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 methodology made their code better. By the way, he is in charge of programming the targeting and tracking for the weapons systems on F-16s.

  29. Software Engineering Computer Programming by Meech · · Score: 2, Informative
    There is a huge difference between a computer programmer and a software engineer. A software engineer understands that there are many phases to developing software. Requirements, design, testing, coding and maintaince. A computer programmer does coding and maybe the maintaince, and testing. Gathering requirements and then designing software is a huge chunk of the work and if done right, makes the computer programmers job extremely simple. I am a software engineer who spends most of my time coding, but I do write up designs, tests, and help with the requirements.

    Now the real question addressed here is whether or not Software Engineering is a valid branch of engineering. I claim that it is as a "regular" engineer is someone who does applied science and follows a set of practices. Well, a software engineer is someone who does applied computer science and must follow certain practices.

  30. We need strong Computer Science governance by mrybczyn · · Score: 3, Interesting

    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.

  31. My take by brsmith4 · · Score: 3, Insightful

    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.

  32. software engineer/audio video engineer by son_of_asdf · · Score: 2, Interesting

    This question could also be applied to those of us that are A/V "engineers" as well as coders/software "engineers". Within A/V circles, if you know how to use the equipment in a studio environment to maximum effect and troubleshoot problems, you are known as an "engineer." Does the fact that we are able to implement, run and troubleshoot audio/video recording and editing systems make us "engineers" in the purest sense of the word? Certainly not.
    By the same token, is the fact that one is able to build boxen, integrate a server farm, write scripts, properly implement ipchains, or successfully install Slackware on siad boxen make us "engineers?" Once again, no.
    Most of the audio video engineers that I know (including myself) know very little about the low level workings of the equipment that we use and maintain. We are, in a sense, administrators: we know how to use the equipment to maximum artistic and technical effect and are able to resolve problems as they appear, but if asked to explain the nuts and bolts of the gear we know how to use so well, we are most often at a loss. The same thing applies to those of us that are highly able "users" of various boxen. We can manipulate these machines to do all sorts of nifty, useful stuff, which is great, but few of us could explain, let alone design, the inner workings of the machines we use so well.

    To those that defy the above descriptions, I salute you. To the rest, we have to face up to the fact that we are users, albeit good ones.

    --
    Don't Panic!
  33. Programmers are not necessarily Engineers by slasher999 · · Score: 2, Informative

    Although they may just be engineers. An entry level programmer - regardless of his level of education - cannot really call him or herself an engineer any more than a member of an orchestra can automatically call themselves a conductor. They are different roles that are related - nothing more. To be a software engineer one needs IT experience, talent, leadership abilities, and an understanding of software development best practices not to mention a good background in mathematics and physical sciences - these develop one's ability to develop, understand, and follow complex methodoligies and algorithms. Without these skills an entry level programmer is just that - an entry level programmer. Basically someone who can write a bunch of code (or copy it) to accomplish a very direct task. The road to software engineer is a long one from there.

  34. Exactly... by Keebler71 · · Score: 2, Interesting
    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, PROTOCOLS, INTERFACES (etc.) and oversee the development and testing... sure, they earn the right to be Software Engineers. The guy who takes a specification and writes his/her very modular piece of code to accomplish a small task == code monkey.

    Now, this isn't to say that all programmers aren't engineers,...obviously many of the managers do know how to program but are indeed engineers.

    In "traditional" engineering fields, an "engineer" usually refers to someone with a degree in some engineering field (not including software but including Computer engineering which at my college were the guys who actually designed chips and architectures). Even still, there is a difference between "being" and engineer and having the TITLE engineer. To use the title of engineer, you have to pass the Professional Engineer (PE) exam, of which I am completely certain that 99.99% of CS majors would fail with quite a bit of flair.

    To make matters even more confusing, there is a degree known as an "Engineer's Degree". It is pretty rare, but falls somewhere between a Master's Degree and a P.H.D. People with this degree would say they have a Masters in Mechanical Engineering AND the degree of Electical Engineer. (as an example.)

    --
    "It takes considerable knowledge just to realize the extent of your own ignorance." - Thomas Sowell
  35. Re:Definitely by LinuxInDallas · · Score: 2, Interesting

    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, the company I am at now seems to not have a problem with it. But then I think it's because they are unaware of the issue.

  36. Re:Can you say "Accountability"? by Fry+a+Lad+Up · · Score: 2, Informative

    In Canada, each province has its own "Engineering Act". Alberta's is much the same as Newoundland's; maybe the acts are pretty similar across Canada. Neither the Alberta nor the Newfoundland Act restricts the use of "engineer". It restricts the use of the term "professional engineer" and it restricts who may engage in the "practice of engineering" as defined be the applicable Act.

    One may not call oneself a "profession engineer" or use its abbreviation "P. Eng." and one may not falsely misrepresent oneself as "profeesional engineer". In Alberta and Newfoundland, the "practice of engineering" involves "discovery, development, or utilization of matter, materials, or energy. See The Engineering Act of Alberta.

    Since the term "Software Engineering" predates Brook's "Mythical Man-month" and is commonly understood within the industry not to be "professional engineering", there isn't enough evidence to support a claim that putting "Software Engineer" on stationary or business cards violates the Engineering Act.

    Since software cannot reasonably be believed included in "matter, materials, or energy", the practice of software engineering does not violate the Act either.

    Frankly, I don't much care for the term "software engineer", but it is established now, so I live with it.

    It's not so much an issue of using the term "engineer" but of misrepresenting yourself as a wearer of the iron ring.

  37. Programmer, Engineer, Scientist - My Impression by dbuttric · · Score: 2, Informative

    A programmer is someone who is able to solve a given business problem, using creativity, and their knowledge of algorithms and data structures.

    An Engineer designs solutions that, within a range of certainty will not fail. Note that this range is never achieving 100% Most engineers that have to solve problems such as bridge construction can vouch for this, as can software engineers.

    A Scientist searches for and evaluates new solutions to problems in the hopes of find the one true solution to a problem. This is why they use the scientific method.

    Engineers dont use the scientific method, it takes too much time. But they dont have a set of rules and strict limits that they work with either. What they primarily work with is methmatical models which indicate the chance of success/failure of any given design. They are able to be creative, adn suggest approaches which might improve those chances.

    Really to be an engineer, I think that what is required mostly is real world experience. The only way to learn how to evaluate a problem is sit down and confront it. That doesn't take book learnin' It takes experience.

  38. Re:No, but Software Engineers are by bob65 · · Score: 2, Informative
    "" No, programmers are not engineers. Software engineers, however, should be and are engineers.""

    The question is though, how does one become a software engineer. I have never heard of here being such a degree or feild. Just programmers calling themselves software engineers.

    Actually, there are Software Engineering degrees emerging at many universities. For example, the University of Waterloo has a Bachelor of Software Engineering degree, offered jointly by the Department of Mathematics (which Computer Science is part of) and the Faculty of Engineering. The degree is accredited and leads to the Professional Engineer title and license. There are also many Software Engineering specializations or options that have been developed as part of Computer Science or Computer Engineering degrees, which provide students with a comprehensive understanding of software engineering techniques and practices.

  39. Re:ACM needs to step up by chiph · · Score: 2, Informative

    One of the other replies to this is actually quite valid, but since the poster was an AC it'll likely not been seen.

    The ACM has this paper from 1997 regarding accreditation. A short extract:

    2.1 The Computing Sciences Accreditation Board

    In 1982 the Association for Computing Machinery (ACM) and the Computer Society of the Institute of Electrical and Electronics Engineers (IEEE-CS) formed a joint task force to plan an accreditation process for the computing sciences. Two years later draft documents for creation of the Computing Sciences Accreditation Board (CSAB) were completed, and the two societies appointed a group of provisional representative directors from the two societies to the newly incorporated CSAB.

    CSAB's scope includes post-secondary baccalaureate programs that prepare students for entry into the computing sciences professions. Programs may be found in the fifty states of the United States, the Commonwealth of Puerto Rico, U.S. trust territories, and U.S. management areas. The Computer Science Accreditation Commission (C SAC) of the CSAB accredits programs in computer science.


    The main purpose (from the ACM's viewpoint of 1997) is to provide recruiters with a way to be confident that an applicant is well-qualified to operate in a position that requires a Computer Science graduate. You could think of it as a certification in "well-roundedness" - the person has some knowledge about algorithms, processes, procedures, and is able to write far-better-than average code.

    I myself am not in favor of the ACM becoming the Software Engineering Accreditation Body (and I graduated from one of the first ACM-accredited schools). They have a strong lean towards the academic side of software, and don't really address the issues encountered when writing shrink-wrap software that will be sold to end-users. Which is why I'm no longer a member.

    I don't think that the various industry certifications are the answer either -- I've seen too many "Paper CNEs" (and MCSE's, Cisco certified, etc) being flaunted by people who merely had good short-term-memory skills.

    Right now, I think the software industry is too immature for accreditation. The traditional engineering areas have had centuries of standards, procedures and customs to draw on. If mechanical engineering were like software, a 2" steel pipe would change it's diameter every 6 months.

    Chip H.

  40. Perspective of a student Engineer by legolas · · Score: 3, Insightful

    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 - 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 - a few years ago, there was actually a conflict with a University 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

  41. A computer scientist is not an engineer. by Hunterdvs · · Score: 2, Insightful

    He is a scientist. I earned my BS in comptuer science, and worked my butt of doing it. Does that give me the right to the term engineer? No, it makes me a scientist.
    scientist:

    n : a person with advanced knowledge of one of more sciences [syn: man of science]

    I earned the right to refer to myself as a scientist. There is nothing ignoble about the term scientist. Although our discipline often overlaps with engineering disciplines (computer engineering) we are not engineers. A chemist (also a scientist obviously) may spend his life working on advanced computer models, but he does not claim to be an engineer and has no claim to the title. As computer scientist, neither do we.

  42. Programmers are not engineers, let me explain by EvilTwinSkippy · · Score: 4, Insightful
    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...

    --
    "Learning is not compulsory... neither is survival."
    --Dr.W.Edwards Deming
    1. Re:Programmers are not engineers, let me explain by Oestergaard · · Score: 2, Interesting
      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 to have


      Take two bricks of weapons grade uranium. Put one on the floor. Step up on your office desk, and drop the other brick on top of the first one, from there. BOOOM - you have successfully set of a home made nuke. Yes, it is this easy - ask any physicist. Once your combined bricks of weapons grade uranium reaches supercritical mass, there is no need for fancy engineering.

      It might not be terribly efficient (a little engineering is needed for that), and thus it might also be a little unclean, leaving unpleasent amounts of radioactive downfall around your former office building. But it will work, and any child could do it - given the raw materials.

      That's at least how it is for uranium based weapons. Plutonium based weapons are much harder to produce, and would require at least some basic engineering skills. For larger nations they are cheaper to produce in numbers, but that's not really relevant to your average "axis-of-evil-dictator-dude".

      Scary fact No.2: You can actually (at least the U.S. managed to) produce a uranium based nuclear weapon from reactor-grade material. It is much less efficient, and no so called great nation would want to do that (just going with plutonium (and a little hydrogen) is cleaner and more effective when you really have that kind of resources). But for your average evil dictator, it's possible. To be honest I don't know how much having lower-grade material complicates the construction of the weapon.

      Assuming it is not terribly much harder to produce a weapon on fuel-grade material, this makes up for some pretty scary scenarios. Quite a few countries have nuclear reactors, and therefore fuel-grade material.

      With the recent developments legitimizing pre-emptive strikes on "perceived future threats", and the possible legitimization of using small nuclear weapons in common warfare, the above does not get any less scary if you ask me.

      Whether you're pro or con the recent developments, the above should give you some food for thought, at least.
    2. Re:Programmers are not engineers, let me explain by canadian_right · · Score: 2, Informative
      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 raw uranium and it is difficult and expensive to seperate it out. It is actually this step that holds up most uranium bombs.

      Plutonium can be made in a large, sophisticated reactor that is pretty hard to hide. The engineering for a plutonium bomb is somwhat trickier than for uranium bombs of similiar yields.

      Small, high yield nukes require very difficult engineering even after you get the raw materials.

      --
      Anarchists never rule
  43. Re:The meaning of Professional Engineer in Texas by ATMAvatar · · Score: 2, Insightful

    Maybe if the code monkeys were personally financially liable for their (numerous and varied) screwups they'd appreciate test analysts and testers a bit more.

    I would imagine programmers would be more likely to accept personal liability if management and marketing didn't force projects to go out before they were ready.

    --
    "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
  44. Hmmmm.. that's a tough one... by whoppo · · Score: 2, Funny

    Back in the day when I was programming for Lockheed, they called me a "Software Engineer"... but now that I think about it, I've *always* loved bananas.

    --
    chown -R us /base
  45. Note on P.E. by David+Ishee · · Score: 2, Interesting

    I am a Mechanical Engineer, although I'm not a Professional Engineer (P.E.). In order to get the Professional Engineer certification, you have to first complete the E.I.T exam (Engineer In Training), then get X number of years of supervised work under a current Professional Engineer, then take the Professional Engineer exam. Most people take the E.I.T in college before they graduate.

    Most Civil Engineers need the P.E. license since they generally work for government agencies (building roads, bridges, etc). Mechanical Engineers who work in the HVAC industry generally get their P.E. license also.

    Engineers usually get the P.E. license if they are doing work for outside customers. If there are no P.E. certified engineers at your company, you can get a P.E at another company to check and sign off on your work to count toward your required years of experience. Many times, a P.E. license in one state will be recognized in surrounding states (subject to variation).

    If you are an engineer doing work only inside a company, you generally don't need a P.E. license. For example, in the aerospace industry, or automotive industry, it isn't required as far as I know. In that case, you can pursue it if you wish and you may get paid a little more money and it looks good on your resume. If your company doesn't require it, then there is no penalty for not having it.

    The E.I.T exam is a comprehensive exam on all subjects (thermodynamics, controls, electrical, mechanical, etc). When you take the P.E. exam, you can usually choose between a general exam, or one that is specialized to your field.

    At my school (Mississippi State University), they just moved the Computer Science department into the Engineering Department.

    --
    Your password has expired, please login to change it.
  46. Re:Can you say "Accountability"? by legolas · · Score: 2, Informative

    While the provincial Professional Engineering acts do not restrict the use of "Engineering", Canadian copyright law does.

    "CCPE maintains official marks on the terms engineer, engineering, professional engineer, P.Eng., consulting engineer, ingénieur, ing., ingénieur conseil, génie and ingénierie. This helps CCPE's constituent members to enforce the provisions of the Engineering Act in their jurisdiction, and protect the Canadian public through the regulation of engineering practice."

    (see here.)

    In fact, the professional engineering body of Newfoundland pulled MUN's accreditation briefly over a "software engineering" program that they offered.

    -legolas

  47. Metrics by 2RockStars · · Score: 2, Insightful

    Seems to me (a EE from Purdue) that the only thing that makes engineering engineering as opposed to arts or crafts is the use of metrics. That is, you're s'posed to be able to design something to fit within a certain set of constraints, and have a way to objectively measure how well you've done. It seems to me that a lot of software is built by artisans, who "just build the damn thing" without really worrying about what constraints may exist in the problem domain. That's certainly how I seem to write my code... Most of these software artisans wouldn't be able to do a comparison with another piece of software that purports to solve the same design problem without a side-by-side benchmark after the code is written. Real engineers know before build-time how well their design compares to others.

    I guess it's time for me to go re-read some algorithm books :).

  48. Engineering Defined: by mcrbids · · Score: 4, Insightful

    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!

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  49. Re:Obligatory Star Trek reference by randyest · · Score: 2, Funny

    there is nothing you can come up with that engineers or programmers produce that cannot be described as a tool

    The fruit . . . hanging so low . . . must resist . . but can't . . .

    I assume your parents were engineers and/or programmers, since this tautology pretty much make you look like a tool. IMHO. :)

    Seriously, cmon. Stop with that. Sure, everything is a tool because you can USE it. That pretty much defines a tool, right? So, basically, since anything can be USED in some way or another, even if that way is silly or not-yet apparent, everything is a tool. Including you. (And, alas, me -- to ward of that inevitable comeback in advance).

    Lots of professions involve making tools. In fact, just about any profession (being done well, at least) will involve more tool-making than anything else (remember, a better procedure is a tool, since it can be used too -- see the pointlessness?).

    That doesn't make it engineering. And it doesn't equate engineering and programming.



    That reminds me of this one:

    A programmer, a hardware engineer and a departmental manager were on their way to a meeting. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of control down the road, bouncing off the crash barriers, until it miraculously ground to a halt scraping along the mountainside. The car's occupants, shaken but unhurt, now had a problem: they were stuck halfway down a mountain in a car with no brakes. What were they to do? "I know," said the departmental manager," Let's have a meeting, propose a Vision, formulate a Mission Statement, define some Goals, and by a process of Continuous Improvement find a solution to the Critical Problems, and we can be on our way."

    "No, no," said the hardware engineer, "That will take far too long, and besides, that method has never worked before. I've got my Swiss Army knife with me, and in no time at all I can strip down the car's braking system, isolate the fault, fix it, and we can be on our way."

    "Well," said the programmer, "before we do anything, I think we should push the car back up the road and see if it happens again."

    --
    everything in moderation
  50. Depends on what you mean by Engineer by dkhoo · · Score: 2, Interesting

    There are two issues here. The first is whether or not a software engineer performs "engineering". The second is whether a software engineer can have the legal status of an "engineer".

    Do software engineers perform engineering? What is engineering anyway? As far as I am concerned as a Chemical Engineer, an engineer fundamentally designs systems. As part of this work, he will probably need to model the system and test this model (whether the model is mental, computational or physical). Implementing the design involves the engineer, but is not the engineer's job. That is the job of the technician.

    This means that a software engineer should be the person who develops requirements (both software and hardware), overall design (data structures, classes, interfaces, protocols) and supervises their implementation. As part of this he may write some test code or build test equipment to verify his design. The actual writing and testing of the code to the design specification is the job of a software technician (which is a better term than "code monkey").
    Note that engineers usually have engineers below them. Smaller parts of the overall system may be designed by a junior engineer according to specifications that the senior engineer provides. This smaller part may in turn have smaller parts designed by yet more junior engineers and so on. So you do not have to be a project manager to be an engineer. The important thing is what you are actually doing at your desk. If you design, test THEN implement, according to scientific principles, you perform engineering and are in that sense an "engineer".

    However, whether or not you can legally be called an "engineer" is a seperate matter. A "professional engineer" in Singapore is a very special beast. To become one, you need 10 years of exemplary active experience, yearly training, adherence to a code of conduct, etc. You become empowered to testify in court as an expert regarding engineering in your field. Certain types of work require certification by a professional engineer and cannot proceed without you (this means big bucks).
    In return for this status, you accept great responsibility. You are personally liable for criminal charges if a design you certify fails, in addition to civil damages. If the failure involved grevious injury or the loss of life, this may mean 10+ years jail and caning, in addition to a criminal record.
    This is the issue that the article probably refers to. The software industry has not yet reached a state where its engineers can accept this level of responsibility without it becoming a legal farce. The poor seperation of engineer from technician in software engineering makes this even harder. This is because every line of code is in a sense "designed" when it is written. The design of the code IS the code.
    I do not see any real way out of this, which is a pity. Until some professional order is imposed on the software industry, hairy and wasteful civil lawsuits will be the only way to ensure (not just produce) quality, which means that unreliability will remain rampant. It is likely that software will always remain an art and never make the transition to engineering. Perhaps that is the way it should be.

  51. it's a strange version of democracy by wadiwood · · Score: 2, Interesting

    From the New York Times and the BBC
    via Stupid White Men (the awful truth)

    Katherine Harris was both George W's presidentail campaign co-chair and Florida secretary of state in charge of elections ie who was allowed to be on the roll and vote counting. No conflict of interest here?

    Katherine had anyone "suspected" of commiting a felon removed from the rolls, this included anyone with a "similar" name to a felon. This mostly affected black democrat voters. 173000 registered Florida voters were removed. A black list of a further 8000 peole was supplied from Texas of people who had moved from Texas to Florida, and these all had their names crossed off, even though they were actually eligible to vote.

    One of these "supposed felons" was Linda Howell, elections supervisor of Madison County, Florida. The only way to get back on the roll was to agree to fingerprinting. Ie guilty until "proven" innocent.

    Of the Florida overseas ballots many were counted that did not meet florida law, specifically

    Overseas ballots can only be counted if they were cast and signed on or before election day and mailed and postmarted from another country by election day.

    544 overseas votes that counted towards George W Bush did not meet this criteria.

    As for the supreme court, the ancient republican appointees Sandra Oconnor and William Rehnquist did not want to retire until there was a republican government in power to appoint more republicans to the court. Clarence Thomas's wife had just got a job with George W Bush and the son of Antoni Scalia was working for the law firm that was representing George W Bush.

    And there's more and it gets worse.

    Personally I don't think the result should have hinged just on Florida and some of the other state results looked dodgy too. If I was a USA citizen I would have voted for Nadar, not because I thought he could win, but because the Democrat and the Republican are almost identically pro Corporate America and against everyone else. Except we probably wouldn't be wasting money on a stupid war if the Democrat had got in. I could be wrong about that.

    --

    -- it must be true, it's on the internet.
    1. Re:it's a strange version of democracy by cheezedawg · · Score: 4, Informative
      Oh great. Here we go again.

      Katherine Harris was both George W's presidentail campaign co-chair and Florida secretary of state in charge of elections ie who was allowed to be on the roll and vote counting. No conflict of interest here?

      Every single decision she made followed the law and held up under international scrutiny.

      Katherine had anyone "suspected" of commiting a felon removed from the rolls

      I assume you got this from the BBC's Greg Palast since he is really the only person that thinks this is a story. A quick look at his webpage will show you how partial he is (he seems to have staked his entire career on undermining the Bush presidency).
      Now for the real facts:
      • In 1998, after it was discovered that there was widespread fraud in the Mayoral elections in 1997 (several dead people and convicted felons ended up voting), the Florida Legislature (not Katherine Harris or Jeb Bush) passed a statute designed to prevent that from happening again (that link might not work- looks like the server is down).
      • The statute called for a statewide list of potential felons to be compiled. This list was passed to the election supervisors in every county.
      • The county elections supervisors were not even required to use the list at all, but if they did decide to use it, they (the county supervisors, not Catherine Harris) were required to verify the names as actual felons before they were removed from the voter registration. Therefore, if somebody was incorrectly removed from the voter registration, it was the county supervisor's fault.
      • If somebody was removed from the voter registration based on the list, they were given written notice months before the election with a procedure to dispute the removal

      In 1998, Florida Division of Elections Director Ethel Baxter, a democrat, hired the firm Database Technologies to compile this list. The list had around 100,000 names on it.

      One of these "supposed felons" was Linda Howell, elections supervisor of Madison County, Florida. The only way to get back on the roll was to agree to fingerprinting. Ie guilty until "proven" innocent.

      Once again, nobody was required to use the list (several counties including Madison County didn't use it at all), but if they did use the list, they were required to independently verify the names before any action was taken. The fingerprinting was only required to dispute the removal if the person actually was "verified" by the county supervisor and removed from the voter registration- otherwise they probably never knew they were on the list. With all of his complaining, Mr Palast has only found about a half a dozen people that were incorrectly removed from voter registrations and forced to dispute the removal.
      So it boils down to this:

      • An unknown number of innocent people were put on the original list of 100,000 names
      • Of that unknown number, an unknown number lived in counties that actually used the list
      • Of that unknown number, an unknown number were actually removed from the voter registration lists by the county election supervisor
      • Of that unknown number, an unknown number failed to dispute the removal
      • and of that unknown number, less than 50% turned out to vote anyway (general voter turnout)

      There is only anecdotal evidence that any legitimate voter was actually prevented from voting because of this list. Rep Corrine Brown, a democrat, claimed that she saw "2 or 3" black people get incorrectly turned away, but when the media pressed her, she was unable to give any details.
      So were minority voters specifically targeted? The NAACP, who came in to represent these minorities, stated VERY plainly in this settlement that

      --
      "The defense of freedom requires the advance of freedom" - George W Bush
  52. Software Too Soft? by FrankDrebin · · Score: 2, Interesting

    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.

    --
    Anybody want a peanut?
  53. I'm"I'm not an engineer but I play one at work" by HughsOnFirst · · Score: 3, Insightful

    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
    Laurel )

  54. Misconceptions about a "real" software engineer by James+McP · · Score: 2, Interesting

    No one's going to read this at this point but I have to assuage my own conscience. (Damn engineering ethics courses) I will presage this by saying I am a civil designer with a BS in Civil Engineering and 3 years experience about to take the EIT that has spent 8 years in the IT field as (variously) a sys admin, helpdesk, Q/A, sales support, PBX admin, network flunky, and hardware reviewer.

    Fallacies
    1. It's a meaningless debate because it's just a title.

    It is a title, but not a meaningless one. People are breaking the law in most states by claiming to be an engineer/lawyer/doctor/plumber/surveyor/etc if they are not one for the same reason it is illegal to claim to be a police officer. Those titles imply that you will look out for the good of the public and your client (in that order).

    There is software out there today that could kill you if it malfunctions (antilock brakes, traffic controls, etc). Today that software is a component in a system and the engineer in charge of the system signed off on it and will be held responsible if it fails. They know it and they take the responsibility seriously.

    Claiming that title can put you in a position where your actions could affect others seriously through your negligence or ignorance. I can see a day fast approaching when a CEO hires a tech-school "software engineer" to design a system that winds up killing someone because it was never evaluated by a "real" engineer. I hope that someone isn't me or mine.

    2. Engineers only increment known designs and aren't creative.

    While 90% of engineering is run-of-the-mill, that 10% requires creative thinking. Sure, I can spec out rehab work & basic residential designs all day in my sleep, but there are times when the Engineer works in the unknown. Build a structure on a new soil type or any device exposed to extreme environments and you will see real engineering at play. And all engineers are expected to be able to deal with that. They may call in people from other disciplines to advise them, but an Engineer will ultimately deal with the situation.

    3. Current "software engineers" will have to go back to school.

    When the egineering licensure became an issue for the states, there were many qualified people working in the field who did not meet the paper requirements. So there was a grandfather clause that was generally 5-10 years of documented experience and must pass the licensing test like any new graduate. There was also a window of opportunity until the grandfather clause was removed.

    Any current programmer who wants to be an engineer would likely be given the opportunity to take the tests. Good luck, you'll need it. Engineers are expected to be multidisciplinary. I had courses from all branches of engineering (Civil, Mechanical, Electrical, Chemical, Industrial) AND Comp. Sci. programming courses (Fortran & C++). The point isn't to say an engineer is competent to practice all fields but that they will be able to understand information from all fields.

    The flip side is that a licensed Software Engineer would require the tests for *ALL* engineers to expand. Not a bad thing at all in a software-operated world.

    4. Companies will only hire these "licensed" engineers creating artificial demand.

    Truth is, most current engineering companies have a significant number of non-engineers: draftsmen, surveyors, technicians, designers, and scientists. Those people do a significant amount of the work, but the Engineer is responsible. (Exception: The surveyor is responsible for the accuracy of the survey, since they should be a licensed Land Surveyor.)

    5. Anyone with a degree that has "engineer" in the title is an engineer.

    Most states have specific laws regarding the Professions (including the oldest one, but those laws regulate it out of existence typically). The degree is not enough because colleges & universities can lie; just read your spam. You have to get a degree from a university that has pro

    --
    I've been on slashdot so long I'm starting to get out of touch with the cool stuff if it ain't on slashdot.
  55. +5 insightful. For shame, moderators, for shame. by NecrosisLabs · · Score: 4, Insightful

    Congratulations, your post has won the highest rating to bullcrap ratio I think I have seen on Slashdot yet. That is quite an achievement...

    I have entertained the thought that you are a troll, and that responding to you would serve no purpose. That +5 moderation, however, shows a giant gaping void of ignorance in at least a subset of Slashdot moderators, and that, at least, should be addressed.

    Now, I grew up in a household of "big engineering" so I'm a bit biased, but you are so wrong it isn't even funny.
    points:
    1. No mathematics in engineering? I'm speechless. Flabbergasted... Stunned. What do you think engineers use, iambic pentameter?
    2. Science. Right, no science in engineering, and a whole lot of science in programming. Why, engineers never use physics, say, or chemistry. Alot less than that guy over there working on opitimizing that printer driver.
    3. Art. The Eiffel Tower, the Golden Gate bride, the Hoover dam.
    or
    Windows ME.

    Many engineers I have known have decades of programming experience, on bare metal, Fortran, and C++. Who do you think developed the field in the first place? That programming sprang fully formed from the forehead of Zues, like Athena?

    ..must not feed the trolls, must not feed the trolls...

  56. An Expert Opinion by JohnsonWax · · Score: 2, Interesting

    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.

  57. Re:+5 insightful. For shame, moderators, for shame by Perdo · · Score: 2, Insightful



    "Many engineers I have known have decades of programming experience, on bare metal, Fortran, and C++."

    Then they are not engineers, they have distinguished themselves as being much more than that, even in your mind. They are programmers, obviously a cut above their engineer peers, which include you, since you did not say "I am an engineer but I also program C, Fortran, etc.".

    The reality is, John Carmack, one the finest programmers alive, has gotten further as an aerospace engineer in two years than some engineers get during an entire career.

    I know an aerospace engineer whose claim to fame, the pinnacle of his career, was to design the rear lavatory on the 737.

    Not every engineer designs the Eiffel tower.

    Not every programmer wrote the Linux kernel...hmm...

    But where the Eiffel tower was designed by one man, the Linux kernel required the labor of thousands to get where it is today.

    300 people built the Eiffel tower in 2 years and yes, it is true art, useless, it does nothing but make a good backdrop for postcards.

    The Linux kernel on the other hand is quite useful, required the brilliant output from thousands of esteemed programmers as opposed to 300 ignorant laborers, is elegant and much more worthy of your inspired praise.

    Don't worry, this is a parody of the trolls you were hoping not to feed. It's funny, laugh.

    --

    If voting were effective, it would be illegal by now.

  58. Re:You can call programmers engineers... by PhipleTroenix · · Score: 3, Funny

    I had a professor who claimed anytime you had to append "science" to something it meant that it wasn't. Computer Sicence, Political Science, etc.

    --
    When VPNs are outlawed, only outlaws have VPNs.
  59. Programmers license by objwiz · · Score: 2, Insightful

    Just remember, if legislation starts declaring programmers as engineers, then the next step will be requiring programmers to get licensed. No more programming jobs w/o local union approval too. No more coding at home and making some $$$ from it.

    Various unions and government agencies have been trying for years to get programmers declared engineers. That means more revenue for them if they succeed and less job enjoyment for us IMO.

  60. PE certification? Don't make me laugh by AB3A · · Score: 2, Informative
    I'm an UN-certified electrical engineer. I work with Electrical, Civil, Mechanical, Chemical, Environmental, and Industrial engineers. Some have PE certificates; some don't.

    I can say with good experience that the PE ceritificate doesn't prove much. I've seen very smart people with the PE and I've also met an equal number of idiots with the PE. If the PE is a filter, then it needs a great deal of improvement.

    I took the EIT class. It was almost all theory. I had thought the EIT and PE were supposed to prove some sort of competence as an engineer; but when I saw what the tests really were, I lost interest. The point of certifying engineers is to show that they know how to translate theory in to reality. The PE and the EIT tests can't possibly do that.

    I don't know of any good tests which can prove competence in such things. Only an appreticeship with someone who knows the field can be an effective filter against such mediocrity. Doctors and aircraft pilots are certified this way. As a private pilot, I'll point out that even this method is a lot less effective than I'd like.

    No, what really keeps a building up are habits and Engineering Standards. Most engineers I've known are smart enough to use similar approaches. But there is one thing that separates the kids from the adults. The standards are guidelines, not dictat. When you pull these mediocre "standards at all costs" engineers out of their element and drop a problem even slightly outside their normal experience in front of them, they're often at a loss to deal with it.

    I should mention the kind of engineering I do is often post mortem. When something doesn't work and it seems like it should have, I get called in. I'm one of the guys in our company who gets to clean up after the people who don't know what they're doing.

    So, is writing software or network management the same as engineering? Well, yes and no.

    Networks should involve engineering backgrounds. However, few people I see in charge of networking actually understand the data sources, sinks, and typical traffic patterns on their networks. If someone actually does this, then he or she deserves the title of Engineer. The typical fresh faced MSCE graduate doesn't qualify.

    In software, I think better theories and tighter standards are needed at the application and user interface level. The Open Source projects help a great deal because they offer several competing examples of how something can be done. I hope that eventually these various approaches can be catagorized, and the trade-offs of these approaches become well known, much as various sort and search algorithms have been documented.

    However, because the practice of software is so immature, being more art than science, it's not ready to be called engineering in my opinion. It will get there some day, but it's not there yet. Sorry, folks.

    --
    Nearly fifty percent of all graduates come from the bottom half of the class!
  61. Re:As a Civil Eng. graduate.. by Zeinfeld · · Score: 2, Interesting
    Hubble space telescope optics?

    The design of the mirror was perfect, it was the manufacture and testing that were flawed. To add insult to injury Kodak made a perfect mirror that was used in the vehicle testing... It is still sitting at Nasa...

    I am a Chartered Engineer and a member of the Britich Computer Society, most programmers in the UK are not. Only a percentage would qualify. Who do you call a programmer? Some HTML and perl monkey who does nothing but setup simple websites with frontpage? Someone who writes an Excell macro? Thats programming but it isn't engineering.

    To be a chartered engineer you have to be more than just a grunt worker. You have to have a certain level of responsibility, usually responsibility for a budget, you have to have an architectural input. In short you need to be a professional and have equivalent skills to a doctor or an accountant or a lawyer.

    That does not mean you are guaranteed to be any good, there are a lot of useless doctors arround (who thought that lobotomies would be a good idea), there are losts of incompetent accountants (Enron, Sunbeam, Harken, etc.) and there are plenty of duff lawyers.

    The real test is whether you can get kicked out of the association if you screw up big time, although in fact few doctors or lawyers get struck off for incomptence, its more usually having sex with a patient or embezlement, or in one case sending spam (ok it was only 2 years for the spam).

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/