Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

What should I call a person who write software, computer programs ? I know he/she is a software engineer, can I call him/her as "Coder"?

share|improve this question
@hippietrail: Was there any problem with my question? –  Rauf May 27 '11 at 5:19
No it was a good question. I just added some tags I thought were appropriate. –  hippietrail May 27 '11 at 5:56
I can think of a few short words that have been directed at me over the years, but I don't think that's what you mean. –  Satanicpuppy May 27 '11 at 12:14
"Geek" is about as short as you're liable to get. –  mickeyf Feb 1 '12 at 0:21

9 Answers 9

up vote 30 down vote accepted

In increasing order of formality:

  • Coder refers to someone who engages in the act of writing source code, and has a very casual, possibly even negative connotation.

  • Programmer refers to someone who writes software, which has a neutral connotation.

  • Developer or dev refers to someone who develops software, which may or may not involve actually writing it, but probably does.

  • Software engineer and computer scientist are more formal terms for those with degrees or other professional qualifications.

  • SE is a commonly used abbreviation in speech for a software engineer, but CS is only used for computer science itself, not the people who practice it.

share|improve this answer
I never thought of coder as having a negative connotation. "Code monkey", on the other hand, is often used as a derogatory term. –  MAK May 27 '11 at 10:04
...but you would probably not want to use the abbreviation SE on StackExchange sites, because everyone would think you refer to StackExchange... –  awe May 27 '11 at 10:24
so, 'dev' is the shortest word –  Anwar Chandra May 27 '11 at 11:21
"Programmer" sounds quaint to me - not a word we developers would use among ourselves, but one which might have more currency with a non-technical audience, especially when prefixed with computer: "That's right Grandma - I'm a computer programmer..." –  njd May 27 '11 at 12:49
"Computer scientist" is a legitimate term, but not generally used for people who write code for a living. –  jprete May 27 '11 at 13:20

The best single-word answer especially if they're writing the software is programmer. But developer is just as good and blurs the lines beyond programming into things such as beta testing or internationalization.

Multi-word terms sound more formal and are usually more specific. As well as your software engineer there is also computer scientist.

Coder is a word a lot of programmers would use to self-describe but I've learned from this discussion that among some people at least it carries a negative connotation I had never been previously aware of.

share|improve this answer
In my mind, "computer scientist" isn't really akin to "software engineer". A computer scientist would study the science of computation and theoretically might never touch a PC or learn a programming language. –  billynomates May 27 '11 at 13:16
I kind of get annoyed when people use the term "computer scientist" as a synonym for "programmer". Like, I freely describe myself as a programmer or developer, but would never refer to myself as a computer scientist. (he and I posted at the same time) –  jhocking May 27 '11 at 13:19
Indeed they are very different. Personally I don't feel like a scientist or an engineer. Maybe that's why I prefer programmer. Anyway I do feel these are the terms that should be known to a person that would ask such a question since the uninitiated layperson wouldn't know the differences and think of them all as programmers )-: –  hippietrail May 27 '11 at 13:29
I wouldn't say Coder was at all negative, but it only describes one aspect of software engineering. An architect (of buildings) might accurately describe themselves as a draughtsman, but they also use other disciplines when designing a building. –  slim Jan 27 '12 at 10:46

Generally the preferred term would be programmer. Coder has a negative implication: that the person only does unchallenging, trivial work.

By the way, "Engineer" in some places has a legal meaning, that requires some sort of government certification. It depends on the state or the country, but it may be against to law to call yourself an engineer if you don't have such a certification. As far as I know, no such certification process exists anywhere for a "software engineer", nonetheless it would still be illegal to use the word "engineer."

