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"?

  • @hippietrail: Was there any problem with my question?
    – Rauf
    May 27, 2011 at 5:19
  • 1
    No it was a good question. I just added some tags I thought were appropriate. May 27, 2011 at 5:56
  • 2
    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. May 27, 2011 at 12:14
  • 2
    "Geek" is about as short as you're liable to get.
    – user597
    Feb 1, 2012 at 0:21

9 Answers 9


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.

  • 19
    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, 2011 at 10:04
  • 2
    ...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, 2011 at 10:24
  • 4
    "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, 2011 at 12:49
  • 6
    "Computer scientist" is a legitimate term, but not generally used for people who write code for a living.
    – jprete
    May 27, 2011 at 13:20
  • 2
    Programmer is more formal than coder, but I still don't really like it. A lot of the work I do doesn't involve writing code, but designing systems and planning out how and when each component will be built (even when it's just my part of the project I'm planning). Personally I prefer the full "Software Developer." It's not confused with other kinds of developers, and although it's long to type out, it's somewhat quick to say. I feel that all the time I've invested to learn what I know deserves the extra two syllables. "Engineer" and "Scientist" are a little over the top, though. May 28, 2011 at 7:11

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.

  • 2
    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.
    – MSpeed
    May 27, 2011 at 13:16
  • 2
    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, 2011 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 )-: May 27, 2011 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, 2012 at 10:46

"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."

  • 2
    There's a silver lining to people misunderstanding the term "hacker". Now it makes a useful shibboleth.
    – jhocking
    May 27, 2011 at 13:22
  • 1
    +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, 2011 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, 2011 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, 2013 at 14:39

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."

  • 4
    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. May 27, 2011 at 5:10
  • 2
    @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 May 27, 2011 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. May 27, 2011 at 5:20
  • I agree with hippietrail, developer is also a good choice.
    – Fraser Orr
    May 27, 2011 at 14:00
  • In the US it would be illegal to use the word "engineer" or "engineering" in the name of a business: it implies being a licensed Professional Engineer (P.E.).
    – Tom Hundt
    Oct 14, 2016 at 22:08

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.


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


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.


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.


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.


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