Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

marked as duplicate by Jim G., GlenH7, Walter, gnat, Glenn Nelson Jan 18 '13 at 13:14

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
The question asked in the title is a duplicate. The OP should change the title to what's stated in body. Example: What's the difference between Programmer and Developer? –  spong Sep 13 '10 at 19:52
1  
Updated the question to cover new ground. –  user8 Sep 13 '10 at 19:58
    
@sunpech the OP of the related question sniped it from the Area51 proposal –  Conrad Frix Oct 29 '10 at 19:52
    
What about coder? What is difference between a programmer and coder? –  Starx Dec 7 '10 at 10:49
    
programmers.stackexchange.com/questions/36340/what-is-your-definition-of-a-progr‌​ammer –  Amir Rezaei Feb 4 '11 at 5:04

12 Answers 12

There are already a bunch of answers, but I still wanted to add my own perspective.

Basically, the way I see it is that someone who programs is a programmer and someone who develops is a developer. (Pretty lame I know)

So you are a programmer if you write code and you are a developer if you are involved in more aspects of the creation of the software in question. "That's what ChrisF said!" you say. Well I would like to add that usually a developer is also a programmer. You might even say that 'developers' is a superset of 'programmers', but there is probably someone who can find some counter example for that.

And, as mentioned in the other answers, the usage of those term depends heavily on the person using it.

share|improve this answer

In my experience "programmer" is pretty much out-of-date. Nowadays everyone is a Developer. I've found that the title doesn't matter much - you're still expected to be analyst, programmer, DBA, project manager, janitor, chief cook and bottle washer, and stable hand.

I still put "Programmer" on my 1040 every year. I've never been much for style... :-)

Share and enjoy.

share|improve this answer

The short answer is that there is very little difference (perceived or actual) between these two general labels amongst those of us who make our living in this domain. However, as many folks have already said, some individuals or organizations apply very specific definitions to these general nouns...and that can sometimes cause a perceived or actual difference, especially to non-technical types.

Basically, if these two terms mean something dramatically different to you, then you either a) have been in a context where different specific definitions were applied to those labels or b) you get your technological savvy from reading InfoWeek (no offense intended to the lovely people at InfoWeek) and the occasional Dilbert.

I also personally tend to think that the term "programmer" was used earlier in history than the term "developer". For example, you always hear about "COBOL Programmers"...never "COBOL Developers". The term "developer" wasn't in wide use way back in the day. If you go look at job titles at technology organizations that were around in the beginning of computing (NASA, IBM, Unisys, Boeing) you either had "programmers" or "software engineers"...never "developers". And I bet if you troll said companies' sites right now you'd see very similarly titled results in their job opportunities.

share|improve this answer

Nowadays, developer sounds more sex appealing than programmer - developers make those cool shiny apps for iPhone, programmers make accounting software. ;)

share|improve this answer
1  
Programmers also making OS kernels, antivirus, etc... –  Calmarius Apr 4 '12 at 10:54

I don't know of any real difference in meaning. Mostly the job designation varies across software shops. I've seen people who basically do the same things being called "programmer","developer","IT engineer", etc. A lot of people use these and other similar terms interchangeably.

Another thing that I notice, which is perhaps a local phenomenon and might not apply where you live, is that some people try to avoid associating themselves from the term "programmer" or "coder". Sometimes it is because they perceive that actually writing the code is like manual labour, while calling themselves a "developer" or something else gives them a more white-collar feel. Sometimes its just because people actually do not know how to code very well - and they would get embarrassed if someone starts a conversation about programming, and prefer to avoid introducing themselves as a "programmer" for that reason. Almost always it is a mixture of both cases.

share|improve this answer

I think it's more a question of fashion. At the moment the "cooler" term tends to be more "developer".

Anyway, I prefer more the term "developer" as I think it implies that the work can be programming, but also other things, like integrate and configure an existing tool in your system. Or take some responsibilities on the management of the project. Or even making some UI design... But that's just how I understand the word, not necessarily that someone defining himself as programmer it's not doing that kind of things...

share|improve this answer

As Kenny Tilton says:

I actually had a business card that just said "Programmer". Got everyone quite upset, they wanted "Systems Analyst" or "Software Engineer" or "Database Administrator" or something. My point was that one cannot program a computer effectively without doing all those things, so "Programmer" was sufficient.

But what's much more important is not what you think the word means, but what others think the word means. If the HR monkey looking at your CV isn't Ken Tilton, chances are they think programmer == code monkey == glorified typist. I mean, where's "Architect" in the job title?!

share|improve this answer
    
Oh, the reactions to exploded business jargon! –  Mark C Nov 23 '10 at 5:32

Its again a question of context. Two guys ove beers, one says he's a developer, and one says he's a programmer... there is no meaningful difference. But its certainly possible that companies may have positions with those titles that have some specific meaning to them.

share|improve this answer

I've generally considered "programming" to be the act of writing code. A "programmer" would spend most or all off his/her time in front of a screen coding.

On the other hand, a developer is anyone involved in the development of software- they develop it from idea to product. A developer would, by this definition, be anyone from a code monkey to a tester to a PM. As such, 'programmers' are a subset of "developers".

This is just the general connotations I have in my mind, not a technical definition, of course.

share|improve this answer

While the terms can be and often are interchangeable, I view a developer as someone who's involved in the whole process from requirements gathering, through specification and coding to testing and, yes, support. They might not be fully involved in all stages all of the time.

A programmer is someone who just concentrates on the coding and has little involvement in the rest of the process. This may be their choice of course.

As @sunpech points out in his comment most people writing software these days are (or should be) developers. You have to know much more than just how to code to write good software.

share|improve this answer
4  
+1 Agreed. The term "programmers" seems so 90s. In today's world, they need more than just someone who can write programs, but someone who can understand the business, gather requirements, support, etc. The programmer job title has evolved to developer. –  spong Sep 13 '10 at 20:07
    
If the programmer is only coding, wouldn't "coder" be a better title for that role? That's how I see it anyway, and use developer/programmer interchangeably. –  Martin Wickman Sep 23 '11 at 20:49
    
@sunpech Business understanding, requirements gathering, support provision were needed in the 90s too! I strongly suspect also in the 70s, and probably the 50s... –  MarkJ Jul 2 '12 at 11:38

It depends who I'm taking to I guess. If I'm talking to average Joe, I just say I'm a programmer because they generally have a clearer picture than "developer".

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.