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

209 of 333 comments (clear)

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

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

    16. 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.
    17. 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.
    18. 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.
    19. 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/

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

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

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

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

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

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

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

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

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

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

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

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

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

    33. 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
    34. 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?

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

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

    37. 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?
    38. 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?
    39. 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?
    40. 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)

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

    42. 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.
    43. 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
    44. 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.
    45. 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.

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

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

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

    49. 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.) ^_^ )

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

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

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

    53. 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.
    54. 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
    55. 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. 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 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.

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

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

    5. 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.'"
    6. 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.

    7. 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
    8. Re:Programmer vs. Software Engineer by Luna+Argenteus · · Score: 1

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

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

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

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

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

    12. 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.
  3. What about programmer? by Anonymous Coward · · Score: 5, Insightful

    I like to just say programmer.

    Programmer.

    Programmer.

    Programmer.

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

    2. 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."
    3. 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
    4. 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.
  4. 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.

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

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

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

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

  10. 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 Qu4Z · · Score: 1

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

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

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

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

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

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

      Agree :)

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

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

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

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

    8. 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?
    9. 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.
  14. 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
  15. 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
  16. 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 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.

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

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

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

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

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

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

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

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

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

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

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

  26. 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
  27. 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.
  28. 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!!!
  29. 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...
  30. 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.
  31. 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.

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

  33. 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 morkk · · Score: 1

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

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

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

  35. 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
  36. 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 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
    2. 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.

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

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

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

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

  40. 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
  41. 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!
  42. Since we can choose our own title... by tommeke100 · · Score: 1

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

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

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

  45. 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
  46. 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.
  47. 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.

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

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

    ...is Rock Star

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

    is what I went with. Has a nice TLA.

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

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

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

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

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

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

    "Software Design God" is my preferred title.

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

  58. 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
  59. 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
  60. 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?
  61. "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.

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

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

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

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

  67. 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.
  68. 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?
  69. "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 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.

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

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

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

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

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