PDA

View Full Version : Software Engineer vs Programmer




MacRumoron
May 12, 2006, 08:40 PM
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
May 12, 2006, 08:53 PM
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
May 12, 2006, 09:10 PM
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
May 12, 2006, 09:21 PM
Very good points, gekko513! I completely concur with your comments and the analogy. MacRumoron: what caused you to ask? Just curious.

jeremy.king
May 13, 2006, 09:35 AM
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
May 13, 2006, 10:18 AM
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

DavidLeblond
May 13, 2006, 10:35 AM
"Software engineer" sounds sexier. There is also "technologist" which, IMHO, sounds lame.

sushi
May 13, 2006, 11:11 AM
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
May 13, 2006, 01:11 PM
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
May 13, 2006, 01:50 PM
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
May 13, 2006, 08:58 PM
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
May 14, 2006, 07:55 AM
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.

hcuar
May 14, 2006, 09:12 AM
About $25,000 per year. :D

AlmostThere
May 14, 2006, 11:13 AM
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
May 14, 2006, 12:46 PM
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
May 14, 2006, 01:33 PM
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
May 14, 2006, 03:33 PM
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.