This forum is in permanent archive mode. Our new active community can be found here.

Should Programmers be Engineers?

edited March 2012 in Technology
I've been debating this in my family recently and today I stumbled across a 2003 slashdot article on the subject:

The crux of the issue is that it is considered fraud to call yourself an engineer in many states without being a registered Professional Engineer - including my current state, Massachusetts. However, there are lots of tech folks that have the title engineer and call themselves engineers without the license.

Having a civil engineering degree, I'm curious how software developers and IT folks feel about this topic. Do you want to have Professional Engineer licensure, another form of registration and title, or just leave it be?


  • PE License is pretty much useless unless you are in civil engineering, or plan on running your own consulting firm. I know some mechanicals who got it just in case they had to work on civil projects. If you have a four year engineering degree and a job with an engineer title, you are an engineer. Congrats.
  • Considering worthwhile tech schools have "Computer Engineering" programs, distinct from "Software Engineering," Computer Science, or Information Technology, I'd say it's a fine and legitimate title.

    Definitions include:
    "...applying scientific knowledge, mathematics and ingenuity to develop solutions for technical problems...'

    "...the discipline, art, skill, profession, and technology of acquiring and applying scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes."

    My title at IBM was "Software Engineer." At Pipeline, I was "Senior Production Engineer." These definitions of "engineering" fit what I did at these places quite nicely.
  • By those definitions, I'm an engineer. Huzzah!
  • Job titles are pretty meaningless.

    This is only a problem if someone who does not have an engineering license attempts to do work that requires a license. You wouldn't want an unlicensed dentist or doctor, right? But if someone calls themselves the computer doctor, you don't expect them to get a medical license even though they are using the word doctor. They aren't performing any medical services. When a software engineer tries to build a bridge without a license, then we have a problem.
  • My understanding (from working in the Engineering school at my University) was that essentially the engineers are a "guild" of sorts, similar to how lawyers that pass the bar are in a sort of "guild".

    In that particular definition, no, a Computer Engineer, Software Engineer, or Network Engineer is not an engineer unless they have the guild's credentials.

    But by that same token, anyone that was never in the guild or would have no reason to be in the guild (say, living in another country) is not an "engineer".

    The other lame debate is if a computer scientist is a scientist.

    In both cases, I'm kinda of the opinion that it's a no-true-scotsman thing. If they want to exclude a thing, they are welcome to. It doesn't change what you actually do. And someone should only respect you for what you actually do, not your job title.
  • edited March 2012
    Very interesting responses. Like the rest of you guys, I don't think CS/IT should be restricted by professional engineering registration. Hell, most folks with electrical, computer, and chemical engineering degrees don't go for registration - it's not necessary for their work.

    But, our opinions don't nullify the legal implications, most of which come down to misrepresentation, not programmers designing bridges.

    For example, an IT guy in (I believe) Georgia advertised in the newspaper that he could, among other things, "engineer." Someone reported him for advertising - which is unethical in many professions, including law and engineering. When the State Board of Registration reviewed the case they saw that he was not an engineer and he was charged with fraud.
    My understanding ... was that essentially the engineers are a "guild" of sorts, similar to how lawyers that pass the bar are in a sort of "guild".
    Sort of... the guild is actually a side effect that occurred. Professional engineer registration first began in Wyoming I believe - there were so many mine collapses and engineering failures that the state needed to regulate who could approve designs for construction and increase liability not only against firms, but the individuals who approve designs. Other states adopted their own registration afterward, so the requirements and details vary with each. Registration had a side effect of increasing billable rates for those that became registered.

    It should be noted that becoming a professional engineer requires at least 4 years design experience with a Bachelor's degree before you can attempt the exam, so its different from a bar exam.

    Further research indicates that Texas does indeed have licensure for software engineers (which was being debated in the 2003 slashdot article above):

    The purview seems rather limited (but also kind of vague) and does not affect most programmers,


    "Many kinds of software development affect the public welfare but are not considered software en- gineering under Texas law. Work on financial systems or business systems might affect the public welfare, but it doesn’t require an engineering education, doesn’t require the application of physical sciences, and can be performed without an engineering education. (See this issue’s Guest Editors’ Introduction for ways in which this educational situation is changing.) Unless these activities also include the design of hardware interfaces, power systems, or other engineered components, they do not appear to meet the legal definition of engineering practice.

    "When someone reports illegal software engineering practice, the Board’s first task is to determine whether the practice is really engineering. Quite often, our evaluation determines that the activity in question is not. It might be more accurately described as “code writing,” “product support,” or other tasks that the board doesn’t regulate. If the practitioner is calling these activities “code writing” or “product support,” there are no legal problems. However, if the practitioner is calling the activity software engineering, he or she is violating the law. Such use of an incorrect term leads consumers to believe that they are receiving services in full conformance with the legal protections provided by engineering law. Therefore, anyone using such terms illegally should reasonably expect legal problems."
    (page 48)

    So, with a bit more fuel in the fire, what do you guys think about how *you* could be affected by the legal implications?

    I also know a lot of CS grognards folks complain about undertrained people working as, and calling themselves, programmers. How do you feel about using licensure to keep out the riff-raff and make a more unified profession?
    Post edited by Lost_Heretic on
  • Complaining about undertrained people is a legitimate thing. Complaining about their job title is an entirely different (and silly, from my perspective) thing. Around here, when your job title is "Programmer" that might mean you configure modems for a cable or dsl provider.

    Similar fields also often have "certifications" as an alternative to licenses, though I guess they amount to the same thing. Just on a smaller scale. My major issue with these licenses and certifications as a measure is that they result in a lot of extra beurocracy and people being paid to shuffle paperwork when ideally I want less of that.

    I would not be opposed to a slightly more structured language of referring to IT and programming roles. But it's not critical to me. I could appreciate it if someone said their job title to me, and I knew what that meant... because as a general rule it doesn't tell me anything. Of course there's also problems with that, the programming I do includes creating software to automate processes in telecommunications equipment, accounting systems, interface design, websites, and customer management systems. There's not really going to be a single title for "that guy".

    We invent new terms to disparage or exalt people all the time, which is all just sad really. The "Brogrammer" one is floating around there now. Sometimes it means someone who is "both a bro, and a programmer" as a sort of "extraverted programmer" type and other times it is an insult about people who "don't write real code". It's all just kinda sad to me.

    Engineers still have the same problems with or without the license thing... it's not a perfect solution. It's just a way to sift through some basic requirements. I think the real fundamental problems will be problems, at least in the immediate future.
  • RymRym
    edited March 2012
    The larger industry does have structure. RIT has separate programs and degrees for ALL of the following:

    Computer Science
    Computer Engineering
    Software Engineering
    Information Technology
    Information Security and Forensics
    Applied Networking and System Administration

    No one with any industry experience would call someone who configures a cable modem a "programmer." That's not even really a job that exists within the sphere of the technology industry, and is considered minimally skilled labor at best.

    How do you feel about using licensure to keep out the riff-raff and make a more unified profession?
    I want no such thing. Degrees and demonstrable skill are plenty, and ten seconds of interview reveals whether or not someone is actually a "programmer" in any useful sense. Actual "licensing" of any kind would add bureaucracy and impediments to the self-taught with no actual advantage.

    I don't want to be part of a union or meta-structure of any kind around my professional career, where until very recently I was indeed an engineer.
    Post edited by Rym on
  • edited March 2012
    The academic world certainly has strong (or relatively strong) definitions. The professional world, it gets messy.

    As for an example of someone who configures modems (and admittedly other equipment, but it's still all configuration not actual code) being called a programmer:

    I agree that it's a poor choice of terms, but it exists.

    A lot of guys working at that company are friends of mine that were technical support agents at the place I currently work, and they moved over there. But what they do and what I do are obviously completely different things.

    Also a programmer: People in charge of television programming. As in content.
    Post edited by Anthony Heman on
  • I'm basically a computer engineer, based on my degree (it's a bit more complicated than that, but that's another story), which was a mix of both hardware and software stuff. I currently work as a "software engineer" (at least that's my title at my job), but I usually tell the "person on the street" that I'm a computer programmer when asked what I do for a living. However, I've met people who get insulted at being called a programmer instead of an engineer -- I guess there is this idea that "programmers" are people who took a weekend class in Visual Basic or something whereas the engineers have proper college degrees (or at least equivalent knowledge and/or experience).

    There are so many things that call themselves "engineers" these days that the title is almost meaningless at times. I also live in Massachusetts, though I didn't know about it being fraudulent to call yourself a generic "engineer" without a license here. The way I see it, I basically just don't call myself a "licensed engineer" and I think I'm okay. Given how many tech companies there are in this state with employees called "engineers," (that's at least what the job titles are when they submit their tax forms to the state, so it's not like it's totally under the radar) I'm sure it would've been brought up much sooner if it was a real issue.
  • If you care so much about your title that you are offended by someone using the wrong word, you probably have really low confidence in your skills, and probably low skills. Someone who is really good, and knows it, won't be concerned with what word you use to describe them.
  • If you care so much about your title that you are offended by someone using the wrong word, you probably have really low confidence in your skills, and probably low skills. Someone who is really good, and knows it, won't be concerned with what word you use to describe them.
    Yeah, I more or less agree. I just use a title that the vast majority of people have a concept of what I mean, like "programmer." I do use "software engineer" when applying for mortgages and other things that require you to list your profession, but that's mostly because it's what my title/job class at work at all the places I've worked. Even at companies where the official title was something like "Member of Technical Staff," the department was "engineering" or "software engineering," so I went with that.

    Now this particular person was an immigrant from India, so maybe she was trying to distinguish herself from the really low-skill outsourced programmers there. In that case, I can sort of understand, but that's more of a cultural thing.

  • I have a hybrid degree in Electrical & Computer Engineering. My Comp Eng classes didn't have much to do with Comp Sci of Software Eng at all. It was mostly about microprocessor design, with some computer architecture stuff. All still very hardware-focused.
  • I was computer science. Also random minor in philosophy. Spent way too much time being the boss at World of Warcraft for a while though.
Sign In or Register to comment.