Beta

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!

Ask Slashdot: Developer Or Software Engineer? Can It Influence Your Work?

Soulskill posted about a year and a half ago | from the it's-harder-to-chant-software-engineer dept.

Programming 333

ctrahey writes "Many of us disregard the impact of our titles on various aspects of our lives, both professional and otherwise. Perhaps it's appropriate to ask two questions about the difference between a couple titles familiar to the Slashdot community: Developer vs Software Engineer. What are the factors to consider in the appropriate use of the titles? And (more interesting to me), what influence might the use of these titles have on the written code? Have you observed a difference in attitudes, priorities, or outlooks in talent as a corollary to their titles?"

cancel ×

333 comments

Are you an engineer? (4, Insightful)

Anonymous Coward | about a year and a half ago | (#41945867)

Unless you have a degree in Software Engineering, it's both misleading and might be illegal to use the "Software Engineer" title in your country.

Re:Are you an engineer? (1)

Anonymous Coward | about a year and a half ago | (#41945979)

The title is protected by law in some countries and state http://en.wikipedia.org/wiki/Software_engineer#Use_of_the_title_.22Engineer.22

Re:Are you an engineer? (1)

Anonymous Coward | about a year and a half ago | (#41946037)

Well I work in NY and my title is 'Software Engineer.' Where that means no more than 'Developer.'

Re:Are you an engineer? (4, Insightful)

thetoadwarrior (1268702) | about a year and a half ago | (#41946169)

Your link even states that there is no complete agreement on it. Some claim it is actual engineering and others claim software moves too fast to be real engineering. Canada seems to be only country that gets really uppity about it and it sounds like even they're looking to compromise if you click the regulation link from your link.

http://en.wikipedia.org/wiki/Regulation_and_licensure_in_engineering#Canada_2 [wikipedia.org]

The use of the term "engineer" was an issue between professional bodies, the I.T. industry, and the security industry, where companies or associations may issue certifications or titles with the word "engineer" as part of that title (such as security engineer or Microsoft Certified Systems Engineer). Microsoft have since changed the title to "Microsoft Certified IT Professional". Several licensing bodies for professional engineering contend that only licensed professional engineers are legally allowed to use the title "Engineer". The I.T. industry, on the other hand, counters that:

  • These title holders never presented themselves as "Professional Engineers";
  • Provincial laws, other than in Quebec and Ontario, regulate only the use of term "Professional Engineer", and not any title with the word "Engineer" in it;
  • in Quebec and Ontario, the term "Engineer" is protected by both the Engineers Act[27] and by section 32 of the Professional Code[28]); and,

  • The I.T. industry has used the term "engineer" since the dawn of the computing industry in the 60s.[29]

Court rulings regarding the usage of the term "engineer" have been mixed. For example, after complaints from the Canadian Council of Professional Engineers, a court in Quebec fined Microsoft Canada $1,000 for misusing the "engineer" title by referring to MCSE graduates as "engineers".[30] Conversely, an Alberta court dismissed the lawsuit filed by The Association of Professional Engineers, Geologists, and Geophysicists of Alberta (APEGGA) against Raymond Merhej for using the title "System Engineer", claiming that, "The Respondent's situation is such that it cannot be contended that the public is likely to be deceived, confused or jeopardized by his use of the term"[31] APEGGA also lost the appeal to this decision.[32]

The Canadian Information Processing Society[33] and in particular CIPS Ontario[34] have attempted to strike a balance between the professional engineering licensing bodies and the IT industry over the use of the term "engineer" in the software industry, but so far no major agreements or decisions have been announced..

So you and the original poster aren't entirely correct. Otherwise The Association of Professional Engineers wouldn't have lost its court case.

Protectionism over the title engineer is nothing more than an excuse for a group to milk money out of people. The title sofware engineer has been used for ages while not having a professional body demanding fees. This of course upsets other engineers but that's the way it is and it's unlikely to change. There are too many software engineers who aren't going to want to be milked for a membership fee that offers them nothing of real value.

Re:Are you an engineer? (0)

Anonymous Coward | about a year and a half ago | (#41946585)

So you and the original poster aren't entirely correct.

They are indeed entirely correct. Both stated that there are areas where use of the term "engineer" in a title or job description is illegal if you do not have an engineering degree and/or do not have a professional engineering certification. Both statements are absolutely true.

Now, it is also quite true that that there are other areas where it is not illegal, and Canada may well be one of them. However, one wonders why you're getting your panties all in a twist over it. Unless you're one of those folks who thinks engineering is something you should be able to say you do even though you have no idea what it actually even means.

Re:Are you an engineer? (2)

crutchy (1949900) | about a year and a half ago | (#41946685)

as long as you don't claim to be an aeronautical engineer if you aren't and then go and modify a bunch of planes without any clue as to what you are really doing

on the other hand if you call yourself a software engineer and there is no risk from that (if you are developing games or whatnot) then no harm no foul.
a lot of programmers do what would be considered software engineering without the title too.

if you are responsible for (and know what you're doing when it comes to developing) software that requires compliance then you could probably call that software engineering.

in my experience, engineering is mostly to do with taking responsibility for showing complaince with standards or regulations (coming from an aerospace, structural and mechanical background at least).

there's plenty of people who can develop good software, but fewer real engineers willing to cop the can for it if it goes wrong.

Bah, that's a load of crap (4, Interesting)

Anonymous Coward | about a year and a half ago | (#41946007)

It would only be illegal if there was a public certification. There is no legislative authority in college program accreditation, or in determining titles. As long as someone is not misrepresenting their resume, there is nothing illegal with any title. I could call an employee "King of England" if I wanted to.

Re:Bah, that's a load of crap (3, Informative)

Tridus (79566) | about a year and a half ago | (#41946083)

Not true in Canada. Calling yourself an "engineer" without the appropriate blessing is in fact illegal.

Re:Bah, that's a load of crap (4, Informative)

thetoadwarrior (1268702) | about a year and a half ago | (#41946307)

Wrong. http://en.wikipedia.org/wiki/Regulation_and_licensure_in_engineering#Canada_2 [wikipedia.org]

an Alberta court dismissed the lawsuit filed by The Association of Professional Engineers, Geologists, and Geophysicists of Alberta (APEGGA) against Raymond Merhej for using the title "System Engineer", claiming that, "The Respondent's situation is such that it cannot be contended that the public is likely to be deceived, confused or jeopardized by his use of the term

If you read further in that link, they're working on compromise. The associations obviously want to protect themselves and keep the membership fees rolling in but they're fighting a losing battle. No one in software cares about titles like they do.

Also, as I believe it's actually the specific title of "Professional Engineer" (P.Eng) that is protected in Canada. Not just any old engineering title.

Re:Bah, that's a load of crap (1, Interesting)

Austerity Empowers (669817) | about a year and a half ago | (#41946389)

Professional Engineer is protected in the US too. But you don't see it much outside of government. A PE isn't very useful in private industries, it's too broad and to mgmt sounds like a union.

Re:Bah, that's a load of crap (1)

thetoadwarrior (1268702) | about a year and a half ago | (#41946639)

I would agree. It is effectively a union but, as far as can tell, no striking ability or anything else really that may protect your job.

Re:Bah, that's a load of crap (0)

Anonymous Coward | about a year and a half ago | (#41946603)

> No one in software cares about titles like they do.

Which is why the guy was willing to go to court to use the title? Software dudes are just as jealous of their titles as any other industry.

Re:Bah, that's a load of crap (1)

thetoadwarrior (1268702) | about a year and a half ago | (#41946631)

People care about their own titles especially if someone is wants to take it away for no good reason but companies don't really care if you want to be called a developer or software engineer. The only time they care is if means you'll get (or want) significantly more money than they're willing to pay. But if it costs them nothing and makes you happy then you can pretty much have any title you want.

Re:Are you an engineer? (1)

Anonymous Coward | about a year and a half ago | (#41946051)

Unless you have a degree in Software Engineering, it's both misleading and might be illegal to use the "Software Engineer" title in your country.

The problem is that the various Engineering Societies around the
planet have coopted the term "engineer". What they really mean
is "Professional Engineer" a member of some group of people who
control a society under a grant from a government. Originally something
to do with building &| operating machines; specifically siege engines.

They like to believe that only a member of such a society should be able
to call themselves "Engineer".

In Canada this issue is very divisive! Nobody wants to test this in court
in fear the outcome will not suit thier tastes.

Serves them right!

Re:Are you an engineer? (5, Interesting)

Concerned Onlooker (473481) | about a year and a half ago | (#41946165)

I think I agree with you, but what if you have a degree in computer science? Is your title "Developer with a degree in Computer Science?" I don't think I could really call myself a computer scientist with a straight face, yet that is my degree.

Re:Are you an engineer? (1)

Anonymous Coward | about a year and a half ago | (#41946447)

You are a Developer with higher pay grade and the possibility of becoming a Lead Software Architect if you have a Masters degree. If you have a PhD of the subject, you can become the Chief Software Scientist. Titles are organization specific, the pay grade industry specific.

Re:Are you an engineer? (0)

Anonymous Coward | about a year and a half ago | (#41946679)

My Degree is Master of Science in Computer Engineering. What now?

Re:Are you an engineer? (1)

thetoadwarrior (1268702) | about a year and a half ago | (#41946195)

The only thing I'm aware of is the Engineering associations in Canada get more protective over the title but that doesn't mean it's illegal as they haven't won all their court cases and there's, afaik, a couple states in the US that require title but for the most part the western nations at least haven't changed anything about the title software engineer which is used more freely than other egineering titles. But that has more to do with the associations not wanting to give up the membership fees and who can blame them. They get loads of money without having to provide anything of real value.

Re:Are you an engineer? (1)

fluffy99 (870997) | about a year and a half ago | (#41946363)

Definitely. Just like the janitor who calls himself a sanitation engineer, you've got lots of code monkeys wanting to sound more prestigious by calling themselves software engineers. It demeans the guy who really is a sanitation engineer with a civil engineering degree designing the city's sewer and water treatment system.

Re: Are you an engineer? (1)

jesseck (942036) | about a year and a half ago | (#41946515)

While it may be demeaning to the Civil Engineer, it does make the management of the janitor feel like they are not demeaning the janitor. "sanitation Engineer" in the sense of janitors is just to make others feel good, not the janitor.

Re:Are you an engineer? (3, Funny)

fm6 (162816) | about a year and a half ago | (#41946539)

Even if you have the hat [starcostumes.com] ?

Re:Are you an engineer? (1)

Anonymous Coward | about a year and a half ago | (#41946575)

If my employer wants to call me a "Software Engineer", then I can't do anything about it.

changing (0)

Anonymous Coward | about a year and a half ago | (#41945869)

I'm officially titled Software Engineer at work, but will probably have to change to Developer if my state's "Engineers must be licensed" push goes through.

Re:changing (1)

wmbetts (1306001) | about a year and a half ago | (#41946279)

Will they offer a license for Software Engineer? What state are you in?

Programmer vs. Software Engineer (5, Insightful)

jayveekay (735967) | about a year and a half ago | (#41945879)

A programmer (developer?) writes code that hopefully works. A software engineer writes code that is designed to work.

Re:Programmer vs. Software Engineer (1)

ph1ll (587130) | about a year and a half ago | (#41946197)

Nice. But how about:

A software engineer writes tests.

Re:Programmer vs. Software Engineer (1)

Anonymous Coward | about a year and a half ago | (#41946339)

A Software Engineer is closer to a Software Architect than a Software Tester.

As someone with a B.S. Software Engineering degree, we were taught how to manage every aspect of building small to large software projects. Everything from generating ideas, determine+getting+understanding requirements, project and team management, differences between agile+waterfall+others, types and ways of testing, how to design for usability (multiple languages+cultures) and scalability+reliability+flexibility+???ility and the trade offs each requires. We learned how to code, make that code understandable by other humans, and how to reuse that code else where without copying or rewriting it. We also looked into ways of packaging it all up and letting people use it without requiring them to have advanced computer experience.

The people in our B.S. Computer Science degree learned how to code, write operating systems, skipped testing and project management, had more advanced math courses, wrote optimizing compilers, and did more with assembly. They went more into proving how algorithms worked.

So no. "A software engineer writes tests." is a very poor statement.

Re:Programmer vs. Software Engineer (1)

Stewie241 (1035724) | about a year and a half ago | (#41946597)

I think you totally missed what he was trying to say. He wasn't implying that all a software engineer does is write tests. Rather a software engineer is somebody who not only writes some code and hopes it works but also writes tests to demonstrate that it does work.

Re:Programmer vs. Software Engineer (0)

Anonymous Coward | about a year and a half ago | (#41946217)

I can see your bias.

Re:Programmer vs. Software Engineer (1)

thetoadwarrior (1268702) | about a year and a half ago | (#41946225)

That's a stupid explanation given that the vast majority of code written by anyone for their job both works and has bugs in it. Given that Google used to (probably still does) have more engineers and intelligent people than perhaps any other company and Chrome is still overly sensitive and tabs just die and never recover and as far as I can see has the worst rendering of malformed HTML then that means your assertation is flawed.

Re:Programmer vs. Software Engineer (1, Insightful)

drinkypoo (153816) | about a year and a half ago | (#41946609)

The stupidity is your shitty English parser. He said designed to work, not "that works"

Re:Programmer vs. Software Engineer (1)

thetoadwarrior (1268702) | about a year and a half ago | (#41946655)

No, if it doesn't handle a common use case then it's not designed to work.

What about programmer? (5, Insightful)

Anonymous Coward | about a year and a half ago | (#41945883)

I like to just say programmer.

Programmer.

Programmer.

Programmer.

Re:What about programmer? (0)

Anonymous Coward | about a year and a half ago | (#41946077)

And also these other follow-up actions:

- Sweat like a monkey
- Throw chair

Re:What about programmer? (4, Funny)

Arancaytar (966377) | about a year and a half ago | (#41946243)

Programmers programmers programmers PROGRAMMERS PROGRAMMERS PROGRAMMERS. *chairtoss*

Nah, doesn't flow off the tongue.

I'll stick with "developers".

I'm both, there's no difference (1)

Anonymous Coward | about a year and a half ago | (#41945885)

I develop software and engineer it. I'd be unable to do either without the other.

Is it even relevant? (0)

Anonymous Coward | about a year and a half ago | (#41945897)

Just like saying, uhm, first post?

I don't know but... (0)

Anonymous Coward | about a year and a half ago | (#41945909)

Software engineers make more $ than developers or programmers

source:
http://www.modis.com/clients/salary-guide/

Re:I don't know but... (2)

jmcvetta (153563) | about a year and a half ago | (#41946377)

The salary difference reported by Modis (recruiters mostly working for bigcorps and venture-backed companies) may have more reflection on which job title is preferred by bigcorps (who often pay more) than anything else.

Gets more babes (4, Funny)

DuncanE (35734) | about a year and a half ago | (#41945923)

Easy.... Use software engineer. It sounds richer so gets more babes ;)

Programmer, Motherfucker! (5, Funny)

mhh91 (1784516) | about a year and a half ago | (#41945935)

Do you speak it? [programmin...fucker.com]

Re:Programmer, Motherfucker! (1)

Anonymous Coward | about a year and a half ago | (#41946125)

Do you speak it? [programmin...fucker.com]

That's awesome an' all... OTOH, I've had to maintain and re-engineer other peoples code... and mother-fuck that!

Some people should not be programming, let's not encourage them to be gung-ho about it. Most web "programmers" (specifically) couldn't engineer their way out of a paper bag. It's pathetic they're even able to pass themselves off as programmers!

Re:Programmer, Motherfucker! (0)

Anonymous Coward | about a year and a half ago | (#41946299)

Most web "programmers" (specifically) couldn't engineer their way out of a paper bag. It's pathetic they're even able to pass themselves off as programmers!

Spoken like a true AC!

Re:Programmer, Motherfucker! (0)

Anonymous Coward | about a year and a half ago | (#41946435)

Spoken like a true AC!

Thank you my fellow AC! Together may we speak for truth, justice and an end to shitty web "programmers"!

Have to be Registered? (1)

Anonymous Coward | about a year and a half ago | (#41945941)

I remember we discussed this in University. From what I remember, to be an engineer, you typically have to be registered in your country. To do so, you have to pass a test, including a piece on ethics. It makes sense - you want to make sure the guy you hire to build a bridge knows what he's doing and has the ethics to do it right. Therefore, I'm not sure calling yourself a software engineer is even legal in all countries.

Also makes me wonder, if bridge builders or aerospace engineers require an ethics test, shouldn't the guy who writes the software that guides the rocket also require a similar test?

Re:Have to be Registered? (4, Insightful)

Dahamma (304068) | about a year and a half ago | (#41946023)

Ethics tests are pretty pointless in practice. There is a big difference between knowing ethics and being ethical.

I'm pretty sure 99.9% of convicted criminals knew they were committing a crime at the time...

Re:Have to be Registered? (1)

Jane Q. Public (1010737) | about a year and a half ago | (#41946325)

"Also makes me wonder, if bridge builders or aerospace engineers require an ethics test, shouldn't the guy who writes the software that guides the rocket also require a similar test?"

I have recently worked at re-writing some software that was created probably around 8 years ago by a BIG corporation. After seeing this pile of... well, I'll be polite and just call it "stuff"... I have to wonder whether anybody in the corporation ever took an ethics test.

Don't get me wrong... it's mostly working code, as far as I know. But it's old technology, the formatting is all over the place, and some things are just plain done in weird ways with no apparent reason. How a major corporation could come up with this mess is a mystery to me.

Re:Have to be Registered? (1)

russotto (537200) | about a year and a half ago | (#41946517)

Also makes me wonder, if bridge builders or aerospace engineers require an ethics test, shouldn't the guy who writes the software that guides the rocket also require a similar test?

Rocket engineering in the US mostly traces back to Werner von Braun. Given that, do you really think there's any ethics in the business?

Superficial (1)

globaljustin (574257) | about a year and a half ago | (#41945943)

I am looking forward to seeing how /. parses this question...I'm sure the answers will be beneficial.

As the for question itself, it is posed in a very superficial context. They use a lot of marketing buzzwords and quasi-coder jargon.

They also assume that everyone agrees that those two titles are the only two titles the people who write code have. I know of journalists, animators, artists, scientists and accountants who code **regularly** on a myriad of languages.

Coding is what is in question here. I *love* the idea of *finally* deciding on definitions for these terms across the industry. I do *not* think the context of the question is intellectually rigorous enough to provide that answer...good thought question though!

Well... (3, Insightful)

PhrostyMcByte (589271) | about a year and a half ago | (#41945955)

Software Engineer: can build a flexible, properly designed application architecture and has grown past the schooled "everything fits within some methodology X" phase (i.e. can think outside the box).

Developer: will usually be able to make something that works, and even write quite nice code when given good direction, but can create a mess when given a chance to be a cowboy coder.

From an HR Standpoint... (2)

DavidClarkeHR (2769805) | about a year and a half ago | (#41945957)

It is an interesting question. From an HR standpoint, job titles aren't nearly as important as job duties.

In other words, HR often gives out job titles instead of raises, because the work being done is more important (from a business standpoint) than what someone is going to write on their resume.

Are you a hacker? (5, Insightful)

betterunixthanunix (980855) | about a year and a half ago | (#41945967)

Here is a rough guide for deciding what to call yourself:
  1. Do you have a set of well-defined methods for designing, documenting, and implementing the software you write? Then you might be a software engineer.
  2. Do you sit down and bang out code a few hours before the deadline, without adhering to a well-defined method of designing the system? If so, you might be a developer.

Of course, many programmers are somewhere in the middle, usually leaning more towards "engineering" when the deadline is months away and "developing" when the deadline is days away.

Re:Are you a hacker? (2)

Jane Q. Public (1010737) | about a year and a half ago | (#41946121)

"Do you sit down and bang out code a few hours before the deadline..."

Your argument was saved by:

"without adhering to a well-defined method of designing the system"

because Agile Development definitely includes the first half as (a non-ideal) part of its paradigm, but not the second.

IMO None. (5, Insightful)

eagee (1308589) | about a year and a half ago | (#41945987)

I was a "Senior Software Engineer" before I got a promotion, now I'm a "Lead Developer". Aside from providing guidance to other engineers I still do the same job. Personally, I wanted my new title to be "Mr. Manager" instead, but no one seemed to like that idea :(. Seriously, I've worked in states where it's illegal to give someone without an engineering degree the title "Engineer", but I've worked with engineers who didn't finish college and found them every bit as good (sometimes much better) than the ones who didn't.

Re:IMO None. (1)

Jane Q. Public (1010737) | about a year and a half ago | (#41946189)

Mod up.

I've also worked under both the title Software Engineer and Developer (and not even in that order). It depends largely on who you are working for, and sometimes how they are organized.

"Seriously, I've worked in states where it's illegal to give someone without an engineering degree the title "Engineer", but I've worked with engineers who didn't finish college and found them every bit as good (sometimes much better) than the ones who didn't."

Personally, I might be more comfortable in a state where it was illegal to call some people who DO have engineering degrees "Engineers".

Software Engineer vs. Computer Scientist (3, Insightful)

Ichijo (607641) | about a year and a half ago | (#41945995)

It doesn't make sense that a software engineer would need a degree in computer science. They are two different domains [stevemcconnell.com] .

Maybe software tends to be so buggy because it isn't always engineered to be reliable. It's cobbled together in the lab, and if it works in the lab, the assumption is that it will work in the field.

Re:Software Engineer vs. Computer Scientist (1)

Jane Q. Public (1010737) | about a year and a half ago | (#41946221)

"It doesn't make sense that a software engineer would need a degree in computer science. They are two different domains."

It seems to me that the page referenced is little more than a very long and half-baked attempt to explain the difference between science and technology.

Areas of Responsibility (2)

Amigan (25469) | about a year and a half ago | (#41946015)

I would argue that a Software Engineer's role encompasses that of a Developer, as they are generally can also be expected to handle design (high and low level), testing (functional, unit, system), along with the writing of code. A Developer tends to fit the image of the guy with the keyboard cranking out code - software engineering is so much more than that. In fact, it is estimated that a Software Engineer will only spend 20% of the time actually writing code - due to the other responsibilities.

Faggot or homosexual? (-1, Offtopic)

Anonymous Coward | about a year and a half ago | (#41946029)

Either way, you're dick-deep in shit all day.

Computer Engineering (0)

Anonymous Coward | about a year and a half ago | (#41946033)

Software Engineer, Dev, Coder, Programmer, and Computer Scientist all have been ruined by idiots. Computer Engineering is the only one with respect left.

Software Development Craftmaster (2)

tdelaney (458893) | about a year and a half ago | (#41946035)

Having been officially both a (senior) software developer and software engineer (at the same time) I prefer a different term entirely: Software Development Craftmaster (and the related Software Development Journey(wo)man and Software Development Apprentice).

I feel it more accurately reflects what I do. There are elements of engineering (in particular the discipline which takes years to develop) combined with high levels of creativity.

Just wish I could claim it legally, but there's no Software Development guild here.

Depends on the law. (2, Informative)

Dzimas (547818) | about a year and a half ago | (#41946041)

Here in Canada, you have to be a licensed P.Eng to call yourself a software engineer. Even though I have an MSc from an EECS program, I would have to satisfy all the academic requirements of an undergrad engineer, work as a supervised engineer-in-training for between 2-4 years and pass a professional practice exam to qualify.

Re:Depends on the law. (0)

Anonymous Coward | about a year and a half ago | (#41946273)

Are you sure? There are job listings for software engineers where the required degree listed is a CS degree.
For example: https://careers-redhat.icims.com/jobs/30382/software-engineer/job

I find it odd that a person who obtains that position would have a law blocking them from saying the name of their position. "What's your title, what are you?" would either have a convoluted answer, a lie, or a criminal offense.

Re:Depends on the law. (1)

Dzimas (547818) | about a year and a half ago | (#41946301)

Having worked in the software division of a large engineering company for almost a decade, I am sure. From the Alberta association's web site: "APEGA generally recommends that unless a person is a professional member of APEGA, they should avoid using the words “engineer”, “geologist”, “geophysicist”, or “geoscientist” in any position title or representation to ensure that they remain in compliance with statute and to ensure that no one is misled by their title. This is because the EGP Act prohibits unlicensed individuals or companies from using titles that represent or imply that they are entitled to engage in the practice of engineering or geoscience."

Re:Depends on the law. (1)

Jane Q. Public (1010737) | about a year and a half ago | (#41946275)

"I would have to satisfy all the academic requirements of an undergrad engineer, work as a supervised engineer-in-training for between 2-4 years and pass a professional practice exam to qualify."

I have nothing against the experience, but personally I am against certification of programmers (your "practice exam"). Of course maybe it's still a question of terminology, because what you think of as a Software Engineer may be somewhat different than what the average person in the U.S. thinks.

Still: I know developers who lean more to the artistic side, and do well in that niche designing and coding interfaces, etc. even though they might have trouble passing such an exam. I know some who are more on the engineering side who might pass the exam with flying colors, but not be able to pump out very good code.

For example, I know at least one guy who is so smart that he often writes code that is concise and works well, but that just about nobody else understands (possible in many modern languages). For an individual project that's great, but in a collaborative effort that's just not going to cut it.

I know others who are educated as heck, but their code is so inefficient and spaghetti-like that it's amazing it works at all. And often poorly formatted (if at all) on top of that.

Re:Depends on the law. (0)

Anonymous Coward | about a year and a half ago | (#41946355)

Yep, but it's seldom necessary to become a licensed engineer to make software.

Someone who is a licensed software engineer is acknowledged as not only knowing how to make software, but also how to make systems that, if designed improperly, would put people's lives at risk.

If you're making web pages or photoshop, you don't need to be licensed. If you're writing software to control heavy industrial equipment, medical instrumentation, or elevators -- then you need an engineering license.

It makes a lot of sense to me However, it's actually pretty hard to get licensed as a software engineer in my experience, because it's hard to find a job with a manager who is licensed (part of the work experience requirement).

(I graduated from an accredited Canadian engineering program, but have not satisified the experience requirement to become licensed)

Re:Depends on the law. (2)

thetoadwarrior (1268702) | about a year and a half ago | (#41946361)

That's not true. You can't use P.Eng but that is seperate to software engineer and an engineering association has lost a battle in court to stop someone from using the title software engineer. The judge says he's not causing confusion and has basically said software is different and acted differently from the beginning so the engineering association can get bent.

Disregarded (1)

Anonymous Coward | about a year and a half ago | (#41946055)

"Have you observed a difference in attitudes, priorities, or outlooks in talent as a corollary to their titles?"

No. We disregard them.

Never seen it matter. (1)

A bsd fool (2667567) | about a year and a half ago | (#41946071)

Whenever I hear the engineering school/degree types get up in arms over it, it just conjurers up all those "realtor" commercials. Developers and Engineers have exactly the same duties. The "lower tier" I would call a coder or programmer -- people who can implement the system, but who can't be trusted to properly design it, which is almost everyone these days, or so it feels like.

Seinfeld (4, Insightful)

afgam28 (48611) | about a year and a half ago | (#41946075)

Women need to like the job of the guy they’re with. If they don’t like the job, they don’t like the guy. Men know this. Which is why we make up the phony, bogus names for the jobs that we have. “Well, right now, I’m the regional management supervisor. I’m in development, research, consulting...”

Men on the other hand – if they are physically attracted to a woman – are not that concerned with her job. Are we? Men don’t really care. Men’ll just go, “Really? Slaughterhouse? Is that where you work? That sounds interesting. So whaddaya got a big cleaver there? You’re just lopping their heads off? That sounds great! Listen, why don’t you shower up, and we’ll get some burgers and catch a movie.”

Engineer? (1)

Coppit (2441) | about a year and a half ago | (#41946087)

Are you licensed by the state? Does your profession have a code of conduct? Are there standardized tests for entering the profession? Is there an accepted body of knowledge?

Sadly, the answer is no to all of these. The person who cuts your hair has more certification than the person who writes pacemaker software.

Re:Engineer? (4, Interesting)

Jane Q. Public (1010737) | about a year and a half ago | (#41946291)

"Sadly, the answer is no to all of these. The person who cuts your hair has more certification than the person who writes pacemaker software."

Yes, I have read about issues with pacemakers... but I've also had bad haircuts. Certification by the State is no guarantee that you will be good at your job.

Re:Engineer? (2)

thetoadwarrior (1268702) | about a year and a half ago | (#41946383)

If that's true that will only be due to useless group that managed to build in a level of protectionism to milk people in the trade of cutting hair for money. Because basically just about anyone can cut hair and many parents cut their children's hair for them to save money. Certification certainly isn't required.

WTF is a "digital strategy agency"? (1)

Anonymous Coward | about a year and a half ago | (#41946095)

From TFA in big fucking letters:

Metal Toad Media is a digital strategy agency.

So, what the fuck is a "digital strategy agency"?

One of them sounds better (3, Insightful)

Tridus (79566) | about a year and a half ago | (#41946115)

Outside of the countries where "Software Engineer" actually has a legal meaning and requirements to claim it (while "Developer", "Programmer", or whatever doesn't), the difference is largely that one sounds better than the other. People like to use "Software Engineer" even if they're in fact nothing of the sort, due to the connotation that comes with it.

It's not hard to find people calling themselves Software Engineers that aren't doing anything resembling engineering, just like it's not hard to find people calling themselves Developers that are really doing software engineering. In the end if you're able to do the job well, nobody gives a damn what you're calling yourself.

Engineer (0)

Anonymous Coward | about a year and a half ago | (#41946119)

I don't think I could take a person seriously if they called themselves a software engineer. I'm not even sure if you can call yourself an engineer in some places legally without having the proper certification.

Big Difference (0)

Anonymous Coward | about a year and a half ago | (#41946123)

Job titles are just labels, but there really is a big difference between software developers and software engineers. Apparently, anyone who can learn a few syntax rules and become familiar with some cutting edge tools that someone else wrote can be a software developer. Software engineering is much, much more. To the extent that, to quote a Harley-Davidson tee-shirt, "If I have to explain it to you, you wouldn't understand."

"Engineered" implies liability (2)

Anonymous Coward | about a year and a half ago | (#41946141)

A (Chartered) Engineer is someone trusted by society and the law to get things right using state-of-the-art scientific knowledge. If their solution fails due to not using the "best practise" known at the time then the Engineer responsible is liable for a charge of professional negligence. Eg, A bridge collapses killing people, and it is found that the welding technique chosen by the engineer responsible for the design is outdated and known to be dangerous. That engineer faces a prison sentence for negligence.

The key difference is that an Engineer is held to be a professional, much like a Medical Doctor. They are trusted. Compare and contrast with, say, a Nurse, or a Mechanic. You would trust a mechanic to fix a car, but not to design a roadworthy model.

A professional is someone who is part of a legally recognized professional body which is responsible for setting the relevant standard of work, and who can kick out any member displaying incompetence. The Law generally requires one to hold a license from such a body in order to practise, and getting one always requires proving competencies to the body's requirements.

Ergo "IT Professional" is an oxymoron - there is no such thing. (apart from the Journal itself). Anyone can do IT, no license is required. In fact the only relevant body for setting such licensing standards would be the existing Electrical Engineering bodies.

Yes, the title "Engineer" is getting quite diffuse these days, as is the title "Doctor". But so long as the law makes a distinction, then common language will just have to bow before the law. Remember, ignorance of the law is usually not a valid defense. YMMV, it probably depends where you live, and what your Law says.

The whole issue is complicated by the fact that sales of software licenses have managed to sidestep the most basic consumer protection laws, such that "buyer beware" is the way things are. If a PC crashes, then who does the owner blame? Themselves, for not doing something correctly? The CPU vendor? The motherboard vendor? No, probably whoever they paid for the thing, most likely Dell, Apple or whichever shop they brought it from.

Shouldn't a certain number of crashes just be expected? Yes, BUT: Digital Computers allow for no entropy increase, therefore would be immune to the second law of thermodynamics. Except for physical damage, manufacturing tolerance, radiation damage, and operator error. (most notably, programmer error). Generally the first two are caught early, long before the final customer sees the device, and the third only really applies if the computer is going into space or is to be deployed near a strong radiation source.

The last is really a combination of the user and the programmer. The reason things are the way they are, is that preventing bugs before they surface is essentially impossible. And so computer engineers work down in the details - making only subsystems which they can test to their satisfaction. (eg, your car, your microwave oven, etc - how often do they "crash"? )

So, if you consider yourself a "software engineer", then you'd better be determined to use the most recent techniques, and only the best tools, and you'd better be prepared to take responsibility for any fault in your product... otherwise you're being fraudulent. If you're not prepared to put the effort in to use the very best techniques, then just call yourself a "developer" and be done with it.

Re:"Engineered" implies liability (1)

Mr Z (6791) | about a year and a half ago | (#41946333)

Somehow I doubt it means you must always use the absolute latest methods. It just means you need to use an appropriate method taking into account current knowledge. Dirt berms are as old as the hills, so to speak, but it can be entirely appropriate for a civil engineer to specify one as part of a road's right-of-way to control drainage, for example. Likewise, I don't have to write my code in the latest, greatest language de jure if plain old C is appropriate to the task.

Shouldn't a certain number of crashes just be expected? Yes, BUT: Digital Computers allow for no entropy increase, therefore would be immune to the second law of thermodynamics. Except for physical damage, manufacturing tolerance, radiation damage, and operator error. (most notably, programmer error). Generally the first two are caught early, long before the final customer sees the device, and the third only really applies if the computer is going into space or is to be deployed near a strong radiation source.

You do get bit flips in memories (aka. soft errors [wikipedia.org] ), and occasionally other problems. There's a failure rate associated with each component known as the Failure In Time (FIT) rate [wikipedia.org] , and bit-flips in memories is a rather common cause. For modern processors with large amounts of memory on-chip (in the form of caches, reorder buffers, etc.), we're seeing increasing need for ECC codes [wikipedia.org] on-chip. Off-chip, servers have had ECC memory for a very long time. Consumer equipment too often lacks ECC, and so many crashes could come from soft errors.

So, I don't think it's correct to say that "deployed near a strong radiation source" is necessary to see flaky behavior from a modern system, even with perfect hardware.

licensed software engineers (0)

Anonymous Coward | about a year and a half ago | (#41946145)

Is there such a thing? I deal with PEs nearly everyday in the construction field it took them many years to get that license. As more software is on mission critical system like self-driving cars, automated plants, and etc there should be some licensing board. This will insure job is done right because engineers will held liable for their own work.

Programming can be used in different contexts (0)

Anonymous Coward | about a year and a half ago | (#41946199)

I have a Bachelor of Science Software Engineering degree. The school I went to is an engineering school and they also had electrical and computer engineering degrees. Also, with the jobs I have had, I have been on teams with electrical engineers, computer engineers, and mechanical engineers. So I feel pretty comfortable with the software engineering title.

I don't think all programming is software engineering. Programming is often done in IT, hobbyist, mathematic, and scientific contexts. I don't have some strict criteria for what is software engineering -- it generally is pretty obvious to me. If a programming job isn't obviously engineering, it is likely to just be programming in a different context.

There is nothing bad about being called a programmer or developer. Software engineer isn't somehow higher than those titles (just like software architect isn't either). It is just using programming in an engineering context. That is just my perspective, HR departments and the general population may have other ideas.

There's a difference? (3, Interesting)

mdf356 (774923) | about a year and a half ago | (#41946215)

Both places I've worked in my 11 years as a professional didn't really distinguish. I have a Computer Science and Engineering degree. I write and design software. I'm in the research and development arm (or the Engineering arm) of the company. It's several ways to say one thing.

Yes, some distinctions can be drawn, like whether you interface with customers, who does the architecture or design, etc., but in general the people I work with are all over the software life cycle, from beginning to end. We do development (of software) and the official job title has always had "Engineer" and sometimes "Development" or "Software" in it.

Just titles... (4, Insightful)

Valtor (34080) | about a year and a half ago | (#41946257)

In my opinion, those are just titles my friend and I see no reasons why we should ever consider them anything more.

Wizard (2, Funny)

Anonymous Coward | about a year and a half ago | (#41946287)

You could just call yourself "wizard". Like 90% of the population treats either title differently than "wizard" anyway.

My title is... Owner (4, Insightful)

stretch0611 (603238) | about a year and a half ago | (#41946289)

Whether I call myself a developer or software engineer will not affect my income. I'm old school (over 40) and I think that people building systems as long as I have tend not to care about titles. I'm not even sure there was a "software engineer" title when I started programming.

What I can say is that people that are coming out of college today calling themselves either tend to not have a clue what they are doing. (Of course there are exceptions, but the truly good people are hard to find.) And don't forget the recent title of "Software (or Data) Architect..." This idiots conceptualize a system, charge a ton of money, and have others build it. When it fails, they blame the developers and/or run to another job.

Then there are "Front End Developers," which are nothing more than a graphic/web designer that knows how to add some horribly written jQuery to a site and changed their name to developer in order to get paid more.

Essentially this whole debate is really about one huge issue: Large Companies are trying to turn the entire development process into something that can be done like an assembly line. They are chopping it up into little pieces so that anyone can perform the same monotonous task. The smaller your piece is, the more people that can focus on that specific area, the more people that can do it, the less you are worth. The less the companies pay, the happier they become. The more pieces there are, the more titles.

Unfortunately, (or fortunately if you really know what you are doing) the development process is not easy to break down into pieces. While certain pieces can be farmed out, the overall system will work best when one person knows how to build the system as a whole and can take the project from the requirements to a working application. (And companies rarely want to pay for these good people.)

Re:My title is... Owner (0)

Anonymous Coward | about a year and a half ago | (#41946577)

Large Companies are trying to turn the entire development process into something that can be done like an assembly line. They are chopping it up into little pieces so that anyone can perform the same monotonous task.

The title software engineer may make a potential difference to HR in many corporations when applying for a position. Like a ticket presented at the door, performance matters. By some accounts, the term is presently an oxymoron, in that true standards that can be leveraged, as in all true engineering disciplines, do not yet exist for software on any level. The pace of change favors the true developer who can adapt and innovate on a project=by-project basis. All such projects have a lifetime. All systems have an end of life.

Mechanic vs Engineer (0)

Anonymous Coward | about a year and a half ago | (#41946305)

I've always broken it down into those two groups. People who write code tend to either integrate and maintain existing code (mechanic), or build solutions from scratch (engineer). Both write code, but I find very few people who call themselves software professionals are good at starting from a blank sheet.

The real differences (3)

heretic108 (454817) | about a year and a half ago | (#41946313)

From my R&D experience across many companies, it's clear to me that a "software engineer" is a proper superset of "developer".
  1. A 'developer' is paid to create code that works within the company's contrived runtime environment and passes a few stages of testing, while a 'software engineer' is also paid to ensure the code actually works reliably in this nebulous abstract construct called the "real world" - customer/client installations where there are innumerable environmental variables and things that can go wrong.
  2. A "developer" nods timidly and reluctantly to Murphy while passing in the corridor. But the software engineer says "Thanks for another great night. What would you like for breakfast?"
  3. A "developer" goes whining to her/his team leader when the tools or OS play up. A software engineer cracks out the machine-code debugger, logic analyser and oscilloscope, traces all the API calls, and spits out working patches for the bugs in the libraries, drivers and kernel.

If I had some plant that was failing at 3:15am and costing me a fortune, I know which I would prefer to have on site.

What about "trendy douche" ? (5, Funny)

Gothmolly (148874) | about a year and a half ago | (#41946315)

What if you just ramble on about .Net and quibble over which IDE is better, all the while saying words like "Scrum" and "Agile"?

Sure you'll get a job, but you won't ever actually produce anything.

A Non-software Engineer Intern's View (0)

TheStonepedo (885845) | about a year and a half ago | (#41946351)

If professional programmers risk revocation of their right to program in their state if injury or damage to property occurs due to poor practice, then by all means call them engineers and require them to meet state-mandated licensure requirements.
If the field of programming practiced is unlikely to cause injury or damage to property, require only clients' preferred certifications.
A skilled programmer in either position should be paid well regardless of title.
If programming was easy women and children would be doing it ;-)

Not nearly enough in practice... (0)

Anonymous Coward | about a year and a half ago | (#41946367)

In my experience, the difference is merely Company A calls it one thing and Company B calls it another. I have a degree in Computer Engineering, which required taking all but 3 of the required courses to be an electrical engineer, as well as all but 3 of the courses required to get a computer science degree (2 of which I took for fun anyway). However, I've worked with people who went to other schools where Computer Engineering was much less technical, closer to what I've seen called Information Systems elsewhere. Without more consistency in degree programs, who can use what title is irrelevant.

Depth (1)

katsh (2760437) | about a year and a half ago | (#41946375)

a programmer will code to where it works. an engineer will code to where it works to its best performance(refactoring, algorithm analysis - big theta, etc). will come up with a mathematical solution to bottlenecks.

Re:Depth (1)

KingMotley (944240) | about a year and a half ago | (#41946543)

That is how I always viewed the difference.

Given a problem that needs to work in under x time, memory constraints, and on a certain base hardware platform, a developer writes the code hoping that it will meet the constraints, then does performance analysis and tries to tweak it to meet those constraints. A software engineer starts by designing the system so that it will meet those constraints, then writes the code, and then tests to make sure it actually works as designed. There are very few real software engineers anymore except in very specialized fields. Most high level languages abstract so much of what is really going on that it makes real software engineering nearly impossible.

Re:Depth (0)

Anonymous Coward | about a year and a half ago | (#41946637)

Agreed.

A good separation of the two can be seen by what projects they work on.

I don't think Oracle would hire "programmers" to work on MySQL's core engine, where the goal is to use as little space and perform as fast as possible.

However, projects like building Websites (shopping carts, blogs, etc) can easily be done by what I call programmers.

Terminology (4, Informative)

jmcvetta (153563) | about a year and a half ago | (#41946407)

Here's how I've observed some terms used:

- Coder: a person who knows how to bang out some software code; often used disparragingly. cf "Code Monkey"
- Programmer: Any person who makes software for a living. Used mostly when speaking with non-technical people, because they immediately understand what it means.
- Developer: Neutral term for a person who makes software.
- Software Engineer: A developer who favors a heavily-planned approach to making software.
- Software Architect: Someone who designs applications or systems. May be "hands on" and themselves write significant parts of the application; or maybe more of a management role.

my experience: (1)

buddyglass (925859) | about a year and a half ago | (#41946409)

Most of the positions I've held had the official title of "Software Engineer" or "Senior Software Engineer". It implies a certain "rigor" relative to "Software Developer". That said, the implication is frequently extremely illusory. I've never done anything approaching "engineering" in these positions and often I'm not even that "senior" with respect to the technologies I'm working with. If you can write your own title, though, I'd go with "Software Engineer" if only because it sounds better and might get you more looks when applying for jobs in the future.

Easy question (1)

SuperKendall (25149) | about a year and a half ago | (#41946425)

I am a developer when telling other developers what I do.

I am a Software Engineer when giving my role to other non-developers.

Realistically, the two are interchangeable, and snobbish people tend to use "Software Engineer" when talking with other developers (or when on interviews).

Software Development as an industry is not really in a place you can really have "Software Engineers", at least not in ways that any real company besides NASA would use them as engineers.

I prefer Software Engineer (1)

russotto (537200) | about a year and a half ago | (#41946469)

Because it pisses off the stick-up-their-ass Professional Engineers who think they own the word, which existed long before their little guilds got formed. The original engineers were military engineers. Next came the general meaning of the term, then the train drivers and the steam engine operators. The PEs are johnny come latelies from the 20th century -- and where Professional Engineering starts, innovation ends.

I believe the only state in the US which demands a P.E. from a Software Engineer is Texas. The utterly "reasonable" requirements? A C.S., engineering, or other degree accepted by their board, 16 years experience, references from 9 people including 5 P.E.s, and a bunch of other educational credentials. Screw that.

Re:I prefer Software Engineer (0)

Anonymous Coward | about a year and a half ago | (#41946683)

When you claim you are an "Engineer", do you take full responsibility for screwing up? If not, you are not not fit to be called an "Engineer".

With great power comes great responsibility. That's why there are P. Eng. that sign off on a critical designs whenever life or other high stake things are being dealt with and these people are legally responsible for approving a design/release.

Just a title for now programmeregineerarchitect (0)

Anonymous Coward | about a year and a half ago | (#41946627)

In the 1990's programmer salary ceilings were pushing the enverlope.
So, the many companies opened up a new category: "Software Engineer".

In the period 2005-present, the new high salary/rate title is Architect.
This was probably partly done because, IMHO, "Engineer" is misused in most corporate settings and "Architect" is more suiting but this also allowed salaries to be somewhat increased for inflation.

Unless there is a PE exam (http://ncees.org/About_NCEES/News/News_Pages/New_PE_Software_exam.php) for software, it's all just a title.

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

Loading...