1. Welcome to the new MacRumors forums. See our announcement and read our FAQ

Software Engineer vs Programmer

Discussion in 'Mac Programming' started by MacRumoron, May 12, 2006.

  1. macrumors 6502

    What is the difference between a software engineer and a programmer?

    Don't they both just create programs..? :confused: :eek: :)

    (i'm not sure if this is in the right section)
  2. jsw
    Moderator emeritus


    It depends on who you ask, but typically a "programmer" does more discrete, well-defined tasks, or perhaps smaller scale ones, whereas a "software engineer" tends to do more upfront design work - the "engineering" part.

    But there's no set definition. I consider myself to be both - an engineer during design, a programmer during development.
  3. macrumors 603


    I agree with jsw, and I would like to add that in my opinion the programmer title is something most people can call themselves with a bit of training (could be self taught), but the title software engineer requires some formal training in software design (usually college) or several years of experience.

    Software development is complicated business. There are different roles just as there is in construction work.

    Architect, Engineer, Construction Worker
    Software Architect, Software Engineer, Programmer
  4. jsw
    Moderator emeritus


    Very good points, gekko513! I completely concur with your comments and the analogy. MacRumoron: what caused you to ask? Just curious.
  5. macrumors 603


    Potayto, Potahto

    Frankly, I don't know that there is a difference. In my experience, companies with a manufacturing background tend to throw the title Engineer around while more tech based companies tend to use Programmer or Systems Analyst. In fact, if you are looking on job boards and you see these titles, its probaly 90% possible that the person who listed the opening hasn't a clue what the difference might be...
  6. macrumors P6


    Education. I'm pretty sure you have to get an engineering degree to be called an engineer while anyone who can program can be called a programer. As a result, there's probably a big difference in salaries
  7. macrumors 68020


    "Software engineer" sounds sexier. There is also "technologist" which, IMHO, sounds lame.
  8. Moderator emeritus


    The context of the situation probably dictates the use of the term.

    Personally, when I hear programmer, I tend to think of a self taugh person who may or may not have a degree.

    When I hear the term software engineer, I expect them to have a 4 year engineering degree as a minimum.

    In general terms I would expect a project to be lead by a software engineer and not a programmer.

    Over the years I've had friends who where self taught that programmed for the majors (Adobe, Microsoft, etc.). However, I have never heard of a self taugh computer engineer. But that doesn't mean there isn't any. I just haven't seen them.

    To the OP, curious why you ask?

    Edit: I agree with jsw and gekko513. Should have read the whole thread before responding. ;)
  9. macrumors 6502

    In salary terms I doubt there will be too much difference simply because job titles are used interchangeably.

    Having completed a BSc degree in Software Engineering a couple of years ago it is indeed generally a title you get through education (and a nice piece of paper at the end) whereas anyone can term themselves to be a "programmer".

    A programmer generally is focussed on creating a piece of software given a set of requirements specifications and/or functional specifications.

    The idea of software engineer is to treat software development more like traditional engineering. Basically you produce requirements and design documentation before you do any coding. The degree I did covered everything other computing degrees did as well as more theory based topics.

    When it comes to the real world, however, I've not noticed employers caring that much either way. Since graduating I've not had a job where I was given the job title "Software Engineer", come to think about it I think my current title is Analyst Programmer.

    So in theory there is a big difference between the two, in reality there generally isn't. A "programmer" can well be just as good as a "software engineer" in the eyes of an employer. It does sound much better having Software Engineer on your CV though!
  10. macrumors 6502

    well I am majoring in computer science and will either be a computer engineer or software engineer..

    i knew software engineers wrote programs, but i didn't know what made them different from a programmer or if there was a difference.. ;)

    BTW, thanks for the responses guys :D
  11. Moderator emeritus



    The big question is how you like to deal with bits.

    I was interested in both, so I went the EE(Digital Engineering)/CS route.
  12. macrumors 6502

    In the companies I've been with (4), there is no difference.

    Each of the companies picked one and the scale was based on that. One company was programmer, sr. programmer, etc., another software engineer, sr. software engineer, etc.

    Everybody who programmed, designed, etc. would get lumped into those groups and got the Sr., Staff, Jr., Sr. Staff, Lead, whatever prefix based on experience/skill level.
  13. macrumors 65816


    About $25,000 per year. :D
  14. macrumors 6502a

    I agree with this.

    Until there are national standards and a formal professional body assuring a this standard of work by certified members, titles in the software development field are pretty much meaningless. [AFAIK anyway - there have been one or two somewhat suspect attempts at setting up such a body in the UK, usually entailing some self-titled 'expert' charging a large fee for some arbitrary letters to add to your name].

    The closest thing are the certifications offered by various companies for using their systems, which, in theory, offer some basic assurance of competence.
  15. macrumors 68030


    I forget what body accredits degree programs for software engineering, but there such a body in the US and certifies that degree offered is a certified software engineering program. They are still pretty new. When, I graduated my University was in the process of finishing the program, and the DoD was hiring anyone who completed the accredited degree path. Although, basically a Software Engineering degree is basically a Computer Science degree with some extra specific software engineering electives. Just like an accredited Computer Engineering degree is an Electrical Engineering degree with specific electives you can take.
  16. macrumors G5


    There is no difference whatsoever. "Software Engineer", like "Programmer", is not a protected title. Anyone can call themselves "Software Engineer" or "Programmer" if they wish. This is different from most "engineering" titles, where an "engineer" has studied at a university, has passed tests, and is personally responsible for anything he or she does in their profession.
  17. macrumors 68030


    In the US that is only if they are licensed professional engineers. Non-licensed engineers have to under a licensed engineers who takes responsibility. I know several electrical engineers who do not want to get licensed because they don't want to be liable.

Share This Page