share|improve this answer
I disagree that coder has a negative implication. Most of my programmer friends describe themselves as coders though personally I always say I am a programmer. In the past when it was my job I sometimes called myself a developer but it felt a bit too grandiose. –  hippietrail May 27 '11 at 5:10
@hippietrail I'm sure it depends on the locale and group. Coder is definitely negative among most of the developers/programmers I work and network with. It's used to describe someone who can write basic functions and such but can't work above that level: they just write code –  Matthew Frederick May 27 '11 at 5:17
Yes maybe you should edit your answer to "has a negative implication" to "may have a negative implication". Of my friends who started programming professionally, the one who now earns the most money always refers to himself as coder but I accept from yourself and Jon that some people in some places must use the term negatively. –  hippietrail May 27 '11 at 5:20
I agree with hippietrail, developer is also a good choice. –  Fraser Orr May 27 '11 at 14:00

"Hacker" used to be the preferred term, back before stupid newspaper folks got hold of it and decided to use it exclusively for malicious people who break into networked computers. Evidentally, those were the only kinds of hackers they had any interest in. :-(

We fought this for a while, but it is really tough to win a war of words with people who buy ink by the barrel.

So now, as the other answers indicate, we are sort of casting about for new terms. Where I work, the term "developer" is used. However, if you use that among the general public, people might think you are talking about someone who builds houses for a living. So I generally just say "Software Engineer". If eyes cross, I elaborate this way: "I spend my days telling computers what to do. Then they tell me to F-off, and I spend the rest of the day trying to figure out why."

share|improve this answer
There's a silver lining to people misunderstanding the term "hacker". Now it makes a useful shibboleth. –  jhocking May 27 '11 at 13:22
+1 just for this: "...it is really tough to win a war of words with people who buy ink by the barrel." –  mwolfe02 May 27 '11 at 15:02
@mwolfe02 - Thanks for the upvote, but I didn't make it up. People can't seem to decide on who did though, so perhaps I should claim it. :-) –  T.E.D. May 27 '11 at 19:33
My favorite response to that last line so far was from a teacher, who said, "That's my job too!" –  T.E.D. Feb 27 '13 at 14:39

I'm a software engineer, and in my experience, using the term dev (short for "developer) or eng (short for engineer) are both common things to say, and people I have worked with seem to be fine with both terms.

share|improve this answer

You can call them very shortly as "SE-DEV" means software engineer in develop department.. I think thats really cool for calling rather than coder or programmer

share|improve this answer

There is a big discussion on the subject. it is hard to attribute the term engineering to this discipline, as compared to other hard or traditional engineering fields, we sometimes lack of that little "exact" part the other science have. most topics or areas in software engineering are far to be exact science. perhaps thats why some legislation don't give us the same level of attributions as to other engineers.

As for the part is we should call somebody developer, programmer or software engineering. I think the field of SE goes beyond simply coding, or developing. it also deals with, requirements, design, management, QA, continuous improvement, cost and effort estimation, planning, etc, etc. so using the term SE indiscriminately its a risky business. its like calling architect or civil engineer to a bricklayer (no offense both are needed to make a house or a bridge).

Right now there is a lot of effort to approach to that exact part, but we still got a long way to go.

share|improve this answer

The question suggested but not explicitly asked here is, who is the engineer? In the field of computer systems building, a computer systems engineer, for example, deals with the assembly material (hardware) and instructions (software, low-level mostly) to create its system components from scratch, while a software engineer comes to link and analyze these systems (software and selective hardware) in accordance with company and market needs for software development. A coder or programmer deals with software and programming language development only.

share|improve this answer

I notice that a few years ago the word programmer was the only widely used word. Now the trend is to use developer. I'm not a native English speaker, but I hate the word developer because the obvious question is, “What the hell does the developer develop?”

Another way to express my point is: If programmers build programs, can we say that developers build “develops”?

Sorry for the irony, but the word developer doesn't mean anything for people outside the software industry.

I consider myself a programmer, not a developer or a coder.

share|improve this answer
Programmer doesn't just refer to computer programmers; one could also be a broadcast programmer, amongst other things. en.wikipedia.org/wiki/Broadcast_programming –  CJBS Sep 12 '14 at 21:36

protected by tchrist Apr 9 at 0:42

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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