Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Programming IT Technology

Are Programmers Engineers? 1002

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

Are Programmers Engineers?

Comments Filter:
  • by k_herald ( 317652 ) on Sunday March 30, 2003 @03:59PM (#5627329)
    In my experience (that being the aerospace industry, specifically involved with GPS) engineers and programmers have slowly become one in the same. If you have to program code that involves any type of DSP chip or specialized hardware it is vital to understand the engineering behind that hardware. I'd also like to point out that more and more of engineering is done with advanced engineering software, which is most likely written by these odd engineer/programming hybrids.
  • The difference (Score:5, Informative)

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

    Engineers engineer. They understand the problem better than the customer, and are consequently relied on to help form the basic goals of the project itself. Engineers, working at a strategic level, could also excel in business or government if technology didn't have the best toys.
  • In Alberta ... (Score:2, Informative)

    by Anonymous Coward on Sunday March 30, 2003 @04:05PM (#5627375)
    ... 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).
  • Well... (Score:2, Informative)

    by SixDimensionalArray ( 604334 ) on Sunday March 30, 2003 @04:07PM (#5627391)
    This seems like a quibble over the definition of a word (definitely not something worth occupying so much of our time).

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

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

    These definitions aren't the best, so let's go 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!

  • Re:Depends (Score:2, Informative)

    by Anonymous Coward on Sunday March 30, 2003 @04:13PM (#5627441)
    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.
  • by Omega Leader-(P12) ( 240225 ) on Sunday March 30, 2003 @04:16PM (#5627470)
    There was a similar problem here in Ontario (Canada) to use the term "Engineer" you have to be lisenced. It is illegal to try and pass your self off as one if you are not lisenced. M$ had to drop the term engineer from their certification process. Check out Professional Engineers Ontario [peo.on.ca] under Software Engineer for more details.

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

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

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

    Like water in Ontario. People have to die before there is a backlash and things are fixed.
  • by Anonymous Coward on Sunday March 30, 2003 @04:19PM (#5627482)
    Far from it!
    The real engineer that knows how to do proper abstractions and doesn't hard code stuff everywhere spends a good deal of his time fixing the code monkey's work.
    Been there, done that.
  • 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.
  • Right (Score:4, Informative)

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

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

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

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

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

  • Re:Well... (Score:3, Informative)

    by Coolfish ( 69926 ) on Sunday March 30, 2003 @04:34PM (#5627580)
    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.

  • by Meech ( 166762 ) on Sunday March 30, 2003 @04:38PM (#5627609)
    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.

  • Re:Well... (Score:2, Informative)

    by Starholmer ( 623136 ) on Sunday March 30, 2003 @04:46PM (#5627661)
    "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.

  • by slasher999 ( 513533 ) on Sunday March 30, 2003 @04:51PM (#5627688)
    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.
  • by Fry a Lad Up ( 513448 ) on Sunday March 30, 2003 @05:06PM (#5627764)
    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 [apegga.org].

    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.
  • 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.
  • by bob65 ( 590395 ) on Sunday March 30, 2003 @05:10PM (#5627792)
    "" 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 [uwaterloo.ca] 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.

  • by chiph ( 523845 ) on Sunday March 30, 2003 @05:22PM (#5627841)
    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 [acm.org] 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.

  • by pi_rules ( 123171 ) on Sunday March 30, 2003 @05:50PM (#5627961)
    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.


    You need a big system? Find an
  • by stewby18 ( 594952 ) on Sunday March 30, 2003 @06:23PM (#5628114)
    until someone dies nothing will change.

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

  • by legolas ( 125275 ) on Sunday March 30, 2003 @07:43PM (#5628413) Homepage
    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 [www.ccpe.ca].)

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

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

    I end up working in both capacities..

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

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

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

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


    engineer Pronunciation Key (nj-nîr)

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

    tr.v. engineered, engineering, engineers

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

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


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

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

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

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


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

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

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

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


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

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

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

    Source: WordNet ® 1.6, © 1997 Princeton University

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

  • by cheezedawg ( 413482 ) on Monday March 31, 2003 @02:55AM (#5630070) Journal
    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 [gregpalast.com] 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 [flsenate.gov] 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 [naacp.org] that

  • by AB3A ( 192265 ) on Monday March 31, 2003 @01:52PM (#5632046) Homepage Journal
    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.

Information is the inverse of entropy.