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

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

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

      Even if you have the hat?

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

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

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

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

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

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

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

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

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

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

  5. Programmer, Motherfucker! by mhh91 · · Score: 5, Funny
  6. 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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