Slashdot Mirror


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

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

333 comments

  1. Are you an engineer? by Anonymous Coward · · Score: 4, Insightful

    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.

    1. Re:Are you an engineer? by Anonymous Coward · · Score: 1

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

    2. Re:Are you an engineer? by Anonymous Coward · · Score: 1

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

    3. Re:Are you an engineer? by Anonymous Coward · · Score: 1

      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!

    4. Re:Are you an engineer? by Concerned+Onlooker · · Score: 5, Interesting

      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.

      --
      http://www.rootstrikers.org/
    5. Re:Are you an engineer? by thetoadwarrior · · Score: 4, Insightful
      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

      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.

    6. Re:Are you an engineer? by thetoadwarrior · · Score: 1

      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.

    7. Re:Are you an engineer? by fluffy99 · · Score: 1

      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.

    8. Re:Are you an engineer? by Anonymous Coward · · Score: 1

      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.

    9. Re: Are you an engineer? by jesseck · · Score: 1

      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.

    10. Re:Are you an engineer? by fm6 · · Score: 3, Funny

      Even if you have the hat?

    11. Re:Are you an engineer? by Anonymous Coward · · Score: 1

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

    12. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      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.

    13. Re:Are you an engineer? by Anonymous Coward · · Score: 0

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

    14. Re:Are you an engineer? by crutchy · · Score: 2

      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.

    15. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      it's both misleading

      No it isn't, and anyone who thinks it is is a prissy wanker who sucks at his job.

    16. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      I call myself a Software Engineer as I don't want to be pushed into a slowly creeping corner over time by regulators, "educators", or professional organizations wishing to cash in on the term.

    17. Re:Are you an engineer? by mdf356 · · Score: 2

      Unless you have a degree in Software Engineering

      Now I find this alone fascinating. When I was in college, "Software Engineering" was one class in the CS major. There was no Software Engineering degree available at my school, and I suspect at no college or university.

      --
      Terrorist, bomb, al Qaeda, nuclear, yellowcake, kill, assassinate. Carnivore is dead... long live Echelon.
    18. Re:Are you an engineer? by Anonymous Coward · · Score: 0, Interesting

      In Canada it is more than that. Canada is certificate crazy. People seem to need to seek some sort of validation. Academic snobbery is rampant. At least in the U.S. you can start post secondary education at a junior college/community college and transfer credits after two years and finish at a university. This is rare in Canada, and is only something that has started happening in any sort of way in the last 10 years, but it is still the exception rather than the rule. Most universities just say your community college schooling is junk thank you very much, sign up for four full years. I think it stems from the Napoleon Complex Canadians have with respect to the United States. They are always trying to say how as a people they are so much better. Always trying to validate themselves. So a piece of paper is just another piece of the pie in that regard. You're not considered qualified to wipe your own ass without a PMP certificate. And I agree that there are a ton of bodies out there that capitalize on this seeming insecurity by forming organizations that issue certificates for a huge fee.

    19. Re:Are you an engineer? by Tough+Love · · Score: 1

      I even see sysops calling themselves engineers. They aren't.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    20. Re:Are you an engineer? by Curate · · Score: 2
      When I was in college, "Software Engineering" was one class in the CS major. There was no Software Engineering degree available at my school, and I suspect at no college or university.

      You know, you could have just done a simple web search. There are university degrees in Software Engineering. Example: http://uwaterloo.ca/software-engineering/home

    21. Re:Are you an engineer? by mdf356 · · Score: 1

      Can I do a web search in 1994 for this? Because I don't think there was a Software Engineering degree in 1994, or 1998.

      --
      Terrorist, bomb, al Qaeda, nuclear, yellowcake, kill, assassinate. Carnivore is dead... long live Echelon.
    22. Re:Are you an engineer? by gunnk · · Score: 5, Interesting

      Then again... the work I do is what universities currently consider "IT Systems Engineering". My work integrates Windows, Linux, FreeBSD, OS X, NetApp, VMware and Citrix platforms as well as covering security, development, data archiving, and a host of other tasks. My skills extend beyond those areas, but those are the ones I use in my day job.

      My degree, however, is physics.

      Well, that's typical of systems engineers/whatever-the-heck-you-want-to-call-us for those of us who remember 300 baud, FidoNet and (later) Bitnet email accounts. Ever typed an assembler into an Apple //c by hand from a magazine? No? GET OFF MY LAWN!

      When I started in IT there was NO SUCH THING as a degree in IT Systems Engineering. Does that mean I'm not an IT Systems Engineer? We don't have an official job title of "systems engineer". My job title is "Advanced Systems Specialist" at my workplace. There's not an official "Systems Engineer" title at all. Does that mean this HUGE university infrastructure was built without any engineers/engineering? Really?

      My point: I find there are plenty of people that have titles they are "allowed" to use but to which they fall far, far short. I also know brilliant people that run circles around those folks who have no "official" title (some have no degree at all). My feeling: use whatever title *actually* describes what you do and are capable of doing (and I'm sorry if the law prevents you from doing so where you live). Using a lesser title is selling yourself short. Using a greater title is setting yourself up for failure, firing, and ridicule.

      Be honest and accurate about your capabilities. No more. No less.

      --
      Life is short: void the warranty.
    23. Re:Are you an engineer? by mdf356 · · Score: 1

      Sorry; rereading what I said I realize what was confusing.

      How do I, as a person who already has an MS in CSE, get to call myself a Software Engineer? I'm not going back to college for another, extremely similar degree. There wasn't a SE major when I was in college. So I assume there must be some other mechanism for people to be allowed to call themselves "Software Engineers" whenever the law that started limiting this was passed.

      --
      Terrorist, bomb, al Qaeda, nuclear, yellowcake, kill, assassinate. Carnivore is dead... long live Echelon.
    24. Re:Are you an engineer? by Anonymous Coward · · Score: 1

      "Systems Engineering" does not mean network administrator and server babysitter. Systems engineering is a specialized field of engineering with its own professional accreditation and organization http://www.incose.org/

    25. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      In Canada use of the title 'engineer' without holding the P.Eng. designation / qualification is illegal and subject to the full force of law.

    26. Re:Are you an engineer? by Anonymous Coward · · Score: 0

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

      In particular, California code "http://www.leginfo.ca.gov/cgi-bin/displaycode?section=bpc&group=06001-07000&file=6700-6706.3" has no section for "Software Engineer"

      From the section: 6704. (a):

        In order to safeguard life, health, property, and public
      welfare, no person shall practice civil, electrical, or mechanical
      engineering unless appropriately licensed or specifically exempted
      from licensure under this chapter, and only persons licensed under
      this chapter shall be entitled to take and use the titles "consulting
      engineer," "professional engineer," or any
      combination of those titles or abbreviations thereof, and according
      to licensure with the board the engineering branch titles specified
      in Section 6732, or the authority titles specified in Sections 6736
      and 6736.1, or the title "engineer-in-training."

      IMHO "or abbreviations thereof" could be construed to include "software 'engineer'".

    27. Re:Are you an engineer? by Darinbob · · Score: 1

      I have two degrees, in both Computer Science and Computer Engineering. So I can call myself both a scientist and an engineer.

      Everyone and their uncle is now a "programmer" so it's not worth using the title anymore. Anyone who uses XML or has created a web page decides to be called a programmer. "Developer" is ok, but it doesn't mean much to me, it's sort of like a person that Steve Ballmer is shouting at. Once I started having to read schematics and use an oscilloscope at work I started calling myself "engineer." I don't like "software engineer" much though, sounds too much like a middle manager or someone who else who goes about managing projects and maintaining metrics.

    28. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      At my company (and other companies in the our industry), someone with an engineering title like a network engineer, systems engineer, SAN engineer etc determines our requirements, works with vendors and suppliers to get quotes and learn about the what is out there and if it fits our needs, decides what equipment to get and why based on money we have to spend. Then works with the vendors and the administrators from whatever other IT departments are involved (the SQL team, VM Team etc..) to get it up and running. Once standards and best practices are ironed out and in place and some documentation and training of the administrators is done, the day to day is turned over to them but high level configuration and operation is still the engineers job.

    29. Re:Are you an engineer? by aztracker1 · · Score: 1

      I personally dislike the use of the term engineer with regards to *most* software development... unless said development is interacting with real world objects, it is more often a matter of craft as a discipline not engineering. This isn't always the case, and hasn't always been the case.. in early computing when you had to really think long and hard about how to put things together, with days or months of rework on the line for the smallest mistake, it was much more like an engineering discipline. Today, with relatively fast turn around, and very little thought into form and structure (relatively speaking) software creation is much more of a craft of development than an engineering construct. It's much more akin to say architecture even, where there are some points of engineering knowledge and "rules" .. though in software most rules are meant to be broken in a number of cases... This simply isn't true in engineering... In software you can and should often trade absolute ACID compliance for performance improvements and scaleability. It's a mater of weighted decisions often with no absolutely right answer, and problems that can be worked through in nearly infinite ways, as opposed to only a handful of options in most cases.

      --
      Michael J. Ryan - tracker1.info
    30. Re:Are you an engineer? by maz2331 · · Score: 3

      I do all of the above, plus write code, administer databases, and even deal with Nagios for monitoring it all.

      Forget the Engineer title... I'm just putting IT Guru as my title on my next box of cards.

    31. Re:Are you an engineer? by Anonymous Coward · · Score: 1

      I do all of the above, plus write code, administer databases, and even deal with Nagios for monitoring it all.

      Forget the Engineer title... I'm just putting IT Guru as my title on my next box of cards.

      You guys are making this way too complicated. Developers are the gods of software while engineers are mere oompa loompas.

    32. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      Doubtful. It's not like you're claiming to be a police officer or a lawyer or something.

    33. Re:Are you an engineer? by spongman · · Score: 1

      news flash. the term "engineer" was around long before people started passing laws about it.

    34. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      Edith Cowan University in Western Australia had a Bachelor of Science majoring in Software Engineering in 1997 and 1998.

      I was there.

    35. Re:Are you an engineer? by Ptur · · Score: 1

      Exactly. Plus, a Software Engineer has a very broad basic knowledge because the first years in your engineering studies are common for a lot of fields, so a software engineer also has basic electronics and mechanical (amongst others) knowledge. A programmer could be anybody who had programming lessons or learned by himself. Which is why a software engineer is a lot more useful in projects which combine include software and hardware design.

    36. Re:Are you an engineer? by Xest · · Score: 3, Insightful

      This "Engineer" snobbery doesn't seem too prominent in the UK thankfully, but I've seen this debate a lot on Slashdot, mostly from North American folks so it's a big deal there I guess.

      The reason I find the whole debate stupid is that it seems to be framed round this idea that Engineers are magical people, who believe they're superior to others and that no one else should are be able to claim their title.

      The problem is that Engineers aren't at the top of the chain, not by any measure. What they learn is a subset of science and maths, so their claim to be special is false as any say, physicist or mathematician will have no problem learning their trade, and then some.

      This is where I have a problem with it, I was a developer/software engineer/whatever in an engineering firm, but my degree is in Mathematics. I had absolutely no, and I mean no problem whatsoever dealing with the mathematics and rigour the engineers there had to know and created bits of software they all found very useful on that knowledge. Worse, not even all the engineers understood the math involved and it was only really the principal engineers there who knew it better than me (it was they who taught me) such that there was this absurd scenario that within the company, as a software developer I had better understanding and competence of the actual engineering knowledge than many of the engineers themselves and still had time to be good at my software development role to boot.

      So you'll have to excuse me if engineering snobbery doesn't really cut it with me, the idea that I shouldn't call myself a software engineer, because I'm not an engineer, and yet was still more competent in that particular field of engineering than many of the engineers. Case in point, you only have to look at software like Inventor etc. that do a ton of stuff that 90% of engineers couldn't do themselves (like FEA for example). That had to be built by developers, so don't pretend developers aren't capable of being engineers.

      At the end of the day it doesn't matter, the fact is having some engineering title doesn't make you special, doesn't make you inherently more competent. Engineers are for the most part extremely smart, and intelligent people, but if they think they're the smartest and most intelligent profession out there, and that they're inherently more smart than say, software engineers, then they can simply go fuck themselves because that's little more than ignorant arrogance. They're not, not by any measure and I suspect that for every great engineer, I could find an equally smart and competent software developer to match them, similarly I suspect I could find even smarter physicists and mathematicians.

      As you say it's about being honest about your competence that matters and allowing software developers to call themselves a type of engineer isn't exactly going to bring down the engineering profession - there's enough over-inflated ego engineers who aren't actually that great out there already to do that by themselves. Looking at the complexity of software and hence skill required to build it that's developed nowadays I suspect if anything it may raise standards.

    37. Re:Are you an engineer? by Kijori · · Score: 4, Informative

      It could well mean that the huge university infrastructure was built without any engineers; that doesn't mean that it was built without any engineering.

      In my country at least, you could write a contract, sue the other side and represent yourself in court, but you still wouldn't be a lawyer; you could perform life-saving surgery but you still wouldn't be a doctor. There is more to those jobs than doing the actual job - things like professional regulation, ethical standards and training requirements. Engineering is similar here; to be called an engineer you have to pass a lot of particular requirements, only one of which is actual work in engineering.

      In general I regard this as a good thing. The regulation and requirements imposed on lawyers mean that when a solicitor at a large firm tells me over the phone that they will transfer £1m I can rely on that without even needing anything in writing. Similarly with engineers, when I buy property I look to see that a qualified structural engineer signed off on the structure. I don't need to go behind that because I can be confident that if he was qualified he knew what he was doing - and that if he was wrong he has enough insurance cover for me to recover my losses.
      I'm not quite so sure in the case of software engineers - there just doesn't seem to be the equivalent professional body and I'm not sure that the nature of IT development lends itself so easily to a regulated profession. It would be a shame however if people's desire to give themselves a more impressive title devalued the status of engineers in other fields, especially when (as is shown, I think, by this discussion) it doesn't really add anything to call someone a "software engineer" because the title has no fixed meaning.

    38. Re:Are you an engineer? by sd4f · · Score: 1

      Like any degree, if you go in to just get the paper at the end, you won't really learn anything, so finding duds in any field is never too hard.

      The purpose behind engineering isn't necessarily to acquire knowledge nor understanding, it's more to apply ingenuity, or, pardon the infantile explanation, but it's more to be able to engineer a solution, which is ultimately a subtle difference than just solving a problem, it's not something that i think a lot of engineers are really aware of. This is something which is hard to assess, and also difficult to teach in a learning institution, it's much easier to mentor this sort of ideology in professional practice.

      I'm not a software engineer, rather mechanical and mechatronics, but the way i'd been taught is not to gain all the knowledge or understanding in the world, that's a ridiculous requirement, engineering is more about being able to go back to first principles and develop a solution which is based on maths and science, and quite often, just empiricism, but not best guess or trial and error.

      So we do learn about science and mathematics, and sure, it's not to the detailed level that mathematicians nor scientists do, but engineering isn't a science, engineering is a methodology of applying knowledge gained in science, which is incredibly distinct from what gets taught in science and mathematics, and i'm not saying that bing able to think in this manner is exclusive, but the understanding of what engineering actually is, is something that isn't comprehended well.

      I think a good car analogy for software engineering versus development is, engineering a car is all about design and development, and not just the car, but also designing its manufacture and actually making the product, whereas, software development is the process work of parts assembly, or doing the work after manufacture such as mechanical maintenance and repairs. Software engineering in my opinion is designing the modules and overall architecture.

    39. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      I don't think I could really call myself a computer scientist with a straight face, yet that is my degree.

      What's funny is that "Computer Scientist" is my official job title. I'm a GS-1550 in the US Government.

    40. Re:Are you an engineer? by Entrope · · Score: 1

      Legal restrictions on "Engineer" as a job title are in some ways like laws requiring interior designers or casket salesmen to be accredited by industry groups -- motivated by a desire to squelch competition. On the other hand, most engineering accreditation groups also put a strong emphasis on ethics: For example, someone who is a member of one of those groups has an obligation to keep the public interest in mind as they design objects or processes, and to push back (or report to the authorities) efforts to cut corners in ways that harm safety. There is also usually an effort to provide workplace mentoring so that new graduates are paired with someone who has more experience with the more practical (and less schoolbook-related) challenges of the work.

      As a software developer (and sometimes engineer) who has worked on systems that involve mechanical, electrical, software and systems engineering, I try to restrict "software engineering" to projects that involve careful and informed analysis of trade-offs to meet specified goals, planning and managing the development cycle (from requirements analysis and derivation through programming, integration, testing against the requirements and testing against the user's need, and delivery), and then carrying through with something that more or less resembles the plan. If a project is less rigorous, I prefer to call it just software development.

      In my experience, the usual areas where a project fails to qualify as "software engineering" are the analysis (most common), testing (sadly common) and requirements (less common). That isn't necessarily a bad thing -- for example, time to market or budget might be more important than delivering a well-understood product with known high quality. On the other hand, a project with a foreseeable impact on people's health or safety is a project that needs analysis, planning and testing that are proportionate to the risks. Because they do not directly help build a deliverable product, analysis, requirements and testing seldom get the attention or credit they deserve.

    41. Re:Are you an engineer? by Entrope · · Score: 1

      Your opinion is idiotic and wrong; the title "software engineer" omits the key qualifiers "consulting", "professional" and "-in-training" (or abbreviations thereof). The law is refers to abbreviations such as "P.E." for professional engineer. Someone calling himself a "software consulting engineer" would probably run afoul of the law, and someone using the title "consulting software engineer" would be on very questionable ground, but the title "software engineer" is not covered by the law.

    42. Re:Are you an engineer? by Javagator · · Score: 1

      I live in the U.S where most software development related degrees are called "Computer Science". My current title is "Software Developer". I have seen companies where people doing the same thing I am have the title "Software Engineer". I don't think the title has any correlation with what you do at work.

    43. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      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.

      The group is the people (who are members of it). If the members feel strongly about NOT having their title protected, they can simply have a vote on whether to instruct the association's board to lobby to have law changed.

      It's not like the association is some third party that's gouging the engineers: the association is the engineers (as a body). How can one gouge oneself? The members just have to decide to have things changed. And if they're not upset about the status quo then that's their prerogative.

    44. Re:Are you an engineer? by w_dragon · · Score: 1

      Important to realize here is that Ontario and Quebec, where engineer is definitely a protected title, represent about 60% of the population of Canada.

    45. Re:Are you an engineer? by canadian_right · · Score: 4, Insightful

      In many places wanting to protect the term "Engineer" isn't snobbery it is due to the legal fact that a "professional engineer" is legally liable regarding the safety of any designs they sign off on.

      If you aren't willing to be sued if your software fails you aren't an engineer.

      --
      Anarchists never rule
    46. Re:Are you an engineer? by Cassini2 · · Score: 1

      True software engineers use the words "Safety Critical System" and "Microsoft Windows" in the same sentence with the word "isolated" in between.

      I hope to never see another "EMERGENCY STOP" circuit coded in .NET or VisualBasic in my life. Yes, the MSCE's solution is simpler and cheaper, because it elminates all those expensive hardware interlocks.

      However, do you want your son's life in the hands of an MSCE or a Professional Engineer when he runs a 500 Ton press? An automatic production line? Drives a car?

    47. Re:Are you an engineer? by thetoadwarrior · · Score: 1

      I'm not getting my panties in that much of a twist but I do think people exaggerate how protected the title is and aren't entirely honest about it. For example with Canada, as far can tell it's only the title of Professional Engineer (P.Eng) that is protected. So saying that software engineers in that country are part of some scared association is flat out wrong. Some may be but that's their choice.

      In my mind it's an outdated practice. It's much easier to check out someone's credentials if you care and half the hardware engineers I know anyway who have paid for their professional titles don't think much of it either. They do it because they have to and it doesn't hurt that the company pay their fee.

      IT is already full of stupid and pointless ceritifications. We don't need any more and certainly not an old and outdated one that can't be applied to software in the same way as it does for other areas.

    48. Re:Are you an engineer? by sco08y · · Score: 1

      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.

      It's true. Every asshole and his grandmother thinks he's an "Engineer."

      Unless you make engines or drive a fucking train* for a living, forwards and backwards, you have no business calling yourself an engineer.

      I'm going to call myself something equally irrelevant, like a Software Musketeer.

      * Train may include freight locomotive, passenger rail, light rail, subway, but not the Soul Train.

    49. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      Get off my lawn AND MOW IT.

    50. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      I have a degree in ComSci and I have always wanted the title of Computer Scienist. I did not get a degree in Engineering and don't really like having it in my title. Then again my work trends to towards the math and theory side vs pumping out code all day long.

    51. Re:Are you an engineer? by presidenteloco · · Score: 1

      If you aren't willing to be sued if your software fails or if your train drives into a car you aren't an engineer.

      Fixed that for you.

      --

      Where are we going and why are we in a handbasket?
    52. Re:Are you an engineer? by presidenteloco · · Score: 1

      Actually, neither the term "software consulting engineer" nor "consulting software engineer" fall under that law, because they are not an abbreviation nor a combination of the precluded titles.

      Besides, software engineering is not electrical, civil, or mechanical engineering. Software is not necessarily based, even indirectly, on electrical stuff (there are just now emerging, optical computing chips / programmable circuits, not to mention that a thousand people standing in a football field holding up black or white cards on cue can run software.). Or it may be based so indirectly on the electrical stuff that system-layer-boundary arguments could establish independence. e.g. If I am a taxi driver operating an electric car, do I have to be an electrical engineer? No. Neither do I have to be one to write software for an electrical computer.

      --

      Where are we going and why are we in a handbasket?
    53. Re:Are you an engineer? by presidenteloco · · Score: 1

      Oh get off your high horse. I'm a comp sci in the aforementioned country and I've written software engineer on my passport application 5 times or so.
      Come and get me.

      Let me ask this: If I were bio-engineering new life-forms out of yeast-cells and 4 bottles of amino acids in Canada, and had a PhD in Biology, what would my job title be (other than "irresponsible d*ckhead" of course)?

      --

      Where are we going and why are we in a handbasket?
    54. Re:Are you an engineer? by jds91md · · Score: 1

      I'll help all you folks out who are insecure. I am an amateur software cobbler, able to make Hello World work only during full moons. I tip my hat to all of you, whether you are developers or engineers. Cheers, --JSt (fortunately, software tinkering is not my day job)

    55. Re:Are you an engineer? by SQLGuru · · Score: 1

      In the business world, MIS (management information systems/science) is actually more common than CS (my degree is in CS). In general, it's the difference between Applied and Theoretical Physics (MIS being the applied and CS being the theoretical). Both degrees can code, but CS learns more of the theory. In general, CS is higher on the pyramid, but I know individuals with MIS degrees that are better than some CS coders, so it's just a rule of thumb.

      As far as title, mine is "Senior Consultant". I do the same work as a "Software Developer" but my bill rate is higher. :)

    56. Re:Are you an engineer? by grantspassalan · · Score: 1

      Engineers drive trains. Software engineers drive computers. Programmers program computers.

      --
      A sufficiently advanced simulation is indistinguishable from reality.
    57. Re:Are you an engineer? by WaywardGeek · · Score: 1

      I always state "programmer" as my occupation, in business and social gatherings. If I want a better title, I'll hold out for God Emperor.

      --
      Celebrate failure, and then learn from it - Nolan Bushnell
    58. Re:Are you an engineer? by dodobh · · Score: 1

      Software development is the job of designing parts in detail. Manufacturing is compiling. Or deployment.

      --
      I can throw myself at the ground, and miss.
    59. Re:Are you an engineer? by ILongForDarkness · · Score: 1

      Engineering is a profession like medicine and law. Common to all is a organization of peers that regulates the ethical practice of the profession. If you screw up you get discipline up to and including loosing your accreditation. Since accreditation is often legally required to practice it effectively means play by the rules or find a new job.

      So I can understand when someone has all the examinations, insurance and fear of screwing up costing them their career not just their job they are a little touchy that someone, potentially who learned how to program while working in the warehouse at Walmart, claims to be a member of their profession without any sort of qualms about actually learning such things as fiduciary duty, risk mitigation plans etc.

    60. Re:Are you an engineer? by sd4f · · Score: 1

      I'm now starting to think that developer or engineer in the context of software probably are interchangeable.

    61. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      Hahaha the reason I don't call myself a Software Engineer, is that engineers are pricks.

    62. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      I've never been to college and I know more than a typical CS graduate (my fiancee is one). I've programmed (well) in 11 different languages, can use Photoshop like any pro would expect, create fancy effects that you'd see in video-games, in fact I have done some UI and VFX work for games before, and have administered over 100 school networks in the past and am well versed in utilizing and programming for Windows, Linux, Android, and Macintosh, I cringe whenever someone tells me they bought a PC at Best Buy and I was hired for network security after I found exploits in an online application. So I'll be damned if a piece of paper is what tells people what I know and what I don't know. If they want to say it's illegal then I'll gladly accept their challenge and prove it in court that there's virtually almost nothing I don't know after devoting 15-years to a machine. But I digress, I generally hate computers and I'd like to do something else with my life so I am. /fuckthepolice

    63. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      The reason I find the whole debate stupid is that it seems to be framed round this idea that Engineers are magical people, who believe they're superior to others and that no one else should are be able to claim their title.

      no, it's framed around this idea that "engineers" are professionals who have to demonstrate proficiency in their field to acquire and maintain a license, and are bound by a code of ethics and the terms of their licensure.

      If you are not part of an organization which licenses and accredits engineers, then you are not a software "engineer" - you are a "software developer."

      Just like having an "M.D." after your name doesn't mean you're the most intelligent, smartest person in the world. But it does mean you've had a certain level of training, a code of ethics you're bound by, and a professional license that is based on demonstrating mastery of a professional body of knowledge.

    64. Re:Are you an engineer? by Xest · · Score: 1

      Right and why does that need a protected title?

      Here in sensible land, we simply solve that problem by suing people regardless of what their fucking title is if they've been incompetent and let the courts figure out blame.

      Does this mean in Canada, say a labourer that doesn't have a protected title is immune from being sued if they build a dodgy building that collapses and kills people regardless of what the Engineer said to do? Does the engineer get sued anyway because of his magical title?

    65. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      You clearly aren't an engineer and have never written any part of a finite element code. They're not written by programmers, they're written by mathematicians and engineers. Programmers come in to speed up the code, but we have to write tests first so they don't screw it up.

      An engineer is someone who graduated from the College of Engineering. Did you even take basic dynamics? I took a C++ class. Does that mean I can say I know anything about software architecture? I've probably done a lot more class diagrams and coding than you have free body diagrams or FEA runs.

    66. Re:Are you an engineer? by Xest · · Score: 1

      "You clearly aren't an engineer and have never written any part of a finite element code. They're not written by programmers, they're written by mathematicians and engineers."

      Re-read my post. You'll note I pointed out my degree was in Mathematics so thank you for admitting that Engineers like yourself need people like me to even be able to do your profession.

      You're right, I'm not an engineer. But I do have the underlying knowledge on which their entire profession is based to see why their view of themselves is nothing more than snobbery.

      Amusingly, I even assisted in the development of a number of patents that were due to be applied for, precisely because the engineering team did need someone with the level of rigorous mathematical background I have, and that they didn't.

      So have fun with your professional engineering title, I'll enjoy not having mine, yet still being more competent at the most complex part of engineering than many engineers - that of developing, using, and implementing software tools that utilise the math that underpins everything they do.

      You are not as special as you think you are.

    67. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      Between the two you mention, medicine is the only field where I feel that the protected legal definition is necessary. Lawyers have to pass the bar, but that doesn't mean a whole lot. Lawyers vary widely in quality. Doctors vary in quality too but usually the worst thing that happens is you get a mediocre doctor who fails to diagnose something vs. someone who is incompetent and kills you.

      As for engineers, the term 'engineer' is a very loose and widely used term. It's been that way for a long time. The guy who crimps network cables and configures Ethernet switches for a living and has the title 'Network Engineer' doesn't claim to be someone who builds bridges or designs buildings. If you're offended by the fact that he has 'Engineer' in his title then maybe the 'real' engineers should find a word that is not already widely spread and has diverse meanings.

      The real estate industry already went through this. The word 'Realtor' was coined and subsequently trademarked to be associated with people who obtain the professional certification for working in real estate.

      Honestly though I think the term PE should be sufficient. PE has a specific meaning and does not step on already existing definitions or job titles that have existed for ages. Just use that.

    68. Re:Are you an engineer? by Anonymous Coward · · Score: 0

      In my state it is perfectly fine to have 'Engineer' in your job title. However, only board-certified PE's can call themselves a PE or advertise engineering services (meaning that if you're a software engineer by trade but don't have a PE certification, you can't place ads saying that you provide software engineering services).

      Look, I agree with having professional and legal accountability. But you and other seem to think that people don't know the difference between someone who has a PE certification and the education to back it up versus the guy who picked up a Java text and learned how to code. 'Engineer' has been used for a very long time and has a diverse collection of meanings applicable to many different fields.

      Hell, even 'Doctor' is the same. You can have a PhD in Math and be called doctor legally. But only an idiot would think this guy can perform surgery.

    69. Re:Are you an engineer? by rioki · · Score: 1

      It would be a shame however if people's desire to give themselves a more impressive title devalued the status of engineers in other fields, especially when (as is shown, I think, by this discussion) it doesn't really add anything to call someone a "software engineer" because the title has no fixed meaning.

      It even gets more complicated... To be an engineer you need an engineering degree, right? Well Computer Science, as the name implies is a Science degree. But most alleged software engineers have a BS or MS in CompSci, so can't be called engineer at all. (I am a Information Technology Engineer... (Dipl. Ing.) ^_^ )

    70. Re:Are you an engineer? by hackula · · Score: 1

      This. Mine is even more pretentious with "Software Architect". Like most people, I did not choose it, other than going out and getting the job.

    71. Re:Are you an engineer? by Martin+S. · · Score: 2

      In the UK, BSc in Computer Science from a University can be accredited qualification for a Chartered Engineer status.

    72. Re:Are you an engineer? by deKernel · · Score: 1

      See, I would disagree. An engineer talks in terms of meeting requirements like functionality, cost and deliver dates. We don't talk about "the best solution" or the "correct way of something" because we really care about releasing products to meet business needs that keeps money coming into the business. Scientist talk in terms of "the best solution" and Mathematicians use terms like "correctness".

    73. Re:Are you an engineer? by Agent0013 · · Score: 1

      If you aren't willing to be sued if your software fails or if your train drives into a car you aren't an engineer.

      Fixed that for you.

      What if I write the software for a train (locomotive)? My software could very well cause problems with the train.

      --

      -- ssoorrrryy,, dduupplleexx sswwiittcchh oonn.. -Quote found on actual fortune cookie.
    74. Re:Are you an engineer? by micahraleigh · · Score: 0

      This is like suing the weather for being to cold.

      If Adwords doesn't get you a lot of clients, you shouldn't be able to sue anybody.

    75. Re:Are you an engineer? by hazydave · · Score: 1

      My titles have usually been "Engineer" (for the record, I have a double degree, Electrical Engineering and Mathematics), but the current employer uses "Developer". That might actually reflect the fact that plenty of folks who don' t have formal Engineering degrees (some may have attended a 2-year college, others may have simply learned it all "on the street"), so this is a bit more inclusive. First guy I worked for, out of college, had only the "on-the-street" learning, and yet, he's one of the finest Engineers I know, in every sense of the title.

      Of course, in some files, like electrical power engineering (and probably other jobs where stuff blows up if you do it wrong), you can't say you're an Engineer without taking a Professional Engineer's certification -- like passing the Bar as a lawyer, etc.

      --
      -Dave Haynie
    76. Re:Are you an engineer? by dodobh · · Score: 1

      Yup. If you think of software as an onion, then there are simply people who work at different layers.

      --
      I can throw myself at the ground, and miss.
  2. changing by Anonymous Coward · · Score: 0

    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.

    1. Re:changing by wmbetts · · Score: 1

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

      --
      "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
  3. Programmer vs. Software Engineer by jayveekay · · Score: 5, Insightful

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

    1. Re:Programmer vs. Software Engineer by ph1ll · · Score: 1

      Nice. But how about:

      A software engineer writes tests.

      --
      --- "We've always been at war with Eastasia."
    2. Re:Programmer vs. Software Engineer by Anonymous Coward · · Score: 0

      I can see your bias.

    3. Re:Programmer vs. Software Engineer by thetoadwarrior · · Score: 1

      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.

    4. Re:Programmer vs. Software Engineer by Anonymous Coward · · Score: 1

      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.

    5. Re:Programmer vs. Software Engineer by Stewie241 · · Score: 1

      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.

    6. Re:Programmer vs. Software Engineer by drinkypoo · · Score: 1, Insightful

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

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:Programmer vs. Software Engineer by thetoadwarrior · · Score: 1

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

    8. Re:Programmer vs. Software Engineer by Anonymous Coward · · Score: 0

      Oh, if that's what jayveekay meant then yeah I completely missed it.

    9. Re:Programmer vs. Software Engineer by Anonymous Coward · · Score: 0

      It could be designed to work, but the implementation might still have bugs.

    10. Re:Programmer vs. Software Engineer by Anonymous Coward · · Score: 0

      see also C++

    11. Re:Programmer vs. Software Engineer by aztracker1 · · Score: 1

      The problem is simply that creation of software has much more in common to a craft than any other engineering discipline. Very rarely does software creation involve a lot of engineering... and that is *usually* when interacting with real world objects. I would say a lot of database (dbms software) design is closer to an engineering discipline at its core than what most development is (codifying loosely defined business rules into a computer construct with what often turns out to be a poor interface).

      --
      Michael J. Ryan - tracker1.info
    12. Re:Programmer vs. Software Engineer by Anonymous Coward · · Score: 0

      Test Engineers write tests. Any firm that has their software engineering staff write tests is brain-damaged. Great test engineers are very good at breaking apparently bug-free code in a way that 99% of software engineers can't touch

      This is, imho, the real catch-22 in software engineering. You want your best engineers writing tests, but your best engineers are probably going to be criminally bored doing so

    13. Re:Programmer vs. Software Engineer by Luna+Argenteus · · Score: 1

      But I don't write tests. I write proof of my software's correctness.

    14. Re:Programmer vs. Software Engineer by Entrope · · Score: 2

      Congratulations on your 20-line programs written in languages that hardly anyone cares about.

      (I kid a little: People have developed formal proofs of separation kernels that are hundreds of lines long -- and published because doing so requires fairly novel techniques. And people sometimes do formal proofs of Java source code, which some people care about. But most programs that get formal proofs are tiny -- or tiny parts of larger, more complicated systems -- and an awful lot of formal provers only work on niche languages.)

    15. Re:Programmer vs. Software Engineer by Luna+Argenteus · · Score: 1

      I actually didn't expect people to not consider my post a joke.

    16. Re:Programmer vs. Software Engineer by hackula · · Score: 1

      Your description of a Software Engineering curriculum sounds like what every single dev learns within 2 years in the real world if they are worth anything. Almost every CS program contains lots of the same thing too, especially testing and the general best practices for development. As someone who hires, I could care less about whatever bullsh*t degree you got. I prefer to see what you know from your github profile, and your ability to discuss the complexities of projects you have worked on in the past. I cannot count the times I have worked with Masters in CS who could not code their way out of a wet paper bag. If you think that school prepared you for the real world, then you are already falling way behind.

    17. Re:Programmer vs. Software Engineer by ipwndk · · Score: 1

      I disliked the Engineers and became a CS instead.

      I learned the engineering parts at work. I'm even instructing now.

      Didn't want to waste time studying how to actually do things. That's a waste of time. I learn how to do that while doing it :-) Learning theory is not easy to learn by doing however.

      --
      01 REDEFINE REALITY.
  4. What about programmer? by Anonymous Coward · · Score: 5, Insightful

    I like to just say programmer.

    Programmer.

    Programmer.

    Programmer.

    1. Re:What about programmer? by Anonymous Coward · · Score: 0

      And also these other follow-up actions:

      - Sweat like a monkey
      - Throw chair

    2. Re:What about programmer? by Arancaytar · · Score: 4, Funny

      Programmers programmers programmers PROGRAMMERS PROGRAMMERS PROGRAMMERS. *chairtoss*

      Nah, doesn't flow off the tongue.

      I'll stick with "developers".

    3. Re:What about programmer? by Anonymous Coward · · Score: 0

      When I started in the field in the 80's, I was at times called a "Programmer/Analyst" and "Analyst/Programmer". Later "Software Engineer" became the popular name for the job. These days I'm a "Systems Administrator", though I've also seen my job called "Systems Engineer" at my company.

    4. Re:What about programmer? by phantomfive · · Score: 1

      Exactly. I'd really like to know where the terms developer and software engineer come from. They seem to be obfuscating the situation.

      Of course Ballmer ruined the term developer for me. I can never call myself that again.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:What about programmer? by robbo · · Score: 1

      From an immigration perspective, USCIS cares a lot about the distinction between engineer and programmer. Ask anyone who's entered the US in TN status what it's like answering the question 'how much programming do you do?' It's a trap! Programmer is not a NAFTA-qualified occupation, whereas Software Engineer is... NAFTA considers that you can obtain programming credentials from a community college, versus requiring a B.Sc or B.Eng to become a Software Engineer. The occupational description hinges on 'analysis, design and development' of software, versus just, uh, programming.

      http://www.tnvisaexpert.com/overview/nafta-occupations/

      --
      So long, and thanks for all the Phish
    6. Re:What about programmer? by Anonymous Coward · · Score: 0

      So you are the guy who converts designs and algorithms (decided by someone else) into programs? Well, at least you are not a coder. Now that's a tedious job..

    7. Re:What about programmer? by Anonymous Coward · · Score: 0

      Not a very good one, apparently. You should have used a for loop.

    8. Re:What about programmer? by Anonymous Coward · · Score: 0

      You can't be a very efficient programmer.

      for(n=0;n3;n++) say "Programmer";

    9. Re:What about programmer? by Anonymous Coward · · Score: 0

      Just because I don't cover myself in fancy labels doesn't mean that I do menial work.

    10. Re:What about programmer? by grantspassalan · · Score: 1

      I have a friend who builds houses in subdivisions. He calls himself a “developer”.

      --
      A sufficiently advanced simulation is indistinguishable from reality.
  5. I'm both, there's no difference by Anonymous Coward · · Score: 1

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

  6. Is it even relevant? by Anonymous Coward · · Score: 0

    Just like saying, uhm, first post?

  7. I don't know but... by Anonymous Coward · · Score: 0

    Software engineers make more $ than developers or programmers

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

    1. Re:I don't know but... by jmcvetta · · Score: 2

      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.

  8. Gets more babes by DuncanE · · Score: 4, Funny

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

  9. Programmer, Motherfucker! by mhh91 · · Score: 5, Funny
    1. Re:Programmer, Motherfucker! by Anonymous Coward · · Score: 1

      Do you speak it?

      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!

    2. Re:Programmer, Motherfucker! by Anonymous Coward · · Score: 0

      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!

    3. Re:Programmer, Motherfucker! by Anonymous Coward · · Score: 0

      Spoken like a true AC!

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

    4. Re:Programmer, Motherfucker! by Anonymous Coward · · Score: 0

      http://www.youtube.com/watch?v=rp8hvyjZWHs

      Trust me! I am an engineer.

    5. Re:Programmer, Motherfucker! by Anonymous Coward · · Score: 0

      I've worked with far too many programmin...fucker's.

    6. Re:Programmer, Motherfucker! by Anonymous Coward · · Score: 0

      I do so dearly want to shoot Rational Unified Process in his apartment, then shoot Scrum in the face on the way home.

  10. Have to be Registered? by Anonymous Coward · · Score: 1

    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?

    1. Re:Have to be Registered? by Dahamma · · Score: 4, Insightful

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

    2. Re:Have to be Registered? by Jane+Q.+Public · · Score: 1

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

    3. Re:Have to be Registered? by russotto · · Score: 1

      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?

    4. Re:Have to be Registered? by JonySuede · · Score: 1

      Never heard the expression : too many cooks spoiled the broth ?

      --
      Jehovah be praised, Oracle was not selected
    5. Re:Have to be Registered? by Jane+Q.+Public · · Score: 1

      Sadly, there were sigs in the comments in much of the code. So I don't think it was "too many cooks" in this case. It was too many managers, selling an inferior product at an inflated price based on their corporate name, and putting the responsibility on one or a few employees.

    6. Re:Have to be Registered? by Jane+Q.+Public · · Score: 1

      I should probably clarify: it was (is) a working application. But it was originally written a few years ago, and I had the job of reverse-engineering much of it, without access to the original programmer (more than one, but apparently one did most of it).

      And in a different language.

      And... the existing code maintenance sucked. (Which brings us back to poor engineering.) There were many files (this is a big project... when I say many I mean MANY... several hundred at least) labeled "backup__" or ".old" or pairs of "" and ".new" with no date... etc., etc. And that's all aside from the coding issues, which were all I was criticizing initially. Those are all still there, too.

    7. Re:Have to be Registered? by Jane+Q.+Public · · Score: 1

      Ah... Slashdot still hasn't come up to the modern world of UTF-8, has it?

      That was supposed to read " 'backup_#filename#_[date]' or '#filename#.old' or pairs of '#filename#' and '#filename.new' with no dates... etc."

      Where "#filename#" represents the base file name, of course.

    8. Re:Have to be Registered? by JonySuede · · Score: 1

      I see... happy happy fun time for you :P

      --
      Jehovah be praised, Oracle was not selected
  11. Superficial by globaljustin · · Score: 1

    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!

    --
    Thank you Dave Raggett
    1. Re:Superficial by tqk · · Score: 1

      I know of journalists, animators, artists, scientists and accountants who code **regularly** on a myriad of languages.

      Journalists and accountants? So you include LaTeX and Excel as programming? I agree with the former. As for the latter, I'll admit I'm biased. Accountants, lawyers and doctors rate close to the bottom wrt IT in my experience.

      Coding is what is in question here.

      I don't know how you got that. Go ahead and sue me but I still believe in the Waterfall Method: Analysis, Design, Implementation, Testing, and Maintenance. Coding is (part of) implementation.

      Picasso was a developer, using paint, but he was also a designer; what I'd also call an engineer, though I'd reserve the latter for someone who understands physical properties of entities, and can use complex math and physics to understand limits and stresses of those entities.

      As for web developers calling themselves "Software Engineers", I'm against it. I've done it, and I'm no engineer (Programmer/Analyst & Systems Administrator).

      To me, "engineer" means lives are potentially on the line, so they take their jobs very seriously. I know many of the criticisms of guilds, and I agree with many of them. However, I don't write them off as just protectionism.

      I'd like to inject one thought into this discussion I've not seen mentioned yet: "Combat Engineer." How serious would you be about doing your job with sniper rounds and shrapnel raining down around you?

      --
      "Tongue tied and twisted, just an Earth bound misfit ..." -- Pink Floyd.
  12. Well... by PhrostyMcByte · · Score: 3, Insightful

    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.

    1. Re:Well... by aztracker1 · · Score: 1

      I think the biggest difference is in the design and planning phases... In practice, an engineer doesn't typically also build the car.. as an architect doesn't build the structure. Software, in general the further you get away from large up front designs is much more of a craft than an engineering discipline.

      I don't like the term Software Engineer so long as you are not writing code that interfaces with physical devices, and even then not always. When you are designing for interacting with physical hardware, not abstract constructs, you are much more likely to be practicing engineering, not construction/crafting. This isn't a hard rule, as I believe that other areas of software creation are absolutely engineering disciplines... the fact is that most simply are not.

      In practice, if you are codifying business rules as a computer construct.. you are not engineering. This is simply how I feel on the matter.. and I consider myself a software craftsman, not an engineer for the most part in my work. That isn't to say I don't understand the more thoughtful exercises, or that they aren't necessary, it's just that the great vast majority of software development is not engineering.

      --
      Michael J. Ryan - tracker1.info
    2. Re:Well... by Anonymous Coward · · Score: 0

      Extending your architect metaphor - architects design buildings, engineers figure out how to build them, contractors actually build them (under the supervision of construction managers). We do have the term "software architect" at our disposal, and I'd line the equivalent software terms in the same order - a software architect goes on a vision quest, describes his vision to a software engineer who goes "WTF how the hell are we going to do that?" but figures it out anyway, and the developer is the poor sap who has to decipher the engineer's scribbles and turn them into something that actually works. Whether the end result resembles the original vision is subject to debate.

      I think the better question is: Does this model work in practice - or is it better to have people design and write their own code? And what would you call that kind of developer to distinguish them from ordinary code monkeys?

    3. Re:Well... by Qu4Z · · Score: 1

      Maybe this is regional variation, but in NZ it seems the kind of person who wants to be called a Software Engineer is exactly the kind of person who thinks everything fits into their pet methodology. Which is often some inflexible misunderstanding of OO.

  13. From an HR Standpoint... by DavidClarkeHR · · Score: 0

    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.

    --
    - Nec Impar Pluribus, or so I'm told.
  14. Are you a hacker? by betterunixthanunix · · Score: 5, Insightful
    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.

    --
    Palm trees and 8
    1. Re:Are you a hacker? by Jane+Q.+Public · · Score: 2

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

    2. Re:Are you a hacker? by Anonymous Coward · · Score: 0

      It depends on what the budget is.
      If you are forced to bang out code by management even though you could create nicely designed,documented and tested code, does that make you any less of an engineer.

      The problem is a "software engineer" should be able to condemn code as unfit.
      In the same way a civil engineer could condemn a physical structure.

      The reality is very few "software engineers" have such legal powers.
      And to to tell you the truth they don't want us to or else they would have to pay us more.

    3. Re:Are you a hacker? by Qu4Z · · Score: 1

      In fairness, it's called Agile Development, not Agile Software Engineering.

    4. Re:Are you a hacker? by xero314 · · Score: 1

      Agile Development definitely includes [sitting down and bang out code a few hours before the deadline] as (a non-ideal) part of its paradigm...

      I think you might want to rediscover what agile is since there are no deadlines in agile methodologies. Heck agile has been defined by some as "development without deadlines". Too many people think that breaking up a project into intermediate chunks makes it an Agile project, and it does not. Adding daily status meetings to those intermediate development cycles does not make it agile either.

      I'm still of the impression that Agile methodologies might actually work. I'll let you know if I ever see them in practice. (truth be told I have seen them in use once. it did work, and the term "agile" was never once discussed.)

  15. IMO None. by eagee · · Score: 5, Insightful

    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.

    1. Re:IMO None. by Jane+Q.+Public · · Score: 1
      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".

  16. Software Engineer vs. Computer Scientist by Ichijo · · Score: 3, Insightful

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

    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.

    --
    Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
    1. Re:Software Engineer vs. Computer Scientist by Jane+Q.+Public · · Score: 1

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

    2. Re:Software Engineer vs. Computer Scientist by Anubis+IV · · Score: 4, Interesting

      You've made two different arguments, one of which is patently incorrect. The other, however, while possible, sounds like a recipe for disaster.

      First off, they are hardly separate domains. Software Engineering is merely one field within Computer Science, which is itself a rather broad field covering a number of different disciplines (e.g. artificial intelligence, interface design, networking, graphics, formal language development, etc.). You only need to read a handful of research papers in the field of Software Engineering before you'd be convinced of the same. It's just as science-based as the rest of Computer Science, just as theoretical, and just as full of lab ideas that don't actually work in the field. Plus, it's inseparable from other Computer Science fields such as programming language design, which dictate just which ideas are even possible. Granted, it's a bit of a misnomer to call it "Software Engineering", since it's actually more like "Software Design Science", but I didn't choose the name.

      Moving on, your core idea was that Software Engineers do not need a degree in Computer Science, but I just can't see how that would work. Playing my own Devil's Advocate for a bit, most "Computer Scientists" are actually engaging in applied Computer Science (i.e. programming/developing) rather than the pursuit of Computer Science (i.e. working in academia or an industry R&D lab). Similarly, most Software Engineers are engaging in applied Software Engineering, rather than pursuing the science of the field. Again, playing Devil's Advocate, I could see an argument for providing a curriculum more focused on the "what" and "how" (i.e. "here are what the tools are and how you use them") to the exclusion of the "why", somewhat analogous to what a two-year programming degree might offer. It teaches the tools but not the reasoning behind them.

      That said, I just can't imagine what cuts you would make so that it's no longer a Computer Science degree. You can't cut out programming from the Software Engineer's curriculum. If you did, you'd be effectively putting someone with no experience in a design position where experience REALLY counts. That works in traditional engineering fields where they can be shepherded by someone more experienced for several years. But software projects tend not to be large enough to justify paying for someone who can't pull their own weight once the programming needs to get done, let alone an experienced one and a newcomer. So unless you want to force them to program despite their lack of training in it, you will have to move them on before they get in the trenches to make the thing they've designed. As a result, they'll be entirely divorced from the feedback process that would influence future design ideas. As I said at the top, that sounds like a recipe for disaster to me.

      So if you're going to be leaving in programming, what else would you cut from a typical Computer Science degree? At the time I was in grad school, our undergrad Computer Science department curriculum was revamped to have students choose a "branch" once they reached their upper level courses (i.e. the ones after intro programming, data structures, algorithms, etc.). One of those branches was Software Engineering, and, as you can guess, students who chose that branch would be taking a number of classes oriented around that topic. Even if there were a dedicated Software Engineering degree, I'm not sure how it would be functionally different from a Software Engineering oriented degree in Computer Science, like what my university already offers.

    3. Re:Software Engineer vs. Computer Scientist by aralin · · Score: 1

      Actually, where I come from, software engineering technical universities are inferior to computer science which is taught in proper universities along with math and physics as science. Not as a practical engineering discipline. So for me, based on my educational background being called engineer is sort of an insult. Engineers are guys who learn how stuff works, but not why. They are capable of executing, but not of complex individual effort.

      Clearly different countries view the term differently. But since I don't have an engineering degree, I prefer the words 'software developer' or 'software architect' for the work I am doing. But it is quite clear that here on slashdot many equate software developer with some kind of code monkey.

      The water is muddled even further because I studied software engineering as a subdiscipline of computer science. Meaning the process and methodology of developing software programs.

      --
      If programs would be read like poetry, most programmers would be Vogons.
    4. Re:Software Engineer vs. Computer Scientist by aztracker1 · · Score: 1

      In my own experience, someone with a CS, or similar degree who enters the workplace usually has knowledge of the tools in a "lab" level environment, not necessarily the real world or partially created software, or interfacing with systems in less than ideal conditions. In general, I find the biggest difference in varying levels of degrees vs. post-educational experience, is it tends to take longer for the arrogance to be rounded off. This isn't always the case, but just seems to be the trend. In general, the best developers I've worked with are either really green, and eager to learn... or have more than 5 years of real world experience.. and that the in-between seems to be a negative correlation to the amount of formal education they have.

      This is only my own bias and experience here, not a hard fast fact. That said, and I've said it many times in this thread... Software creation/expansion is rarely a matter of engineering, and even "architecture" is usually a poor analogy. Software creation is usually a craft that is influenced by a need for domain knowledge, and implementation based on the environment, the direction of the mentors in that environment and one's own experience.

      --
      Michael J. Ryan - tracker1.info
    5. Re:Software Engineer vs. Computer Scientist by Anonymous Coward · · Score: 0

      Maybe you should look at older professions, for example electronics:

      You have electrical engineers, specialised in electronics. These engineers do practical work, designing things that are used in production. They use a lot of science and write papers on how they design things.

      On the flip side you have the scientist, a physicist who are specialised in electronics. These guys think about how electronics work and write papers with lots of quite complicated math.

      It becomes interesting what happens between these two groups: the scientist and the engineers. An engineer will read the papers made by scientist and translates this math into more simple rules which can be followed by other engineers or even himself. An engineer may have found a 'hmm, that's funny' moment when testing something in the field, which the scientist will pick apart and try to explain.

      Also engineers will exclaim 'challenge... accepted' when he see a 'it is theoretically impossible' sentence in a scientist paper. Coming up with solutions that make things practically possible even though the scientist is correct (practical solutions don't have to be perfect to work).

      Sorry if this is biased toward engineers, that is likely because I am an engineer.
       

    6. Re:Software Engineer vs. Computer Scientist by Anonymous Coward · · Score: 0

      TL;DR. There is so a difference between chemistry and physics (science) and civil engineering, but you don't want a physist designing your bridges. You want an engineer. A civil engineer

      I think the analogy directly to computer science and engineering.

    7. Re:Software Engineer vs. Computer Scientist by graffic · · Score: 1

      Doesn't "engineering" means applied science?

      In my university there were "Chemistry" and "Chemistry Engineering" degrees.

      There are a lot of engineer titles and they're all "applied".

    8. Re:Software Engineer vs. Computer Scientist by Anubis+IV · · Score: 1

      It generally does, but as I explained early on in my post, "Software Engineering" is a bit of a misnomer, since the field itself isn't actually involved in the application, but rather the science behind the application. Hence why I later made a point of stating that, contrary to what the field actually represents, many of its practitioners are engaging in a behavior that more closely resembles what one would imagine the title should actually mean.

      All of that said, it's mostly just being pedantic. In the end, it isn't about definitions and is instead all about how we use them and what their use actually suggests.

    9. Re:Software Engineer vs. Computer Scientist by graffic · · Score: 1

      Agree :)

    10. Re:Software Engineer vs. Computer Scientist by Entrope · · Score: 1

      One part of engineering is applying science. Much more of engineering is predicting problems and designing ways to avoid or mitigate them. Very often, these problems are outside the scope of the field's science.

      For example, one hard part of software engineering is writing good requirements. The customer (or end user, or whoever is generating the requirements) seldom has a very good idea about what they need until they have something in hand that mostly works, and it's even rarer for them to have a good understanding of what is practical. What is practical boils often down to in-house expertise, reusable work products and development budgets rather than what the science allows. Once you know how what is needed and practical, the next challenge is to write a requirement that captures that while also being verifiable. Most systems that people care about cannot (practically) be formally proven -- they are too complicated to be affordable, techniques for doing so are unknown, and so forth; instead, the project's engineers need to have good judgment about what kind of design verification are appropriate and how much is needed on which components in order to meet the project's goals.

  17. Bah, that's a load of crap by Anonymous Coward · · Score: 4, Interesting

    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.

    1. Re:Bah, that's a load of crap by Tridus · · Score: 3, Informative

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

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    2. Re:Bah, that's a load of crap by thetoadwarrior · · Score: 4, Informative
      Wrong. http://en.wikipedia.org/wiki/Regulation_and_licensure_in_engineering#Canada_2

      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.

    3. Re:Bah, that's a load of crap by Austerity+Empowers · · Score: 1, Interesting

      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.

    4. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

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

    5. Re:Bah, that's a load of crap by thetoadwarrior · · Score: 1

      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.

    6. Re:Bah, that's a load of crap by thetoadwarrior · · Score: 1

      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.

    7. Re:Bah, that's a load of crap by i.r.id10t · · Score: 1

      But in some areas, what your position title is or key words in it control what pay grade you fall in. So position title is not always what is printed on your business card or what you put in your .signature

      --
      Don't blame me, I voted for Kodos
    8. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      Calling a professional society a union is just stupid,

      Professional societies exist to protect the profession, not individual members. You can complain about the conduct of doctors, lawyers and engineers and have it investigated and credentials removed. Find a union where the primary goal is the protection of the general public.

    9. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      There are many PEs working in private firms in the construction industry. Who do you think designed the housing sub-division you live in. Some PE had to figure out extreme flooding projection in next 100 years and designed the storm sewer system to deal with that. And some other independent PE has to certify that the actually work met the original PE's specs. Let's not forget the some other PE who has to sign off on the quality of the materials to make sure they are within spec. PEs make far more money in private firms than working for the government.

      Yes they do have god complex and think they know everything. My boss even tried to tell me how to do my job in which he has no experience in.

    10. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      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.

      you are so very wrong

      Civil, Structural, Environmental and related engineers are expected to have their P.E. within 5 years of graduating (by private industry as well).

      There is certain value in the A/E/C Industry for a PE / SE (Structural Engineer, which you can only get after the PE). An engineer without a PE, for example, is not allowed to sign structural drawings.

      Unlike software, where usually the worst that happens is buggy software that needs fixing, faulty infrastructure can cost lives inmediately.

      FYI, I am a Civil / Structural Engineer by education, got bored of it, went onto Software Development, and call myself a Developer, not a software engineer

    11. Re:Bah, that's a load of crap by ShoulderOfOrion · · Score: 2

      No, the main reason is because the PE is primarily a certificate with legal weight, supposedly certifying a reasonable proficiency in a specific field of engineering. That's why PE's tend to be clustered in Civil and Mechanical engineering--the law requires that bridge designs etc. need to be signed off by certified PE-licensed engineers. It's true that those types tend to cluster in government and the bigger contractors like Bechtel. You don't see the license often in Electronic or Software engineers because only certain markets (like Medicine) require legal sign-offs for some products; in the remaining markets it's just a license making it easier to sue you as well as your employer.
       

    12. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      No one in software cares about titles like they do. Neither do they care about quality control or standards. So we get a regular drip-feed of stories about fundamental design flaws in software affecting security causing economic damage and privacy violations, not to mention data loss from crashing applications and operating systems.

      But the professional societies are in it for the 100/year membership fees, right? It can't be that they exist to enforce standards and protect the public, right?

    13. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      So what would Canadian companies call a "build engineer" position which they don't fill with someone with a software engineering degree?

      Hint: they call it "build engineer."

    14. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      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.

      Tell that to Microsoft. They got sued a few years back for having the "E" in MSCE stand for engineer.

    15. Re:Bah, that's a load of crap by presidenteloco · · Score: 1

      "No one in software cares about titles like they do. Neither do they care about quality control or standards."

      As a practicing Software Systems Engineering Architect, I strongly resemble that remark!!!!

      Seriously, though. Software could stand better quality control standards (although it's pretty much always management that precludes effective or comprehensive testing and careful meticulous sanely-paced development, but I digress.)
      But in general, software is too complex to certify for correctness, particularly at anywhere near the rate that it is innovated these days. I would never, ever, sign something saying a piece of software (longer than about 5 lines of code) was verified correct and safe. Nor should anyone else. There are mathematical laws proving that you cannot be sure of this sort of thing. You can't in general say whether a given program will halt, given a new input, so you can't say whether it will halt returning the correct value.

      --

      Where are we going and why are we in a handbasket?
    16. Re:Bah, that's a load of crap by grantspassalan · · Score: 1

      There is a fundamental difference between software as used in computers and hardware objects such as drainage pipes, ditches and bridges. It can be shown mathematically whether a bridge construction will hold a certain weight or a pipe will sustain a given flow. This is not the case for software. Any reasonably complex software cannot be mathematically certified in any way shape or form to be secure or bug free. Even software that is used to control an airplane can only be tested and tested and tested and tested again. There is no way to prove that this software is correct and will actually do what it is supposed to in all possible situations. The title “software engineer” is just a fancy way of saying “programmer” in the same way as saying that a “janitor” is a “sanitary engineer”.

      --
      A sufficiently advanced simulation is indistinguishable from reality.
    17. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      Incorrect, at least outside of Software. Software may be a newer industry without the same level of regulation, but thats mostly just because it does have the same requirements for safety that other more physical industries do (or rather the rest of the world hasnt yet realized just how much software can become a safety issue, like that slashdot story about weaponizing pacemakers due to a programming flaw.)

      In all other engineering industries it is required to have a PE License (State Issued, similar to the Bar qualification for Lawyers) to practice engineering. And design must be reviewed, approved, and stamped by a licensed Engineer, who by doing so is taking on the liability for the safety and accuracy of that design. I am a "Control Systems Designer" now, and cannot claim the title of Engineer until I get the results back on the PE exam I took a few weeks ago. When I first started this job I made the mistake of ordering a batch of business cards that said "Controls Engineer" and was politely informed that they were illegal and I could not use them.

      It's not a matter of a union sound, or a pay-grade, or appearance to employers. Its a matter of legally practicing your profession or not. You dont practice Law or Medicine without the proper certification, and it is the same with Engineering.

    18. Re:Bah, that's a load of crap by Anonymous Coward · · Score: 0

      You are clearly not versed in legislation on this issue in Canada.

      You've drawn one example from a wikipedia page where several cases are listed. In the Merhej case, the courts dismissed it because of an ambiguity in the Alberta legislation. In Quebec, where the legislation was clearer, Microsoft itself was successfully sued for issuing certificates for "systems engineer". The point is that the situation varies in each province.

      Here in Manitoba, for example, it is not just "Professional Engineer" that is a registered title, it is also "engineer" "or any similar designation or any suffix, prefix, word, title or designation, abbreviated or otherwise, implying that the person is a member" of the Association of Engineers of Manitoba.

  18. Areas of Responsibility by Amigan · · Score: 2

    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.

    --
    "Software is the difference between hardware and reality"
    1. Re:Areas of Responsibility by aztracker1 · · Score: 1

      The more I think about it.. the more I think... Software * with Apprentice, Journeyman, Mentor, Master, Master Trainer might be more appropriate... With those with a degree being able to skip to Journeyman.. but not really moving past until you are mentoring others. I've also thought a more formal guild system would be beneficial.. where advancement was based not only on experience, but peer acknowledgement.. where a number of level peers, or a few higher up put a stake of their own collective reputation on your "level"

      --
      Michael J. Ryan - tracker1.info
    2. Re:Areas of Responsibility by Anonymous Coward · · Score: 0

      I am software engineer but usually the schedules are so thight that what counts is how fast you can think and how fast you can write working code. Everything else (unit tests, documentation, etc.) is possible if the client pays for it. Given these economic times I would see this coming more of a norm than exception.

    3. Re:Areas of Responsibility by Anonymous Coward · · Score: 0

      The guys with a degree come from the Arcane Universities in light robes. The guys without a degree are those black robe master conjurers in the woods, worshipping some ungodly deity.

  19. Computer Engineering by Anonymous Coward · · Score: 0

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

  20. Software Development Craftmaster by tdelaney · · Score: 2

    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.

    1. Re:Software Development Craftmaster by aztracker1 · · Score: 1

      Grr.. just posted this in reply to the wrong thread above... here it is again, where I meant to reply...

      The more I think about it.. the more I think... Software * with Apprentice, Journeyman, Mentor, Master, Master Trainer might be more appropriate... With those with a degree being able to skip to Journeyman.. but not really moving past until you are mentoring others. I've also thought a more formal guild system would be beneficial.. where advancement was based not only on experience, but peer acknowledgement.. where a number of level peers, or a few higher up put a stake of their own collective reputation on your "level"

      --
      Michael J. Ryan - tracker1.info
  21. Depends on the law. by Dzimas · · Score: 2, Informative

    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.

    1. Re:Depends on the law. by Anonymous Coward · · Score: 0

      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.

    2. Re:Depends on the law. by Jane+Q.+Public · · Score: 1

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

    3. Re:Depends on the law. by Dzimas · · Score: 1

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

    4. Re:Depends on the law. by Anonymous Coward · · Score: 0

      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)

    5. Re:Depends on the law. by thetoadwarrior · · Score: 2

      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.

    6. Re:Depends on the law. by Anonymous Coward · · Score: 0

      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.

      Which is fine, because what they're doing is not engineering.

      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.

      Which is also fine, because whether you like the "quality" (however that may be defined) of code they write has nothing to do with engineering.

      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.

      Again, has nothing to do with engineering.

      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.

      And again.

      Not meaning to pick on you, you just gave some nice examples that made for easy illustration of the point too many people miss: none of this stuff has anything to do with engineering, so nobody doing it should be calling themselves engineers.

      In and of itself, writing code is no more engineering than lifting the I-beam that holds up the bridge. Now, if you've done the math to find out what the size, shape, weight, and material of that beam is and how much it can hold under what circumstances, or you've done similarly for the bridge itself, then you've done some engineering.

      Can similar rigor be applied to software? Of course. Is it? Rarely. Is anybody in this thread who seems to be advocating that they should be able to call themselves an engineer doing it? It seems highly doubtful from the statements being made that they would even know what it entailed, let alone how to do it.

      It seems to mostly boil down to what these things always boil down to. Someone thinks a term sounds cool and knows it doesn't apply where they'd like it to, so they redefine it so it will. Kind of like the car commercial I saw the other day which boasted "innovations like bold new colors" (yes, that exact sentence appeared in the ad). Cue Princess Bride references all around.

    7. Re:Depends on the law. by Anonymous Coward · · Score: 0

      Maybe they read this story

    8. Re:Depends on the law. by Anonymous Coward · · Score: 0

      It does state it is a recommendation, and doesn't flatly say it's illegal for someone to be referred to an engineer who isn't. I can't sacrifice the time to dig into it further, but from the numerous job postings it's fairly obvious that one(or more) of the following must apply to the proposed law, it:
      a) Doesn't apply to all of Canada.
      b) Is only a recommendation.
      c) Is largely ignored.

      It's pretty easy to find numerous job postings from large companies that have the title software engineer, despite being targeted towards computer science graduates(my own title for various jobs has been software engineer).
      I've also known a few physicists who have had the title "engineer" at optics companies.
      Finally, transport Canada now denotes aircraft mechanics as Aircraft Maintenance Engineers and they don't hold a P.Eng accreditation either.
      As per this link:
      http://www.tc.gc.ca/eng/civilaviation/standards/maintenance-aarpb-menu-2534.htm

      I'm not trying to argue it's legality(I haven't looked into it), but it's clear if you check the link above and look at a few job postings it's either not illegal in all of Canada, or the law is not actually being followed by organizations.

    9. Re:Depends on the law. by Anonymous Coward · · Score: 0

      Then we should probably begin offering CS students a track that leads to a P.Eng license.

      If you think an engineering degree in a current discipline is necessary to write safe software you must be terrified to know how much medical and industrial equipment is running on linux and windows, written largely by people without engineering degrees.

      I think instead of trying to get electrical engineers to write software because they have an engineering license, we should license who have experience writing software as professional engineers after supervision(computer scientists in programs with a focus on producing software), and raise the pay to reflect that. We need people writing software to have supervised experience and regulation, right now the experienced(those with software engineering degrees) have no regulation, and the regulated(electrical engineers) get little experience in their degrees.

    10. Re:Depends on the law. by Jane+Q.+Public · · Score: 1

      "Which is fine, because what they're doing is not engineering."

      Yes, it is... in the same way that architects "engineer"... they take known technology and apply art to it. Sometimes they fail, sometimes they don't. Even Frank Lloyd Wright got it wrong from time to time. (His bit cantilever at Falling Water failed, for example. Was on the way to failing, but it was reinforced by others -- for purely historical reasons only -- some years ago.)

      "Which is also fine, because whether you like the "quality" (however that may be defined) of code they write has nothing to do with engineering."

      Yes, it does. Proper engineering should [A] be done according to appropriate principles, and [B] understandable by others. Otherwise, it [A] cannot be demonstrated to be actual "engineering" at all, and [B] is not maintainable after its initial creation. I mean come on... did you really think I was referring to rarified abstracts here? If your short road bridge over a small body of water has obvious S-curves in it, then unless it's a VERY unusual situation, it's just plain shitty engineering. If your code is badly formatted to the point that it's hardly readable, and obscure forms were used to do straightforward things (and YES, I have seen such from big firms), then it's still shitty engineering.

      A mechanical engineer will usually recognize a well-built bridge. A software engineer will usually recognize good programming.

      "Can similar rigor be applied to software? Of course. Is it? Rarely. Is anybody in this thread who seems to be advocating that they should be able to call themselves an engineer doing it? It seems highly doubtful from the statements being made that they would even know what it entailed, let alone how to do it."

      That's because traditional "software engineering" is largely a failed discipline. Old-school "software engineering" is what led to the famous "Waterfall" method of project organization and design, that was woefully slow and error-prone. That is where the famous "7 lines of workable code per day per person" came from. And often, in the long run, they turned out to be not very workable. Like the baggage system for the new Denver airport, for example. That's a classic example of the utter failure of what many older folks call "software engineering".

      It's pretty clear that the top-down idea of programming has pretty much turned out to be a crock of shit. That has been pretty well-known now for... what? 15 years maybe? Other methodologies have proven to give better results in most circumstances. I can appreciate that you don't like that, but not liking it has little to do with the facts.

      And if you really think "software engineering" is merely "lifting the beam that holds up the bridge", then you just don't know much about it. Somebody had to figure out what the proper beam material and dimensions were, given the underlying conditions, and the connection methods, and the fit with the rest of the project, and so on.

      To be blunt, I find your arguments to be not just uncompelling, but either disingenuous or ignorant. I won't guess as to which.

      In fact I think you are much like many people who tried to hire me, and whom I turned down.

    11. Re:Depends on the law. by Zmobie · · Score: 1

      This is flat wrong. I work for a Canadian company with a U.S. branch and every single software person we have is formally billed to customers in the U.S. and Canada as a Software Engineer. Canada and a couple of U.S. States' (Texas and I believe Florida last I checked) Professional Engineering boards are pushing for the title to require a P.E. and have been considering implementing a test for Software Engineers, but nothing solid has come of it and probably won't for a while.

    12. Re:Depends on the law. by Anonymous Coward · · Score: 0

      APEGA doesn't write the laws nor is the government. Nobody is legally restricted from using "engineer" in their job title. This is just union/cartel FUD.

    13. Re:Depends on the law. by Anonymous Coward · · Score: 0

      Just so you know, the Professional Practice Exam that needs to be written by all professional engineers in Canada is not based on a specific field of engineernig such as Civil or Mechanical or what have you. It is based on Canadain Law and Ethics style questions. The larger framework of your practice.

  22. Disregarded by Anonymous Coward · · Score: 1

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

    No. We disregard them.

  23. Never seen it matter. by A+bsd+fool · · Score: 1

    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.

  24. Seinfeld by afgam28 · · Score: 4, Insightful

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

    1. Re:Seinfeld by Anonymous Coward · · Score: 0

      Wow... 1967 called : they want their world views back.

    2. Re:Seinfeld by greg1104 · · Score: 5, Insightful

      Kid, you obviously don't know anything about dating in 1967. During the Summer of Love, showers were strictly optional, and instead of going for a burger the invitation would include "we'll get some acid".

    3. Re:Seinfeld by Lennie · · Score: 1

      > are not that concerned with her job.

      When the woman makes more money than the guy, that attitude sometimes changes.

      --
      New things are always on the horizon
  25. Engineer? by Coppit · · Score: 1

    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.

    1. Re:Engineer? by Jane+Q.+Public · · Score: 4, Interesting

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

    2. Re:Engineer? by thetoadwarrior · · Score: 2

      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.

    3. Re:Engineer? by Anonymous Coward · · Score: 0

      This has been said before but it is worth repeating:

      Truck drivers are licensed by the state.
      Truck drivers have an entire field of law governing their conduct.
      Truck drivers have to take standardized tests.
      Truck drivers are expected to know routes, laws, tolls, a bit of mechanics, etc...

      Guess that means all truck drivers are Engineers.

  26. WTF is a "digital strategy agency"? by Anonymous Coward · · Score: 1

    From TFA in big fucking letters:

    Metal Toad Media is a digital strategy agency.

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

  27. One of them sounds better by Tridus · · Score: 3, Insightful

    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.

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  28. Engineer by Anonymous Coward · · Score: 0

    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.

  29. Big Difference by Anonymous Coward · · Score: 0

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

  30. "Engineered" implies liability by Anonymous Coward · · Score: 2

    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.

    1. Re:"Engineered" implies liability by Mr+Z · · Score: 1

      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), and occasionally other problems. There's a failure rate associated with each component known as the Failure In Time (FIT) rate, 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 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.

    2. Re:"Engineered" implies liability by aztracker1 · · Score: 1

      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.

      Just worth pointing out that this is only going to become more common as manufacturing processes are becoming much smaller and less resistant to outside influences (cosmic rays). There's some interesting notes in an article in the latest Maximum PC that mentions this, regarding a CPU that actually has ECC in even the in-cpu memory systems to ensure resistance to such events.

      --
      Michael J. Ryan - tracker1.info
    3. Re:"Engineered" implies liability by Mr+Z · · Score: 1

      Actually, that's already the reality in the business I'm in. We have ECC on our large L2 and L3 on-chip memories, and have had for 5-6 years. (We added parity checking to the L2 memories around 8-9 years ago, and upgraded to SECDEC a few years later.) We're now adding ECC and parity even at the L1 and cache tag level, as others have.

      From what I hear, the fab has informed us that some RAMs at smaller geometries will need active ECC just due to leakage and marginality. The traditional soft error model (ie. an alpha particle knocked charge loose from a cluster of bits) doesn't apply. I may have bits that are persistently unreliable and unrepairable, and so look closer to a hard error than a soft error. ECC can help us cope with these more novel memories. It's becoming more and more a way of life.

  31. licensed software engineers by Anonymous Coward · · Score: 0

    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.

  32. Programming can be used in different contexts by Anonymous Coward · · Score: 0

    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.

  33. There's a difference? by mdf356 · · Score: 3, Interesting

    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.

    --
    Terrorist, bomb, al Qaeda, nuclear, yellowcake, kill, assassinate. Carnivore is dead... long live Echelon.
  34. Just titles... by Valtor · · Score: 4, Insightful

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

    --
    "Sockets are the standard networking API, also useful for stopping your eyes from falling onto your cheeks" zeromq.org
    1. Re:Just titles... by Anonymous Coward · · Score: 1

      That's the problem. People don't understand the difference, and so use them interchangeably (often claiming to be doing Engineering when they clearly aren't).

      The key differences between Engineering and other forms of development are accountability and provability. Engineers are professionally accountable for their screwups. If an engineer screws up on the building of a bridge, their license gets taken away and they can't be an engineer anymore. Likewise, if an engineer working on the software for a nuclear power plant screws up, they'll likewise be blackballed. Engineers have to stand behind what they do in a way that developers don't have to.

      Which leads to the second point: in order to be able to say with confidence that what they're doing is going to be safe, sound, and not endanger lives, engineers reach for all of the tools that can help them do that. That means being able to prove that everything that's designed & implemented will work properly and completely within all specified parameters, and fallback safely when it doesn't. There's lots of work that goes into being able to prove software correctness. This is expensive, boring, and tedious work. This is not the stuff of rockstar hackers (which are cool, and do some great things, but definitely don't engineer anything).

      Seriously, read up on Software Engineering. Check out the work of David Parnas (one of the earliest to push these ideas, but far from the only). There's lots to it that means that if you just shrug and say "those are just titles", then you're helping perpetuate a huge misunderstanding of the world around you.

  35. Wizard by Anonymous Coward · · Score: 2, Funny

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

    1. Re:Wizard by Jedi+Alec · · Score: 1

      Does the title come with a robe and a hat?

      --

      People replying to my sig annoy me. That's why I change it all the time.
  36. My title is... Owner by stretch0611 · · Score: 4, Insightful

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

    --
    Looking for a job?
    Want your resume written professionally?
    DON'T USE TUNAREZ!!!
  37. Mechanic vs Engineer by Anonymous Coward · · Score: 0

    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.

  38. The real differences by heretic108 · · Score: 3
    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.

    --
    -- In the beginning was the WORD, and the WORD was UNSIGNED, and the main(){} was without form and void...
    1. Re:The real differences by Anonymous Coward · · Score: 0

      :-) Been there, done that! Sitting in a factory in Indianapolis debugging/fixing TCP/IP stack (kernel-level) issues for a customer who was using our real-time software to build diesel engines! I suppose that is why my title is Senior Systems Engineer, and not Senior Software Developer... :-)

    2. Re:The real differences by Anonymous Coward · · Score: 0

      I think you mean 'subset' or distinct sets altogether.

  39. What about "trendy douche" ? by Gothmolly · · Score: 5, Funny

    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.

    --
    I want to delete my account but Slashdot doesn't allow it.
  40. A Non-software Engineer Intern's View by TheStonepedo · · Score: 0

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

    --
    I'll be your candy shop of infinite deliciousity if you'll be my discotheque of endless rump-shaking.
    1. Re:A Non-software Engineer Intern's View by Anonymous Coward · · Score: 0

      For an intern, you have stated the issue pretty well! As for women and children doing it? My wife is a PhD physicist and software engineer for one of the world's largest particle physics research labs, and my grandson (18) who designs and builds autonomous UAVs (rotary and fixed wing) from scratch (and hacks the Linux kernel to support that work) since he was 10, would take umbrage at your last statement! :-)

    2. Re:A Non-software Engineer Intern's View by robi5 · · Score: 1

      > If programming was easy women and children would be doing it ;-)

      It may not be easy, and women and children are doing it.

  41. Not nearly enough in practice... by Anonymous Coward · · Score: 0

    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.

  42. Depth by katsh · · Score: 1

    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.

    1. Re:Depth by KingMotley · · Score: 1

      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.

    2. Re:Depth by Anonymous Coward · · Score: 0

      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.

  43. Terminology by jmcvetta · · Score: 4, Informative

    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.

    1. Re:Terminology by graffic · · Score: 1

      - Coder = Programmer
      - Programmer: writes programs. Painters paint, fire burns and so on and so forth.
      - Developer: a nice word to say programmer.
      - Software Engineer: someone that applies engineering principles to software
      - Software Architect: someone that is neither an engineer nor a programmer, but usually ends up as a programmer doing an horrendous job.

    2. Re:Terminology by durdur · · Score: 1

      In my experience developer and software engineer are synonymous. Some organizations will call a person creating or modifying software a Developer and some will call him/her an Engineer. Architect tends to imply you are spending most of your time designing systems or reviewing others' designs, although higher-level software engineers do quite a bit of that too.

    3. Re:Terminology by Anonymous Coward · · Score: 0

      Well, I'd call myself a Software Author, but then *real* authors might take offense, and that would be deadly. I could be written into The Shades by Pratchett, eaten by an intelligent brussels sprout by Gaiman, or placed in the Paris End of Melbourne by Greenwood.

      Pick who you're going to offend first.

    4. Re:Terminology by morkk · · Score: 1

      - Software Architect: arsehole who gets in the programmers' and developers' way

    5. Re:Terminology by anomalous+cohort · · Score: 1

      That coincides with my observations as well. Here are some more observations. The developer spends most of her time coding whereas the engineer will be involved in all aspects/phases of the software development process including; requirements capture, analysis, design, configuration and release planning. The developer tends to favor one programming language which he treats as a "swiss army knife" in that he will create a lot of code getting that language to do everything. The engineer usually knows lots of programming languages and his approach on language selection is more like picking "the right tool for the job."

  44. my experience: by buddyglass · · Score: 1

    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.

  45. Easy question by SuperKendall · · Score: 1

    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.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  46. I prefer Software Engineer by russotto · · Score: 1

    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.

    1. Re:I prefer Software Engineer by Anonymous Coward · · Score: 0

      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.

    2. Re:I prefer Software Engineer by russotto · · Score: 0

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

      That's part of what the stick-up-their-ass P.Es claim. Of course, if I say yes, they'll then bring up state regulation and licensing and codes of ethics and all that nonsense which has nothing to do with the actual practice of engineering. Nor does taking responsibility.

      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.

      I've worked on software for medical equipment, with nary a P.E. in sight. Since a P.E. (not being trained in software, as there were no software P.E.s at the time) wouldn't know a pointer from a preprocessor, that's probably just as well.

    3. Re:I prefer Software Engineer by biodata · · Score: 1

      I take it you think these requirements are really unreasonable, but to me they seem reasonable. To be an engineer is to be responsible for building things that can kill people. That's why it is important to have qualifications and experience. Your crappy certificate and 2 years java coding is not proper qualifications and experience.

      --
      Korma: Good
    4. Re:I prefer Software Engineer by russotto · · Score: 1

      I take it you think these requirements are really unreasonable, but to me they seem reasonable.

      Really? 16 years of experience? And note that's experience working under a P.E. who will sign off on it, not just any old experience. Plus references from 9 people including 5 P.E.? I don't think I even know 5 P.E.s. And I have almost 20 years of experience.

      Know how many Professional Software Engineers there are in all of Texas? 78, of whom 63 are active. That's how onerous the process is.

      Note that the ACM and the IEEE once had a joint project to develop professional standards for engineers. The ACM pulled out when it became clear the IEEE was going down the P.E. path.

    5. Re:I prefer Software Engineer by Anonymous Coward · · Score: 0

      Incorrect. I am a Software Engineer in Texas and there is no such requirement (the national board would have to approve it). They are one of the boards that is fighting to get a test/process for P.E. designation put in place for Software Engineers, but as it stands the closest thing they did is make a Computer Engineering test that has a slight focus to software (it is an utter joke from what I understand).

  47. Re:My title is... Owner by Anonymous Coward · · Score: 0

    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.

  48. Just a title for now programmeregineerarchitect by Anonymous Coward · · Score: 0

    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.

  49. Computer Science is not an Engineering Discipline by tyrione · · Score: 3, Informative

    There is a reason people laugh and mock people who call themselves Software Engineers outside of the IT World. They are fluff titles. Even at its best, Computers Engineering is just a subset of Electrical Engineering focused on the designs of hardware from the CPU/GPU/DSP, etc., and their interaction with Software.

    Whether it is Mechanical, Electrical, Chemical, Biomechanical [Applied ME with Biology], Civil, Structural, Materials Science Engineering disciplines are grounded in mutable laws of engineering extended from the laws of Physics, Chemistry, Biology, through all applicable languages of Mathematics Disciplines.

    Bill Joy has long wished for Software Engineering to become factual by taking cues from Mechanical Engineering [though since he never has been a Mechanical Engineer I doubt he realizes how impractical that wish will ever be], due to the innate Art behind Computer Programming, Computer Architecture, Computer Software Design, etc.

    In order for Software Engineering to be a recognized Engineering Discipline via ABET one would expect them to take Thermodynamics/Thermodynamic Systems, Dynamic Systems, Materials Science Engineering, Finite Element Analysis and more where one applies the various electives to writing Software applications to apply said disciplines--the exact reality all Engineering disciplines due for zero credit or recognition.

    You want an Engineering Degree, then get one. You want a Computer Science degree and it's several specialties than get one. Stop pretending they are equivalent. None of my former CS majors ever compared our CS degree curriculum to my Mechanical Engineering curriculum. Mechanical Engineering is a very broad and deep curriculum now with several areas including Tribology, MEMS, Robotics [Applied Kinematics with EE/ME control systems], along with their many other tracks in Machine Design, Fracture Mechanics, Dynamic Systems, Heat Transfer Disciplines, etc].

    Stop calling yourselves Software Engineers. You aren't designing solutions that adhere to Computer Science Laws. You are designing to Best Practices, Design Patterns, all centered around Semantics/Linguistics/Discrete mathematics, applied logic and other Art disciplines. Embrace the Art. Stop pawning yourselves off as Engineers.

    The Engineer in Training Exam provided by every state in the United States is a comprehensive exam [8 hours] over your past 5 years that allows one to reduce the time it takes [under a Principle Engineer (Often mistaken as Professional Engineer)] to then qualify and apply to become a P.E., from 12 years under a P.E., licensed and bonded down to 4 years.

    The lack of understanding the IT World has for the parent worlds of Engineering is staggering.

  50. Re:Computer Science is not an Engineering Discipli by tyrione · · Score: 1

    edit: Computers Engineering -> Computer Engineering. mutable laws -> immutable laws.

  51. Nah by Anonymous Coward · · Score: 0

    A programmer looks at all aspects of the problem, works with the users and designs and implements a solution to address the problem. A software engineer draws lots of diagrams that don't mean anything, manages a massively over complicated project that doesn't accomplish anything, and does lots of reports to management about the project that never actually address any of the issues. Some time later the project is cancelled. See the parable of the two programmers.

  52. Attitude, not titles by rhysweatherley · · Score: 1
    It's not the title, it's the attitude. If you write code the way a civil engineer designs bridges and or an electrical engineer builds circuits, you will build crap.

    When building a bridge to take a 10 ton load, you better use 15 ton beams just in case one is under spec. When building a circuit to switch at 10 MHz, use components designed for 12 MHz just in case one is under spec. It's called "tolerances" and is the underpinning of all engineering, and is a great idea for those fields where once it is built the requirements generally stop changing.

    Except in software engineering. Tolerances in software are called "fudge factors" or "heuristics", and they always result in unmaintainable spaghetti as requirements constantly change over time.

    I use the term "Software Developer" for myself because I refuse to "engineer" software; i.e. build crap. My most recent contract involved fixing problems in embedded systems code written by an EE major. Total nightmare - no unit tests, no code comments to speak off, mysterious algorithms with no explanation as to where they came from, references to "see datasheet" for the component that was used three board revisions ago but not any more, and so on. The circuit? An absolutely beautiful example of balancing requirements and managing tolerances. But the code to run the circuit was rubbish that would get stamped "go back and do that again" by the code reviewers in any software development shop.

    The ironic thing is that the term "Software Engineer" was coined to give developers the air of professionalism. Perhaps the engineers could learn something about professionalism from the developers instead? Like how to design a system that won't fail the minute the requirements change.

    1. Re:Attitude, not titles by dbIII · · Score: 1

      Like how to design a system that won't fail the minute the requirements change.

      Are you actually under the impression that requirements do not change in large engineering projects?

  53. Engineering Education by Anonymous Coward · · Score: 0

    Calculus, Differential Equations, Strength of Materials, Thermodynamics, Electrodynamics, Mechanics, Circuit Theory, and other engineering disciplines.

  54. Programmer vs Engineer by ArcadeNut · · Score: 1

    To me, a programmer is anyone who just sits down and bangs out code, with no concern for architecture, coding standards, best practices, etc...

    A Software Engineer is someone who plans, designs, follows best practices, coding standards, etc... They care about error handing, usability, reliability, and maintainability.

    --
    Visit the Arcade Restoration Workshop @ http://www.arcaderestoration.com
  55. Neither by Anonymous Coward · · Score: 0

    Ever since I called myself Code Ninja all the code I've written have been ultra compact, high performing, and bug free. Girls started to talk to me and my family invited me to dinner every week. It makes a huge difference. Try it.

  56. See also "sanitation engineer" by Anonymous Coward · · Score: 0

    "Software engineer" is a euphemism for "programmer", just like "sanitation engineer" is a euphemism for "janitor".

    It has nothing to do with rigor or professional standards. It has to do with making your title look better. I'm a programmer and I'm glad to call myself that.

  57. Think it's the processes that mean the difference. by Artifex · · Score: 1

    I'm not one, but I think that software engineers use formalized approaches (Requirements Elicitation, etc.) to not only solve immediate problems, but also recursively improve those processes so that they're always benefitting from what they've done in the past, making them more responsive and nimble.

    Also, and this is just something I've noticed: I see a lot of people identifying themselves as "Java developers" or "C++ developers" or giving some other specific language(s) in their title. I don't remember offhand any software engineer doing this. I would expect software engineers to be conversant in multiple languages and frameworks, and be comfortable in learning new ones (or even creating their own as needed), so that they can pick the right tool for the job at hand.

    --
    Get off my launchpad!
  58. Re:Areas of Responsibility-draftsman vs. architect by Anonymous Coward · · Score: 0

    While I think there's a lot of truth to the "It's just a title, call yourself whatever you want" comments herein, I think you've captured it correctly. The difference here is really one of skill sets and responsibility. As a hiring manager, if I want a software engineer, I'm looking for the well-rounded skill set to not only develop the system, but to consider all the various ramifications of system design, serviceability, performance, maintainability, virtualization, multi-tenancy, operating system choices, hardware and network impacts, etc. Not to mention a healthy respect for the roles of others, from UI designers to system and test engineers.

    But if I'm looking to hire a developer, I'm looking for a different skills set - the ability to code (and code well - with proper documentation, structure, boundary checks, etc. by target deadlines) and be able to at least do the necessary unit testing of their own delivery for quality purposes.

    Just like architectural firms have both architects (who can see the grand vision and make sure that the buildings have all the appropriate HVAC and electrical characteristics as well as meet the codes for hurricane and earthquake, but give the building its unique characteristics that attract tenants) and draftsman (who do the specific work to ensure the floor loads don't exceed the support bracing underneath, and figure out how to route plumbing and electrical to enable services while maintaining the desired aesthetics set by the architect), Software Engineers and Developers have their own specific value-adds.

    But I'd be one very unhappy employer if a developer sold themselves as a software engineer, but couldn't deliver on the scope and breadth of knowledge implied by that title.

  59. Since we can choose our own title... by tommeke100 · · Score: 1

    I'd like to be called Software Guru or Evangelist.

  60. Object (ively) by Anonymous Coward · · Score: 0

    I make software. I have a degree in engineering. I call my job playing with computers.

  61. I believe the preferred title is... by Anonymous Coward · · Score: 0

    ***Rock Star***

  62. I never paid any attention to titles by durdur · · Score: 4, Interesting

    I remember at one job I had to call up HR once and ask them what my title was. But it did gradually dawn on me that you don't want to be a title step lower than people who are equally or less skilled than you are. It does affect how others see you in the company and ultimately may affect your salary and promotion prospects, although I don't believe my own career has been derailed much by not caring.

  63. It isn't like this by pentagramrex · · Score: 1

    I have a degree in electronics. In the UK. Unfortunately it doesn't get professional status as things like law do. Nobody cares what institution you are affiliated to. I am more a software person now - C++ and maybe c#. I'd prefer microcode to x86 assembler. Java seems to be getting worse than VB6. I say I play with computers for a living, or just I write software.

  64. Re:Computer Science is not an Engineering Discipli by Anonymous Coward · · Score: 0

    What was that about exams? http://ncees.org/About_NCEES/News/News_Pages/New_PE_Software_exam.php

  65. The engines cannot take it! by dbIII · · Score: 1

    It's a meaningless as "guru" or "architect" since it really has as little to do as engineering as building houses or running a cult.

    I've had endless arguments here with "software engineers" that can't even grasp the high school level concept of polar co-ordinates (among other things expected of someone before they even enrol in a course), so whatever it is there is a million miles between it and any sort of engineering.

    1. Re:The engines cannot take it! by aztracker1 · · Score: 1

      This is very simple.. software creation is usually a craft, not an engineering discipline.

      --
      Michael J. Ryan - tracker1.info
  66. lets keep it clean by Anonymous Coward · · Score: 0

    Call me a Simple Country Technician and we'll get along fine.

  67. Software Engineer = Tech Support by Anonymous Coward · · Score: 0

    My dad, who works for IBM doing tech support for some sort of commercial warehousing software, is called a software engineer by IBM.

  68. I type by SpasticWeasel · · Score: 1

    That's what I do. I wrote my first line of code in 1982 and I have the carpal tunnel to show it 30 years later. Now get the fuck off my lawn

    --
    No sooner do I get over one, then you put a better one right next to me. Bastards.
  69. It's the employer's call by Horshu · · Score: 1

    I tend to personally refer to myself as "programmer" or "software dev(eloper)", but it really depends on the employer. Some companies hire their devs as "programmer" or "programmer/analyst", some use "software developer" or even something like ".net developer", while others do use "software engineer". Some states do not allow the improper use of "engineer", while others do (my current one allows it, and my company refers to me as such). And then, there's also the can o' worms known as "software architect", which is high-falutin' synonym for "tech lead", IMO.

  70. 3 titles - same job by Anonymous Coward · · Score: 0

    I'm just going to jump in here and mention that over the past dozen years - I have had the following 3 titles:
    "software developer"
    "software engineer"
    "software designer"

    3 companies. 3 titles. same degree. same job.

    It's fairly arbitrary these days what the job titles actually mean, and is more just a matter of convention or something historical.

     

  71. Dev vs Eng mentality by Anonymous Coward · · Score: 0

    Developer says - "we don't really have to use this here, this here, and this here!".
    Engineer says - "we have to use this here, this here, and this here!".

  72. Will it influence work? by ctrahey · · Score: 1

    Thanks for all the feedback so far; I'm quite happy about the quality of this discussion. Avoiding for now the perhaps unavoidable consideration of legality, I'm interested in hearing about the influence the title decision might have on how the talent actually performs their work. To what degree does the choice influence the technical culture? How do the roles contrast when both are present on a team in cultural and technical terms where you work? If I'm being frank about the question, it goes like this: Will a young developer start to think about their work more robustly if I tell them that that we are grooming them for Software Engineering vs. Software Development?

  73. engineers vs computer scientists by Anonymous Coward · · Score: 0

    I posted a response indicating how all the titles can be used interchangeably, but I wanted to also comment on what my experience with folks w/ different degrees has been. my background is mainly telecoms...

    -electrical engineer - these guys design PCBs, FPGAs, hardware systems. they write some software, and are good with DSP algorithms and other stuff that is close to the hardware. would I trust these guys to write device drivers? maybe the better guys.. would I trust them to write a standalone DSP controller of some sort? absolutely! these guys are very good at what they do, but specialization can cause them to be ignorant in other areas.

    -computer scientist - these guys have math or CS degrees. concerned with formal proofs and correctness, etc. I wouldn't necessarily trust these guys to layout a PCB, but maybe they've got enough experience to do an FPGA design... after all, that's just software, and these guys specialize in understanding software... any language. it's all the same to them. would I trust them writing drivers or operating systems or compilers? yes -- because they understand the theory and can extrapolate to whatever platform they are handed. writing mission critical stuff? they can tell you when what has been designed will or will not work, and can make guarantees on things. this seem pretty scientist-y.

    -computer engineer - somewhere in between the other two.. maybe didn't dive as far into PCB design in their engineering education, and decided they'd be more comfortable with software. understands the tenants of engineering, and has spent their career engaged in software instead.. why didn't they become computer scientists? probably because they didn't like all the proofs and theoretical stuff (I know I didnt like it too much at the time, but I've since grown to appreciate it).. these guys are pretty hands on and can build practical working systems, but with reckless disregard for whether their algorithms will be able to execute in polynomial time or not. I'd consider this a best of both worlds, but at the same time a worst of both worlds. would trust these guys to write drivers and such, but I don't know whether I'd want them designing optimizing compilers, etc.

    just my 3 cents... your mileage may vary...

    as for web programmers -- aren't those the guys who flunked out of business school or something? ;)

  74. The preferred title by FishOuttaWater · · Score: 1

    ...is Rock Star

  75. Lead Systems Developer by mevets · · Score: 1

    is what I went with. Has a nice TLA.

    1. Re:Lead Systems Developer by Anonymous Coward · · Score: 0

      At my last job I was Software Development Engineer. Seems to avoid the issue quite nicely.

  76. PE is important if life safety is involved by Anonymous Coward · · Score: 0

    Typically, they'll want a PE to sign off on your drawings for a building permit, for instance.

    Or if you want to hang a shingle calling yourself an Engineer.

    Of course, with the industrial exemption, it's whatever HR seems to think might be an engineer, which may not overlap with what the licensing authorities think.

    (from a licensed PE, but because of HR, can't be an engineer at work, and has to be a technology specialist, because no "degree in a related field".. whose wife is a Poli Sci major and was a software engineer before she wound up managing software engineers)

  77. Re:Computer Science is not an Engineering Discipli by barjam · · Score: 1

    In my area the jobs are looking for "software engineers" when they mean developers. To get past HR drones the resumes need to reflect this. They could call the role turbo monkey chicken designer and I would claim that title as well (provided I was qualified for it of course).

  78. well IT sysadmin / network / desktop / work cut fo by Joe_Dragon · · Score: 1

    well IT sysadmin / network / desktop / work should be cut from 4 year degrees / CS and moved into apprenticeship / trade school like setting.

  79. Coder by chrismcb · · Score: 2

    I'm a coder, I write code. Or call me a programmer, a developer, or software engineer (just don't call me Shirley)
    They all mean the same thing. And no there is no "a programmer bangs out code, and a software engineer "designs" it first. They both do the same thing. A programmer writes code, which involves "engineering" it first. A software engineer also writes code, which involves "engineering" it first. There is no distinction, although some people like to think there is.
    But really does it matter? If my boss wants to call me "master of the universe" then great, I still write code.
    What it comes down to, when people ask what I do, I say "I am a programmer" or "I am a computer programmer." Pretty much everyone knows what that means. If I said 'I'm a developer' people thing I own land, and develop it. If I said "software engineer" people would think I drive trains or build bridges.
    You write code, stop being so stuck up!

    1. Re:Coder by graffic · · Score: 1

      Of course a programmer writes code, but if you only do that, there is no engineering linked to that process.

      As humans we usually agree on what a word means in order to be able to understand each other.

      Are mechanical engineers "line painters"?: "Oh! you are 'all' day drawing lines in your screen" I know some 2 year degrees (if you can call that a degree) that focus only in understanding engineering specifications and drawing things in Autocad. You can call them programmers. They just draw/write lines/code.

      But in the other hand, if the line of code is the result of something else you do in your work. As you said "involves engineering", then you're an engineer. Why hide it?

      Usually programs are software, therefore Software Engineer.

      It is not important if you got your knowledge in the university or by yourself or.... The point here is the work you, want to do, and how to name it.

    2. Re:Coder by Anonymous Coward · · Score: 0

      I say, "I write software."

      Maybe I should start calling myself a "writer".

    3. Re:Coder by Anonymous Coward · · Score: 0

      I am a programmer. My title is Sr Software Engineer. When I was in college there weren't even CS degrees. My degree is in economics (actually "Political Economy"), but they only tolerated me because I could make computers say what they wanted said

  80. You don't need a degree to be a Railroad engineer by Joe_Dragon · · Score: 1

    You don't need a degree to be a Railroad engineer

    But you need to pass a test / get certified and re-certified every 2–3 years

    and the career progression is one that starts as an assistant (brakeman), conductor and finally, engineer.

  81. Same thing by JimboFBX · · Score: 1

    They are the same thing. Lot of job titles are software development engineer so that they get applicants who call themselves one or the other.

    Better question is what constitutes a senior engineer...

  82. Titles only matter if you work for a large company by Anonymous Coward · · Score: 0

    Thats right bitches... if you work for a little shit company (LSC) your title is worthless.

    Unless your sittin pretty in a large (well known) organization you should expect a future employer to ignore your previous title outright.

  83. Why limit it to those? by Tablizer · · Score: 1

    "Software Design God" is my preferred title.

  84. Re:Computer Science is not an Engineering Discipli by Anonymous Coward · · Score: 0

    In order for Software Engineering to be a recognized Engineering Discipline via ABET one would expect them to take Thermodynamics/Thermodynamic Systems, Dynamic Systems, Materials Science Engineering, Finite Element Analysis and more where one applies the various electives to writing Software applications to apply said disciplines--the exact reality all Engineering disciplines due for zero credit or recognition.

    There are Computer Engineering programs recognized as Engineering Discipline via ABET and their Engineering Accreditation Commission, which is different than programs accredited by ABET's Computing Accreditation Commission. These Computer Engineering programs can qualify for an EIT exam, but in practice, it's not done very often.

  85. Re:well IT sysadmin / network / desktop / work cut by Anonymous Coward · · Score: 0

    The big secret to computer science is that the degree doesn't help you get any experience for APPLIED computer science, so your proposition is invalid. Despite what I would have wished, two of your 3 sections were covered in my program at all. The network class was a single, very academic course. There's no fat to cut out of CS and into any apprenticeship. We actually need more of these put INTO cs programs or labeled properly into their own field. Actually, I think "CIS" programs have been doing that, but they're only available in some colleges without any explanation to parents and college-aged but experience-less teens of what the difference is. I was confused when looking at program descriptions in my own days and even leaned toward Applied Math rather than CS.

    Much the same way as the Operating Systems course barely touches batch files, spyware or system building, there is no actual tech-training in any course I've looked. So you mostly get programs designed to get you a certificate like A+, to work on something that you STILL have no formal way to work your way into. The hands-on CISCO training programs you see allow you to take the test, but unlike a real doctor's education, there is nothing to give you the boost needed to be considered a real worker.

    CIS was almost nowhere to be seen in private college programs, so I didn't know CS was the wrong field for what I wanted. I unknowingly guessed the right step was to work for the IT helpdesk in my obligatory financial aid self-maintenance portion. There, I honed my desktop skills and got some light network knowledge from people who actually had home switches, routers and linux. Not sure where one would place the line between desktop tech and sysadmin, but I doubt an apprenticeship will yield more than a front-end position to someone who is just stating out.

    Given that IT sysadmin is a self-taught field, social media can save a lot of time through videos, howtos test-prep and even interview questions. The Times said my graduating year had only 20% of people in IT with a degree backing it up. I wonder how numbers have changed ten years later.

  86. Simple by Anonymous Coward · · Score: 0

    The way I look at it is:

    Software Engineer: uses frameworks to analyse the problem, Designs the spec/requirements, writes the software.

    Developer: takes the spec/reqs and builds the software.

  87. Re:well IT sysadmin / network / desktop / work cut by Anonymous Coward · · Score: 0

    Where I went to college it basically was. We called it Management Information Systems and it was a separate degree in the School of Business.

    We also had Computer Science which was much more theoretical and focused on natural sciences as well.

    Computer Engineering was far more technical and focused on hardware, and was basically Electrical Engineering with programming.

    Software Engineering was also a separate degree and was a compromise between the CS and CE programs.

  88. It is not developer. by 140Mandak262Jamuna · · Score: 1

    Nah, not developer. Not even software developer. Not senior software developer either. Not even lead software developer. Principal Software Developer? nah sounds too much like some boarding school in UK. What about Senior Lead Principal Software Yahoo. Nah, it is going bankrupt. What about Senior Lead Principal Chief Software Architect? May bet. This is what I am going to call myself. Please dont tell HR.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  89. Calling the Emperor of Slashdot by Compaqt · · Score: 1

    > I could call an employee "King of England" if I wanted to.

    This is your cue to comment.

    --
    I'm not a lawyer, but I play one on the Internet. Blog
  90. Engineer plus CS is a software engineer by Anonymous Coward · · Score: 0

    When a non-IT person asks me what I do, I say I'm a programmer.

    When someone in electronics or computers asks, I say I'm a software engineer. All my titles in jobs have been "software engineer". Which I think is fine, because I have degrees in computer science, and electronic engineering. So, I'm an engineer who does software. Software engineer.

  91. Irony by Anonymous Coward · · Score: 0

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

    You are correct except for the first word... a forum of MEN going on and on about their job titles -- not a first on Slashdot. Oh, the irony.
    These forums are a boon for psychologists, but sometimes I get some great humor thrown at me, too.

  92. I am a bit shepherd by Phunction · · Score: 1

    I like to guide my flocks of 1's and 0's around, hoping I don't loose some in the process.

    --
    Sig?
  93. "Engineering" Is Misaligned... by taoboy · · Score: 1

    As a coder who has largely done what I'll call "engineering", I think the word is misaligned in all its disciplines. Real "engineering" occurs (or should be occurring) in endeavors that require the efforts of multiple people to build things that no single person alone could practically build (yeah, don't engage me on where to draw THAT line...). Real engineers, IMHO, spend their best time making Effective Communication between practitioners in all the disciplines in order to build big stuff with "quality" and "reliability" (yeah, don't engage me on how to define THOSE words...)

    So there.

  94. look for the best match by mt1955 · · Score: 1

    Look online at the software engineer and developer job descriptions posted by respected companies.

    Then pick the title where most of the descriptions generally match up well with what you are good at doing.

    +1 if you make an algorithm that does the match ranking for you automatically and can demonstrate it during the interview.

  95. Re:Computer Science is not an Engineering Discipli by Anonymous Coward · · Score: 0

    While I agree with the premise that those without engineering degrees should not call themselves engineers, you should probably be aware that Software Engineering is a legitimate engineering discipline. It is a relatively newly discipline, but very much a legitimate engineering discipline recognized by the IEEE.

    My first two years were general engineering studies (I did take a number of basic mechanical and electrical engineering courses that are the foundation for all engineering degrees). I recently graduated with e Bachelor degree in software engineering, was presented with an iron ring by my camp and am currently designated as an EIT.

    My current job title title does not contain "engineer" if that contributes anything to the discussion.

  96. Re:My title is... Owner by Clubbah · · Score: 1

    I'm a year shy of old school (39) and always wondered where all the Engineer, Architect and Developer titles came from. I started as a hobby in the 80s and it was "coder" or "programmer." You were either a new one, a decent one, a good one or a great one, depending on how much of the lifecycle you could handle, and if you could work through the tough algorithms and so on.

    I guess it was for business people to be able to categorize the skill of employees they knew absolutely nothing about. Since "coder" and "programmer" really didn't indicate any sort of skill level other than professional and amateur, fresh programmers latched on to the titles to nurture their egos.

    Professional programmers noticed the noobs were calling themselves software engineers and whatnot and noticed that these new titles sounded more experienced than their simple "programmer," so they latched onto the naming convention.

    I just made all that stuff up. Am I an opinion engineer or opinion developer?

  97. Or do you do the exact same thing as one? by bigsexyjoe · · Score: 1

    If that is not your degree, but your responsibilities are the same as one with that degree, aren't you still an engineer? And what if you have a degree in Computer engineering? What if you have a Ph.D. in computer science and an undergraduate education in software engineering was covered in pursuit of your degree?

  98. There's a world of difference. by Hognoxious · · Score: 1

    One is a geek, the other is a nerd.

    They're all dorks. Either can be dweebs.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  99. Simple by Anonymous Coward · · Score: 0

    No Degree = Software Developer
    Degree = Software Engineer

    Not really complicated.

  100. Re:WTF is a "digital strategy agency"? by sco08y · · Score: 1

    From TFA in big fucking letters:

    Metal Toad Media is a digital strategy agency.

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

    Consultants who are paid to write bullshit by the word.

  101. Re:Computer Science is not an Engineering Discipli by Anonymous Coward · · Score: 0

    I think I speak for the entire field when I say that the software engineers you're putting down have accomplished phenomenal advances for the science as a whole, who cares what you think their title should be. You just want everyone licensed so you can limit the number of engineers and increase overall pay, you're one of *those* people and you make me sick. And, guess what it wouldn't work anyways because h1b's would just come into the country, lie, and get away with saying they were licensed in their country and take your job. The companies don't care as long as they get cheaper employees, even if it makes their products late or poor workmanship. So much for your weird engineer caste system then to elevate your silly salary, and good luck getting your product to ship with a bunch of academics who don't know how to make a real product to save their lives. Software isn't the same as the mechanical/electrical fields, and it never should be. They may overlap, and when they do, the software engineers you don't respect for not being "real" engineers have been hitting home runs that make your "licensed" work ship on time and of the highest quality. You sir, are a fool.

  102. The work is more important by Anonymous Coward · · Score: 0

    Having made a living writing software since 1985 (holy crap, batman, I'm old), I seen and held a variety of titles. None of these titles are standardized in any way. Anyone who is concerned about the titles you have held (unless they include the term "manager"), probably needs to clue in.

    What really matters is the actual work that you do. Managers who have been in the industry long enough to know the industry will be more concerned with the work you've done than the titles you've held.

  103. Re:Computer Science is not an Engineering Discipli by Anonymous Coward · · Score: 0

    Funny you should mention ABET, because in order to get an ABET accredited degree in Computer Science, like the one I hold, you have to take all of the same sciences and all but 3 hours of the same math (we didn't have to take Differential Equations, but Physics E&M gave us a crash course in it and that was a required class) as all other engineering degrees are required to take. In fact, we had to take all the lower level computer engineering courses such as digital logic, computer organizations, etc. as part of our standard curriculum.

  104. Re:well IT sysadmin / network / desktop / work cut by starfishsystems · · Score: 1

    That makes no sense. First of all, IT is simply not "paint by numbers", except at the most junior level. The surface of what IT undertakes to do is constantly expanding. Anyone with intermediate to senior responsibility in the field has to master a very broad corpus of knowledge concerning the performance, scalability, integration, fault-tolerance, security, and usability of hundreds of different subsystems interacting in complex ways.

    This has to be done not only within the limitations of today's technology but in anticipation of what is likely to emerge in future. IT is therefore very much an applied science, just as software development is. The published literature in both fields makes this clear. You have to recognize what's possible, what's optimal, and what's elegant, because nobody will be telling you the right answers. You and your professional peers will be proposing solutions to the problems of the day, and finding ways of measuring them against each other. Only at the end of that process will you know the right answer. (This is called science, by the way.)

    Some few of those solutions become standard practice that can be reduced to "paint by numbers" and taught at the trade school level. But one of the things that makes these fields so active is that, once such solutions are established, they tend to become automated and invisible. Attention shifts to a new set of challenges made possible by the preceding technology. So trade schools are fine as far as they go, but the knowledge they offer to someone working with computing and network infrastructure has a rather short shelf life. If you want enduring payback for your studies, you have to learn the science.

    --
    Parity: What to do when the weekend comes.
  105. Re:the worst that can happen by presidenteloco · · Score: 1

    "Unlike software, where usually the worst that happens is buggy software that needs fixing, faulty infrastructure can cost lives inmediately"

    Are you out of your mind? Most machines and buildings made today are controlled substantially by software. Your car, your office building's CO2-sensor-based HVAC system, your hospital patient-monitoring and dosing equipment, your airplane, your traffic lights.... need I go on?

    --

    Where are we going and why are we in a handbasket?
  106. "engineering" implies personal responsibility by Chirs · · Score: 1

    It's more than just fees. Traditionaly being a Professional Engineer (and calling yourself an "Engineer") meant that you actually personally signed off on projects as being able to meet the stated goals. (Bridges, buildings, reactors, power stations, etc.)

    Unless a "Software Engineer" is personally signing off on a software design and taking actual responsibility for bugs, I don't think they should be using the term "Engineer".

    Incidentally I have degrees in Computer Science and Engineering Physics. I do software development for telecoms stuff, but I definitely wouldn't call what I do "Engineering".

    1. Re:"engineering" implies personal responsibility by thetoadwarrior · · Score: 1

      Removing the engineering titles from software would be fine. I can understand that. I think part of the problem anyway is that software engineering doesn't tie up with more traditional engineering so that probably does mean it's not engineering. But if we keep it, i don't think it needs to be control by some association because it doesn't really make sense and again maybe that's because we should just do away with the title engineering for development.

    2. Re:"engineering" implies personal responsibility by Anonymous Coward · · Score: 0

      That's only a part of what a PE is. To become a PE you have to take an entrance exam and you have to get letters of recommendation from some number of current PEs. You also have to attend an accredited school and take the appropriate coursework.

      It may be different in your jurisdiction (I know for example that it is much more strict in Canada) but where I live anyone can have a job title with 'Engineer' in it so long as they do not advertise themselves as providing the services of an engineer or being a PE (unless they actually are one). People hand out business cards all the time saying 'Sales Engineer' or 'Field Engineer' and there is no problem with it.

      Anyway, the problem I have with this debate is that there is a generic definition of what engineering and an engineer is but there is a group of people (mainly PEs) who want to rewrite this definition and force them to be the gatekeepers of who is/isn't one.

    3. Re:"engineering" implies personal responsibility by xero314 · · Score: 1

      I think part of the problem anyway is that software engineering doesn't tie up with more traditional engineering so that probably does mean it's not engineering.

      "Software Engineering" does "tie up" with traditional engineering. The problem is that many people use the title "Software Engineer" with out actually practicing engineering, and should be carrying the title Developer or Programmer. Developers are the plumbers and electricians of software. Some would say that Developers do the real work. But that does not mean that quality software does not include Engineering. Software Engineering, such as that discussed by Frederick Brooks and David Parnas, and utilized at IBM and Xerox, is a far cry from the Software Development done in most start ups today.

      Yes, I consider myself a Software Engineer. I take Engineering Ethincs seriously and apply Engineering Principles in my designs.

  107. I prefer software gardener by Anonymous Coward · · Score: 0

    I don't think that any of the titles that are often used to to describe our profession (building software, working or otherwise) really capture the correct metaphor.

    Developer or programmer imply just that; we do little except for banging out foreheads into the keyboard. This would be akin to construction workers. It implies than without somebody smart to tell us how to lay out the entire system we'd do it wrong.

    Software engineer implies that software development is an engineering process. Before everybody jumps on me, some software does need to be built to rigorous engineering standards. Life critical systems are definitely a great example of this. Most though, tends to take on a more organic growth than engineering would allow for. While it is possible to design an entire system up front, the uncertainty in the eco-system, be it technological or business requirements, mean that a large up front design tends to be a waste of time.

    And let's not even bother talking about (system|software) architects. That's a metaphor that is wrong in almost every possible way. See software engineering for further argument. If your only skill is drawing boxes and arrows or waving your hands you have no place in the software development process.

    So where does that leave us? It leave us looking for the proper metaphor to describe the role we play. Every trivial system that is built works quite well regardless of the amount of hackary that runs the system. In fact, one might argue that a 'good' programmer will be incapable of making a simple system because they will over complicate it. This is similar to the little planter I have hanging outside my flat. Tough to screw up, but it has almost died a few times.

    When you step up the complexity from a simple planter to a real garden the complexity increases. The growth must be managed, the weeds pulled out, the garden must be laid out, harvesting must be timed. These complexities are where a trully skilled gardener makes their mark. As the garden grows, a skilled gardener will keep everything in check and allow the garden to continue to grow unbounded. A bad gardener will leave an unholy mess and waste everybody's time.

    I am a software gardener.

  108. Re:My title is... Owner by Anonymous Coward · · Score: 0

    For what it's worth, I call myself a "programmer" and I'm only 22. Anything else just sounds pretentious to me.

    (I'd prefer "hacker", but that doesn't go down well with the general public)

  109. Re:Computer Science is not an Engineering Discipli by Anonymous Coward · · Score: 0

    I have a Computer Engineering degree from an ABET-accredited school in an ABET-accredited program. My curriculum was far more software-oriented than hardware-oriented. I work at a very large semiconductor company and my title is Engineer, just as it would be if I designed circuits (which by the way, in practice doesn't have much to do with physics, either for most of them). The people we hire to write software almost always have a EE, CE, or CS degree. By the way, ABET accredits each one of those degree programs. Texas does have a PE program for software, though you still have to pass the not-germane-at all FE test.

    We build stuff on a very large scale. I write software to systems that I won't see for years to test, and through what is probably closest to an engineering process than any other, thousands of people's work converges to something that gets to our customers quickly, only with the help of carefully planned automation in testing, compliance, and build automation.

    You can't tell me that the IPhone isn't a feat of engineering, and one that's moreso based on its software than its hardware. You can't tell me that solving problems in statics or fluid dynamics in order to make something useful is radically different than the problems Google solves to execute searches on such an enormous scale.

    I call myself an engineer because ABET says I am. Because top-rated engineering schools say I am. Because the industry says I am. Because the products I contribute to say I am. Your dissent is duly noted.

  110. Re:Computer Science is not an Engineering Discipli by Anonymous Coward · · Score: 0

    I have a Computer Science & Engineering degree that is accredited by ABET; I haven't looked into the requirements, but if I could fit my work experience into the required (working under a Principal Engineer) I am eligible to sit for the Professional Engineer Exam.

    Granted there are three "Computer Science" degrees where I went. The easiest was through business which is more an MIS degree. The middle hard one was through the Arts & Sciences College and was more your traditional Computer Science degree. Finally, you have the engineering one where by my sophomore year I had more than enough credits to graduate for most majors but hadn't taken all the required classes. By the time I graduated I was a class or two shy of a masters and could easily have earned two or three bachelors in other disciplines.

    I have worked under a Systems Specialist, Systems Developer/Engineer, and now Senior Systems Manager job titles, so yes I feel I have earned the right to say I practice Software Engineering if I choose.

  111. I have no idea by hpj · · Score: 1

    I've worked professionally as a developer/software engineer/product architect/technical prime my entire professional career and I have no idea what the difference is supposed to be. The work has been more or less the same regardless of what the title is.

    The one to be careful about is manager because that will usually involve having to babysit other people and if that's not your thing you'd do best to avoid it.

  112. Enginner or Engineering by Anonymous Coward · · Score: 0

    Very good material before my post.

    What is to design software and what is to develop it?

    I could say that some people create the concept, the blueprints, define the specifications and coordinate how the work must be done, calculating if the resulting product would be able to support one user or one million users concurrently. This is engineering work in any part of the world, the same range of work as the civil engineers do when they design bridges. Others, develop the stuff to accomplish the designated purpose.

    My experience says that the big problem is that employers don't understand this difference and they hire engineers to perform development work, or developers to define how the products must behave. What this produce is a lot of over-stressed people trying to go out of the big mesh.

    On the other side, people accumulates experience and knowledge, and the particular characteristic of the software being an immaterial product, permits that a person with very high talent and knowledge be able to craft a piece of art without carrying out many formal stages. But this is a very strange exception, and when the software doesn't pass some type of engineering phase, the result is usually a disaster.

    What I am? ... some times an engineer, some times a developer. My degrees? ... mm, let me see ... Bachelor in Computing Science, MSc ... oh, I am not an engineer on paper, what a surprise :-D ... although I had been in charge of many formal engineers on my working life. On paper I could say that I am a Scientist on Computing Knowledge that performs some times engineering tasks, consulting and others make source code.

  113. No, say it like this by Anonymous Coward · · Score: 0

    10 PRINT "Programmer"
    20 GOTO 10

    1. Re:No, say it like this by Anonymous Coward · · Score: 0

      Shouldn't that be:

      10 PRINT "Paula = Brillant"
      20 GOTO 10

  114. Re:You don't need a degree to be a Railroad engine by tyrione · · Score: 1

    You don't need a degree to be a Railroad engineer

    But you need to pass a test / get certified and re-certified every 2–3 years

    and the career progression is one that starts as an assistant (brakeman), conductor and finally, engineer.

    Railroad Engineer is a Conductor, not an Engineer.

  115. Some very interesting comments here... by Anonymous Coward · · Score: 0

    ... but I don't think the title actually influences the work you do. What it may do is influence what work you get.

    Personally, I insist on "engineer" because - to my ears - it implies an amount of verifiability (of the output against specifications, however implicit they might have been) that "developer" does not. According to the job interviews I've been in and led over the years, that seems to be roughly the expectations of most other people, too. [Not everyone, though: I've had one person explain that "engineer" sounds more like "code monkey" to him, whereas a "developer" sounds like someone who can basically do everything to get from zero to a finished product, including UX design, etc.]

    I think my thinking stems from the assumption that code shouldn't just "develop" organically. You should have some (implicit or explicit) specs, then deliberately write your code to meet or exceed those specs, then test your code to verify that it meets the specs - that is, you should engineer code. [Note that this does not preclude iterating until you reach a desired result - it just requires planning and forethought for each iteration, whereas some adherents of iterative processes seem to want to do away with that altogether.]

    All in all, though, titles in software aren't something I pay a lot of attention to.

  116. Make up your own title... by VAXcat · · Score: 1

    I always assign myself my own title and enter in the company's Exchange Global Address list, the place this outfit stores titles for people. I make it "System Programmer", my favorite old school IT title, or if I'm feeling expansive, "Master of the Devices" or "Final Interpreter of the Dogma".

    --
    There is no God, and Dirac is his prophet.
  117. As far as I'm concerned, they're the same title by neminem · · Score: 1

    When various forms ask me for a job title, I pick completely randomly between "programmer", "software developer" and "software engineer", because they're all the same thing and I can't remember which one is the official name for the position. (I just checked, it's "software engineer". Now I'm going to forget again.)

    Well, and sometimes to people who know what it means, I say "codemonkey", which to me is a slang but not at all derogatory term that means the same as the above three, except explicitly not being responsible for the actual design of any large systems, which is fine, as I don't really want to be responsible for the design of any large systems (smaller subsystems, though, sure. Everyone does that.) That is clearly not going on any official titles, though.

    Anyway, Betteridge's, etc.

  118. Expectations Satisfied by TheSpoom · · Score: 1

    I came into this thinking "Uh oh, an article about job titles, HERE COME THE SNOBBY ENGINEERS!" and I was not disappointed.

    --
    It's better to vote for what you want and not get it than to vote for what you don't want and get it.
    - E. Debs
  119. Re:My title is... Owner by xero314 · · Score: 1

    Just a note, but Software Engineering has been around since the late '50s so unless you at or nearly 70 years old then there is little chance you were programing before the term existed, and certainly not professionally. Of course in the '60s and '70s professional software development more closely represented engineering than the cowboy coding hack jobs of today. Software Engineering still happens today, though not usually at the ever growing number of start ups, and even rarely in your average business application.

  120. HR... by Anonymous Coward · · Score: 0

    Human Resources (HR) generally defines your title in companies larger than a couple of people. This means they try to align the job name with the function based upon standards for this.

    In the course of creating programs, I've been called Systems Developer, Software Engineer, Systems Integrator, Professional Systems Analyst to name a few. It seems to change every few years - dependent upon reorganizations for the most part.

  121. Software Engineer by TheSkepticalOptimist · · Score: 1

    Is just a slightly more arrogant software developer.

    --
    I haven't thought of anything clever to put here, but then again most of you haven't either.