Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MacRumoron

macrumors 6502
Original poster
Sep 6, 2005
324
0
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)
 

jsw

Moderator emeritus
Mar 16, 2004
22,910
44
Andover, MA
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.
 

gekko513

macrumors 603
Oct 16, 2003
6,301
1
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
 

jsw

Moderator emeritus
Mar 16, 2004
22,910
44
Andover, MA
Very good points, gekko513! I completely concur with your comments and the analogy. MacRumoron: what caused you to ask? Just curious.
 

jeremy.king

macrumors 603
Jul 23, 2002
5,479
1
Holly Springs, NC
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...
 

dukebound85

macrumors Core
Jul 17, 2005
19,160
4,152
5045 feet above sea level
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
 

sushi

Moderator emeritus
Jul 19, 2002
15,639
3
キャンプスワ&#
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. ;)
 

PatrickF

macrumors 6502
Feb 16, 2006
335
0
Blighty
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!
 

MacRumoron

macrumors 6502
Original poster
Sep 6, 2005
324
0
jsw said:
Very good points, gekko513! I completely concur with your comments and the analogy. MacRumoron: what caused you to ask? Just curious.

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
 

sushi

Moderator emeritus
Jul 19, 2002
15,639
3
キャンプスワ&#
MacRumoron said:
well I am majoring in computer science and will either be a computer engineer or software engineer.
Cool.

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.
 

ewinemiller

macrumors 6502
Aug 29, 2001
445
0
west of Philly
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.
 
ewinemiller said:
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.

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.
 

superbovine

macrumors 68030
Nov 7, 2003
2,872
0
AlmostThere said:
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.

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.
 

gnasher729

Suspended
Nov 25, 2005
17,980
5,566
MacRumoron said:
What is the difference between a software engineer and a programmer?

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

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.
 

superbovine

macrumors 68030
Nov 7, 2003
2,872
0
gnasher729 said:
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.

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.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.