Slashdot: News for Nerds


Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Are Programmers Engineers?

timothy posted more than 11 years ago | from the let-the-french-academy-decide dept.

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

cancel ×


Dubya (5, Funny)

0x7F (158643) | more than 11 years ago | (#5627283)

"Texas is becoming a laughingstock of the global high-technology community," said Steve Taylor, director of corporate affairs for Applied Materials.

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

Well... sort of...

Re: No (0, Insightful)

Anonymous Coward | more than 11 years ago | (#5627284)

No.. There is more to engineering that re-using code....

Definitely (1)

worst_name_ever (633374) | more than 11 years ago | (#5627288)

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

Re:Definitely (3, Interesting)

Anonymous Coward | more than 11 years ago | (#5627314)

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

Re:Definitely (1)

DutchSter (150891) | more than 11 years ago | (#5627316)

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

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

What about Nigger Riggers? (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#5627364)

Afro-American Engineering, the very first engineering discipline ever.

Re:Definitely (3, Interesting)

Dolphinzilla (199489) | more than 11 years ago | (#5627432)

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.

I prefer the term (1)

Error27 (100234) | more than 11 years ago | (#5627291)

"elite hacker for all that is good".

ONE WORD ANSWER (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#5627292)


How To Start A Heated Debate (5, Funny)

ackthpt (218170) | more than 11 years ago | (#5627298)

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

Re:How To Start A Heated Debate (0)

Anonymous Coward | more than 11 years ago | (#5627325)

No. They do not carry the responsibilites nor have the correct methodology to be engineers.

CODE MONKEY!!! (4, Insightful)

cybermace5 (446439) | more than 11 years ago | (#5627410)

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.

Neither ... (4, Insightful)

DogIsMyCoprocessor (642655) | more than 11 years ago | (#5627303)

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

Probably not (0)

Anonymous Coward | more than 11 years ago | (#5627304)

If you can't define what an engineer is and what it means to be one, you probably aren't one.

I am offended! (1)

bdigit (132070) | more than 11 years ago | (#5627305)

"Are you really an engineer? Or just a code-monkey?" This now raises the question, Are Engineers code-monkeys or programmers? hmm

i am an engineer (0)

Anonymous Coward | more than 11 years ago | (#5627308)

With a degree. And I am also a programmer - though I have no degree whatsoever in that field :)

MS "Engineer" (0)

Anonymous Coward | more than 11 years ago | (#5627310)

Insert obligatory MCSE joke here...

If Microsoft was a civil enginnering firm... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#5627311)

...its bridges would keep crashing to the ground even in a zero-gravity environment.

Read the EULA. (1)

LPetrazickis (557952) | more than 11 years ago | (#5627384)

Read the EULA. They have the right to remotely relocate your bridge.:)

Does it matter? (3, Funny)

heldlikesound (132717) | more than 11 years ago | (#5627313)

These things pretty much drive themselves now, engineers are just there if something goes wrong, you know, a cow walks onto the tracks or a drunk college kid stumbles and passes out in the crossing...

Re:Does it matter? (1)

pdbogen (596723) | more than 11 years ago | (#5627334)

Damn it, I wasn't drunk!

I mean.. what?

The question should be... (0)

Anonymous Coward | more than 11 years ago | (#5627317) it texas? ...or is it me?

There's only one way to answer that: (1)

Sparky69 (537855) | more than 11 years ago | (#5627319)

A slashdot poll:

Are you a(n):
1. Engineer
2. Code Monkey
3. Scientist
4. Some stupid cowboy neal thing

I'm a l337 h4x0r (0)

Anonymous Coward | more than 11 years ago | (#5627403)

you insensitive clod! :)

The meaning of Profeesional Engineer in Texas (4, Interesting)

Amigan (25469) | more than 11 years ago | (#5627321)

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

Re:The meaning of Profeesional Engineer in Texas (5, Informative)

Omega Leader-(P12) (240225) | more than 11 years ago | (#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 [] 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.

Well... (4, Funny)

Sayten241 (592677) | more than 11 years ago | (#5627322)

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

I can just see it now (3, Funny)

LPetrazickis (557952) | more than 11 years ago | (#5627393)

Programmers are now "Simian Engineers".:)

Re:Well... (1)

outsider007 (115534) | more than 11 years ago | (#5627438)

actually only the guy driving the truck is a sanitation engineer. the guys hanging off the back are 'trash monkeys'.

Re:Well... (1)

SN74S181 (581549) | more than 11 years ago | (#5627475)

The thing is, garbage collectors aren't 'sanitation engineers' and housewives aren't 'domestic engineers'. That's just hyped up bullshit. Are you sure you want programmers associated with such nonsense?

Because for us it would be a derogatory label (2, Insightful)

Nightlight3 (248096) | more than 11 years ago | (#5627477)

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.

Id say yes. (1)

Musashi Miyamoto (662091) | more than 11 years ago | (#5627327)

If the question is "do programmers engineer software"? Id say yes.

But, in the mechanical world, there are designers that do work that is very similar to engineers... The only difference is that sometimes a "real" engineer must "bless" the design before it goes to production. Also, you must be a certified engineer to work on certain projects... mostly because if you screw up, you could kill people.

Not necessarily the same thing when it comes to software...

Re:Id say yes. (1)

zapp (201236) | more than 11 years ago | (#5627363)


Space shuttle software?
Airplane software?
Medical machinery software (delivering high amounts of radiation?, remote surgery?)

Just because the software YOU see runs on your x86 desktop and a crash crashes once a week is acceptable, doesn't mean all software is at that level.

Re:Id say yes. (1)

Musashi Miyamoto (662091) | more than 11 years ago | (#5627404)

Thats why I said "not necessarily".

99% of software programming is not directly critical to other person's lives.

Indirectly, yes in some caes.
And in very few, it has direct consequence on lives. But that number is very small.

software and safety: RISKS digest (Re:Id say yes.) (0)

Anonymous Coward | more than 11 years ago | (#5627433)

Not necessarily the same thing when it comes to software...

You mean the software in an air-traffic control system? Or the fly-by-wire system in many aircraft? Traffic light control? ABS control on cars? The drive-by-wire controls on many cars now? The track switch for railways? The software in nuclear power-plants? Life supprt systems? Patriot missile systems? Electronic voting systems?

Software is becoming very important in modern technological society. I recommend you read the RISKS digest [] on how badly things can go wrong. (All these examples have been mentioned over the years in the RISKS digest.)

Are Engineers who Code Programmers? (1, Informative)

k_herald (317652) | more than 11 years ago | (#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.

Depends on a number of things... (4, Interesting)

zapp (201236) | more than 11 years ago | (#5627330)

- level of involvement
- size of project
- mindset

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

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

Most of all....
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.

Re:Depends on a number of things... (1)

timmyf2371 (586051) | more than 11 years ago | (#5627405)

I think the term engineer and architect could quite safely be used interchangably in this respect - you sometimes hear of job titles such as Software Architects. I would say this is exactly the same sort of idea.

I myself am a code monkey: I sit down in my spare time at work and at home writing php from the top of my head which clearly isn't an engineering feat.

Folks like those who write desktop environments and operating systems could be classed as engineers as they do the same type of work as an engineer - except the end result is 0s and 1s instead of buildings and bridges.


Re:Depends on a number of things... (4, Insightful)

CoolVibe (11466) | more than 11 years ago | (#5627452)

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

It all depends ... (4, Interesting)

Tensor (102132) | more than 11 years ago | (#5627331)

On what you studied, here i took a 5 college year course including physics 1 & 2, thermodynamics, calculs, adv calculus and all the regular programming/db/hw subjects finishing with a work-experience paper presented 6 months after finishing classes to graduate.

I EARNED the right to be a Software Engineer.

Re:It all depends ... (5, Interesting)

Skyfire (43587) | more than 11 years ago | (#5627359)

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

Re:It all depends ... (0)

Anonymous Coward | more than 11 years ago | (#5627383)

Did you actually learn software enginnering, or just programming?

Do you know what SCM means? What metrics do you use? Can you tell me what a function point is? How about COCOMO? What belongs in a design document?

If you can't answer all of those questions, you don't have any right whatsoever to call youself a software engineer.

Thats funny (0)

Anonymous Coward | more than 11 years ago | (#5627387)

I'm currently in a 4 year program and and have taken all that you have and I still don't have a degree in Computer Engineering. Why do they make us take so much Computer Science, well someone has to make the practical things the CS people ignore

Re:It all depends ... (4, Insightful)

Fluffy the Cat (29157) | more than 11 years ago | (#5627416)

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

Re:It all depends ... (1)

smallpaul (65919) | more than 11 years ago | (#5627455)

What in your background earned you that right? Did you take exams administered by a professional engineer's society or something?

A prelude to licensing (controlling) programmers (1)

corebreech (469871) | more than 11 years ago | (#5627335)

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

I'm just surprised it took this long.

So call them artists (1)

Tony Hammitt (73675) | more than 11 years ago | (#5627336)

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

However, anyone can be an artist, so let's call them Software Artists. Sounds so much better than code monkey...

Re:So call them artists (1)

Xformer (595973) | more than 11 years ago | (#5627398)

I've always said that software development was a black art... :-)

yes (1)

jonathanbearak (451601) | more than 11 years ago | (#5627338)

an engineer applies science to design/build something.
a computer programmer applies computer science to design/build software.

Depends (5, Insightful)

menasius (202515) | more than 11 years ago | (#5627339)

I think there are three types of people who program.

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

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

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

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



Re:Depends (2, Informative)

Anonymous Coward | more than 11 years ago | (#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.

i would say it depends (1, Insightful)

Anonymous Coward | more than 11 years ago | (#5627344)

on how much forethought you put into your code.

if you plan it out, have a model, a written set of clearly understandable design goals, that you could hand to someone to do the coding for you, then you have engineered something.

if you start coding off the top of your head and midway through your coding decide the mp3 encoding software you were writing should now control your toaster instead of dealing with audio, you are not engineering.

Don't Water Down "Engineer" (5, Insightful)

jeramybsmith (608791) | more than 11 years ago | (#5627347)

The term "engineer" has already been besmirched by Novell and Microsoft. Lets not water it down futher. The answer is simple. Someone with a computer engineering degree from a 4 year university is an accredited engineer. Someone with an IS, IT, MIS, ITM degree is _not_ an engineer. Sorry but if you wanted to be an engineer, you should have studied engineering. Someone who drops out of college and learns VB or perl or something is not an engineer. The term engineer implies some form of accreditation. I applaud Florida who makes it illegal to expand the term "MCSE" on a resume or in a business letter unless you are an actual engineer.

Re:Don't Water Down "Engineer" (0)

Anonymous Coward | more than 11 years ago | (#5627472)

What about Casey Jones, eh? eh? Was he not the train's engineer? How may 4 year colleges teach you to crash into other trains, eh? eh?

Re:Don't Water Down "Engineer" (1)

bullestock (556584) | more than 11 years ago | (#5627476)

I completely agree (but then I'm an M Sc EE :-)

Choo chooooo! (1)

t0qer (230538) | more than 11 years ago | (#5627349)

Don't engineers drive trains?

In the UK (0)

Anonymous Coward | more than 11 years ago | (#5627456)

In the UK, engineers *delay* trains!

Define it. (1)

termos (634980) | more than 11 years ago | (#5627353)

According to this [] text, and engineer is People who work in the fields of science and technology.
Generic geeks. Look at Dilbert for example.

The difference (5, Informative)

j (2547) | more than 11 years ago | (#5627356)

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.

Re:The difference (0)

Anonymous Coward | more than 11 years ago | (#5627408)

The creative process is always involved when sloving a problem. Wether you're an engineer, programmer, artist, or a monkey. You stil have to find a way to solve a problem and that takes creativity. Calling a programmer a "droid" is fairly degrading. Calling a monkey a droid is just as degrading.

Depends (1)

chris-johnson (45745) | more than 11 years ago | (#5627357)

I think that it really just depends on the programmer, their methodology, and their projects. A blanket statement one way or the other just doesn't cut it. Some programmers are more like engineers in the sense that they have to engineer their code to stand up against the world (i.e., if you're programming some health application that's used in hospitals, where an individual's life could depend on the correctness of your code), but there are certainly too many 'hacker-ish' programmers out there to say that all programmers are engineers. There's my two cents.

I don't think most of you are engineers (4, Insightful)

brarrr (99867) | more than 11 years ago | (#5627361)

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.

Re:I don't think most of you are engineers (4, Interesting)

zangdesign (462534) | more than 11 years ago | (#5627440)

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.

Just get better titles in Texas (1)

MerlynEmrys67 (583469) | more than 11 years ago | (#5627362)

Of course my business card read this when I was in Texas:




You just have to get a better title, Engineer is over rated

I like definition number 2 (1)

Calculus Brown (239746) | more than 11 years ago | (#5627365)

From Meriam webster:
Main Entry: 1 engineer

1 : a member of a military group devoted to engineering work
2 obsolete : a crafty schemer : PLOTTER
3 a : a designer or builder of engines b : a person who is trained in or follows as a profession a branch of engineering c : a person who carries through an enterprise by skillful or artful contrivance
4 : a person who runs or supervises an engine or an apparatus

Considering that I always wait for a patch before buying a product nowadays I like definition number 2!!!!

ACM needs to step up (1)

Screaming Lunatic (526975) | more than 11 years ago | (#5627368)

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

Re:ACM needs to step up (-1, Troll)

Anonymous Coward | more than 11 years ago | (#5627465)

The ACM Sucks balls and is filled with a bunch of Fags. This regime should be dethrowned, and I propose

Oh, come on... (1)

0WaitState (231806) | more than 11 years ago | (#5627370)

From the article:

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

Yeah, right. Like the weather, fallout from the various crooked company implosions, bankrupt state government and general shitty quality of life have nothing to do with it.

accountability (0)

Anonymous Coward | more than 11 years ago | (#5627372)

In Canada the term "engineer" is heavily regulated: again to protect the public.

Engineering I think is more "disciplined" then writing code. If you look at the more traditional engineering fields of mech., electrical, civil you'll see that after a design is finalized it can be guaranteed to work within given parameters/assumptions. Can the same be said of writing code?

In most cases, no. An engineer (to me, at least) is someone who can say: "I gurantee this design to work". With software it's very difficult to do. The embryonic "software engineering" field is a testament to this.

Until you can gurantee that the software that you write is as provably stable/sound as a design from a civil, mech., etc. engineer, you have no right to call yourself an engineer. I don't care how much experience you have.

This (of course) just one opinion.

Let's ask Webster (4, Insightful)

Xformer (595973) | more than 11 years ago | (#5627374)

Second definition of "engineering":
a) the application of science and mathematics by which the properties of matter and the sources of energy in nature are made useful to people b) the design and manufacture of complex products <software engineering>
According to that, programmers are engineers. That's especially true for those programmers that do design as well (like myself).

Re:Let's ask Webster (1)

Duncan3 (10537) | more than 11 years ago | (#5627423)

So, what percentage of coders actually do design level work and even approach "complex".

The tiny fraction that we call engineers. But not all of them, maybe 10%, if that.

In Alberta ... (2, Informative)

Anonymous Coward | more than 11 years ago | (#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).

I'm torn. (0)

Anonymous Coward | more than 11 years ago | (#5627378)

Since this seems to mostly be a dick-size/resume-padding "look! i'm an engineer!" thing. It seems mildly harmless to come up with some kind of "software engineer" certification thing within texas to allow programmers to call themselves software engineers if they feel like it if they can pass some test or other. Banning the use of the general "engineer" title seems kind of reasonable to me, as it could potentially be misleading; i could write you an RDBMS if you would like, but anyone trusting me to build a bridge is insane.

On the other hand, ratings seem to in general be a natural precursor to control. That is to say, the government releases "ratings" for video games and movies, and within time anything that falls into one of the "bad" ratings can't be purchased by a significant portion of the population. Likewise, if the texas government there starts certifying "software engineers", there may be a time where non-certified programmers are limited in their field of endeavor.

This is silly, since clearly programming is such a rediculously wide field that there is no way you could come up with a single set of standards to judge programmers for.

By their meaning... (5, Interesting)

Duncan3 (10537) | more than 11 years ago | (#5627386)

By their meaning, clearly most poeple are not engineers. That's a clear cut one.

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

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

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

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

Well... (2, Informative)

SixDimensionalArray (604334) | more than 11 years ago | (#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 ( [] ) 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!


Engineering is about ethics, and responsibility (1)

Garin (26873) | more than 11 years ago | (#5627392)

For me, the definition of being an engineer is all about being a professional and taking responsibility for the work you do. In Canada, engineering is very strongly linked to ethical responsibility.

A good example of this is the fact that all engineers here wear a symbolic iron ring on their right pinky, supposedly made from the iron of a failed bridge that collapsed due to poor engineering, IIRC. This ring is a constant reminder of the responsibility that engineers have to society, as we all put our lives in their hands dozens of times per day at _least_.

Unless software programmers are bound by the same codes of conduct, and follow the same guidelines, they are not engineers.

In short it is definitely NOT the job description that makes the engineer. It is their responsibility to society. Almost every purely software development project I have ever seen fails this test miserably, and therefore software development is generally NOT engineering.

Now, of course, there are engineers who program, and they do often do a lot of programming as part of their very legitimate engineering jobs (maybe that's all they do, in practice). But software development IN GENERAL is not engineering.

Re:Engineering is about ethics, and responsibility (1)

questioner (147810) | more than 11 years ago | (#5627469)

The iron is not actually from the collapsed bridge, but the traditions and ceremony ("The Calling of an Engineer") were instituted after poor engineering practices resulted in the collapse of a bridge in Quebec, causing numerous deaths.

I'm studying to be an engineer now, and I must agree with those above who state that a 'code monkey' is not an engineer. I respect those who choose to work in computer-oriented fields, but they are not engineers. An engineer is more than the definition of the word -- we go through extremely rigorous training and must pass lengthy accreditation probation periods before being given the official title.

And if you think Texas' laws are draconian, check out the OSPE (Ontario Society of Professional Engineers) or the CEAB (Canadian Engineering Accredidation Board) to see what you have to do in Canada to be called an engineer.

Oh, and that "$3000 / day" charge? Try $50k+ up here for misuse of the title. Although, I will admit, $50k CAD ~ $5 USD, but anyway ... :-)

Simple Answer (1)

Tuffnut (618438) | more than 11 years ago | (#5627396)

Are Programmers Engineers?

No, programmers are programmers.

Computer Engineer vs Computer Scientist (1, Interesting)

cybercrap (319182) | more than 11 years ago | (#5627400)

Alright, I just recently got my Computer Engineering degree, and I can tell you plane and simple the difference between me and a computer scientist. My education was centered on the design and operation of an actual product like an embedded system or cpu. A computer scienstist at my school, UT, spend most of their time on theory about how to program and such. As an engineer I had very few just plain theory classes, I was constantly working electrical circuit problems.

I'm not saying that all programmers are concerned with theory, cause I know plenty who aren't, but I know very few engineers who aren't working on designing some aspect of an actual product.

no way (1)

super_ogg (620337) | more than 11 years ago | (#5627401)

Sorry, this will be an age old discussion for sure but the bottom line is that the education and training involved with becoming an engineer surpasses any chance of computer scientists being engineers. Yah, they get the shaft like engineers there is a scale involved here. Computer Science: Go through school, classes aren't too bad. Can get by without having to do major grinding work. The pay is relatively good but you take an easier way out. The trade off, not as much respect and taking slave jobs(not all, but some). Engineers: Take a beating during school, people warn you that you will get a well paid jobs, people will appreciate your work a little more but you get prepared for the grueling workforce people have told you about. In the end, get paid well, you are someone's slave but with more credit due for your work because of your background education. I've taken comp. sci. courses. The courese are relatively easy and the work load is a lot less. There is a reason why engineers are engineers. If you are a computer science guy, and don't believe me, enroll in engineering for a year. super_ogg

Re:no way (2, Insightful)

gsegelk (617774) | more than 11 years ago | (#5627462)

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)

No, but Software Engineers are (1)

bob65 (590395) | more than 11 years ago | (#5627406)

No, programmers are not engineers. Software engineers, however, should be and are engineers.

I think it depends... (1)

gsegelk (617774) | more than 11 years ago | (#5627407)

on what level you are coding on. If a person is involved in designing the software (data flow, class responsibilities, cohesion, coupling etc etc) then I would consider him/her to be an engineer. If the person is given a detailed framework of the class design and how everything should fit together, then I would consider him/her a programmer. To me, the title 'engineer' is a very loose term and is associated with a person who is involved in the design process of a project.

Programming a programmer (0)

Anonymous Coward | more than 11 years ago | (#5627411)

If (the programmer can be programmed) {he is not an engineer.} Else {he is an engineer} Link []

What this is about (1)

xintegerx (557455) | more than 11 years ago | (#5627417)

The hoopla is that basically, you cannot call yourself an Engineer unless you have been certified in Engineering and licensed to perform Engineering.

A lot of people consider themselves Software Engineers, but since they are unlicensed, many states (Texas) disallow this practice of these people labeling themselves as Engineers.

I think licenses make sense, and a program that would license Software Engineers would kick ass (and actually would need to exist for licenses to be possible.)

I'm actually surprised this is finally on slashdot, since someone always mentions the Texas case whenever a story mentions "Software Engineer(ing)" in it.

At some schools, CS students can be mixed in with various types of Engineering students. Both groups will take similar math classes and physics classes their first two years, but Engineers seem to act holier. It would be kick ass to be able to get a B.S. in CS and then be certified as a Software Engineer.

Maybe this would require having taken a couple of engineering courses, but this would be the best.

Then, we'll be both scientists and engineers!

Instead of asking the question "Are programmer's engineers?", I think we should have the following answered:

Most computer software programming career-oriented students take Computer Science. If a BS in Software Engineering could make you an Engineer (after licensure) instead of a Scientist, would you take that path instead? If American schools split CS into those two majors, how would the focus of each of these differ, and which payscale could be bigger?

I know some schools have Software Engineering, so how do existing SE majors differ from CS?

This is important (1)

Epistax (544591) | more than 11 years ago | (#5627418)

This is important because it says whether or not programming can be regulated, in that, is the programmer competent? As my Software Engineering professor pointed out, programming is the only life-or-death profession which is unregulated. How do you feel about your antilock breaks? Or any of the other millions of embedded systems which you rely on not blowing you up everyday. It is to our advantage that most of these systems are programmed by computer engineers (that's me!). I certainly feel that Software Engineering should be regulated in the same fasion, however obviously for many companies, incompetent programmers are fine, such as for a desktop OS.

Artists (1)

Nexum (516661) | more than 11 years ago | (#5627420)

I'd like to see programming taught as more of an art than a science.

Sure it involves computers etc. But I see programming as a sculpting of code, and artistic construction with its own nuances.

Not a common view though, but I think things will lean this way increasingly, or all we will have in a few years time are just code monkeys who bash out crap all day and noone taking the time to code innovatively.

NO! (1)

Grieveq (589084) | more than 11 years ago | (#5627422)

Programmers are NOT engineers. We don't spend 4+ years studying the mathematics and physics of our discipline to be compared with someone who knows how to "code".

One takes hard work and effort, the other doesn't even come close.

Technically one must be licensed (1)

treads_water (472573) | more than 11 years ago | (#5627425)

To be legally be an engineer with all the perks you have to pass the Professional Engineer (PE) exam after having passed the Engineer In Training (EIT)exam. As you must be enrolled in an ABET (forgot what it stands for) accredited 4-year engineering program to take the EIT, programmers without engineering degrees can not legally be engineers.

Some companies, Motorola comes to mind, won't even let you use Engineer on your business card if you haven't passed the exam.

So from a legal standpoint, programmers aren't engineers.

Of Course! (1)

poity (465672) | more than 11 years ago | (#5627428)

There are Software Architects who design the programs.

So, naturally it should follow that Software Engineers are those who bring the idea into reality.

Very few Programmers are Software Engineers (0)

Anonymous Coward | more than 11 years ago | (#5627435)

Atleast at my company, very few programmers would qualify as Software Engineers. Code monkey seems a lot more accurate as most good software engineering practises are never followed.
Come to think of it, most good coding practises are never followed either.
Well, monkey still seems to apply.

Liability and certification (1)

innocent_white_lamb (151825) | more than 11 years ago | (#5627444)

This issue has come up in Canada a few times in the past. See this [] for numerous article and editiorial links regarding this matter.

It's my understanding that the main objection to software programmers being called "engineers" is that an engineer is liable for faults and mistakes. He follows definite principles of design (how many definite principles/laws of design do we have for software?) and certifies that his design meets all of the standards and so on. And he's liable if he certifies something incorrectly.

Do you want to be liable for a fault in the accounts receivable program that you wrote last week? "That will be ten million dollars, please." How about the fault that the black-hats found in your firewall that's currently being used by numerous large businesses?

Read some of the articles cited in the above link. It's truly interesting material.

Code Monkey!!! (1)

Dri (16940) | more than 11 years ago | (#5627447)

I'm without a doubt a code monkey! Engineer?? Gee, I haven't got a complete high school degree. (I'm 27)

Degrees (1)

markclong (575822) | more than 11 years ago | (#5627450)

I have a degree in Computer Systems Engineering [] from Arizona State University [] . I like to think that I am an engineer. I feel that the work I do is above just coding but at the same time I work with people with "Software Engineering" from a "design" school. They are the ones who seem happy to call themselves software engineers. I went to school and suffered through statics, physics, and calculus like the electrical, chemical, and civil engineers around me. My college had ABET [] accreditation so again I like to think that I am a real engineer. I know I may be viewed as a code monkey but I have a job so call me what you will.

Yeah whatever... (1)

unsinged int (561600) | more than 11 years ago | (#5627451)

What about all the people who didn't take a PE exam but whose college degree says Computer Engineering? If I lived in Texas, I'd still call myself an engineer for precisely that reason...and if they didn't like it, tough, I'd switch states.

I can sort of see the fuss over someone with a 2-year Computer Technology degree advertising themself as an engineer, but really if they have equivalent experience I certainly wouldn't debate their right to the title of engineer either.

hmm.. (1)

josepha48 (13953) | more than 11 years ago | (#5627458)

my BSEE says I'm an engineer and I code... though I will say that many of the coders I have meet are monkeys... I'd say it is a 50 / 50 split.. anyone can code, but only a few can code really well...

dumbest statement ... ever (0)

Anonymous Coward | more than 11 years ago | (#5627459)

"It's one of the silliest issues we're having to deal with this session, but it's also one of the most important"

Is it silly, or is it important?

This is exactly why programmers/engineers shouldn't be allowed to speak in public.

not really (1)

Unregistered (584479) | more than 11 years ago | (#5627460)

Code munky sounds cool, but has a negative connotation, so let's not use that. However programmers aren't really engineers. Engineers work in the real world. that's how they're differnet for mathmatitions that also know physics. Programmers do something else. not to knock eitehr, but they're differnet things. And this ... engineer stuff (domestic engineer sanitation engineer) is stupid.

Not (1)

nagora (177841) | more than 11 years ago | (#5627463)

I've been a programmer for 25 years and I've never met another programmer that could even be compared to the real engineers of the 18th century, let alone today's. Software is nowhere close to the rigor needed in engineering and anyone that seriously calls themselves a "Software Engineer" should be spanked and sent to bed until they grow up a bit.


Can you say "Accountability"? (1)

Soko (17987) | more than 11 years ago | (#5627466)

Here in Canada, we have laws saying exactly who and who cannot call themselves an "Engineer" - even Microsoft [] is bound to these laws. The reason is accountability.

I've worked in engineering companies in the past, with Sparkys, Civies, Pipers, Mechs and thier attendant underlings. The thing that all of them had in common (other than being able to really screw up a computer. "But I'm an engineer!!!" :P) was they were legally accountable to the people they designed systems for, once that P.Eng was appended to thier name.

They are licensed in much that same way a doctor is for providing medical attention. They can be taken to account if they are negligent in thier designs. This is why most bridges, for example, can carry over twice thier rated weight for short periods - the engineer doesn't want to go to jail if someone decides to try such a stunt.

This differs from Software "Engineers" who are rarely, if ever, accountable for the systems they design - EULAs usually see to that. If you needed a license to write software, SorceForge could be (and in reality likely would be) hosted on a C64. It's all about being accounntable for your work.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account