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

18 of 963 comments (clear)

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

  2. 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 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
  3. 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
  4. 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.
  5. 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.
  6. 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 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?

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

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

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

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

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

  13. 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."
  14. 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.
  15. 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?

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