Developer versus Programmer

Once had a new hire come to the project I work on. Took him out to
lunch his first day (he only lasted 5 days, admitted the project and
code was out of his league) and I started talking about programming and
programmers, because my wife won’t let me and I have to have these
conversations with somebody. At the first mention of the word
programmer, he quickly corrected me with “I’m not a programmer. I’m a
developer.” Uh, what?

Let us examine to two from the dictionary:

pro gram mer or pro gram er
1. One who programs
de vel op er
1. One that develops

Ok, so that wasn’t much help. You see job listings for web
developer or C# programmer; do you ever see web programmer or C#
developer? Are they interchangable? Of course they are. Even Microsoft
refers to those who use C#, or any other language to write software, as
developers. Is programmer a dying term? Are we all transistioning to
some weird marketing scheme that I’m unaware of that will change my job
title from Programmer to Developer? If you go out and look, most job
titles are still focused around the keyword “programmer”.

Is there a proper use for one over the other, and in what scenarios? I
just find this completely meaningless and trivial concept of programmer
versus developer interesting. I’m odd that way. Any thoughts? How do
you like to be referred to, a programmer or a developer? What’s on your
business card? Your resume? FYI, my job title has Programmer in it.

This entry was posted in Generalities. Bookmark the permalink. Follow any comments here with the RSS feed for this post.

30 Responses to Developer versus Programmer

  1. wow nice information. I need this information . At last i got this information in this site. thanks for sharing

  2. Charles ballew says:

    As a 38 year old construction worker just gett’n into the lingo. Thanks to a book I found on HTML (outdated-yes) I love it, and wished this info was given to me much earlier in life. So here goes:

    First you need a Developer (an idea)
    Second you need a Programer (to make idea real)
    Third a Developer (to tweek real idea to something more)
    Fourth a Programer (make idea stable)
    Fith a Developer (to make old idea new again)

    Make sense to me. Start as a developer and end as a developer. Maby their should be a Class level for each?
    If your wondering the Six step is retierment and your either always programing a development idea; or developing ideas from old programs you never finished.

    Thanks for your patience.

  3. TAK says:

    Developer: He who involves in the development of something new that may not have pre-existed. As in the idea, design, code, test and finally the finished item.
    eg: Development of a new language C.

    Programmer: He who applies the developed language in building applications or things that need to be produced by using & applying the already built software.
    eg: Programmer uses all the commands of the language C to develop applications and other real world modules. He is not involved in fixing the bugs in the language C.

    But these two words can be used interchangeably depending upon the context of work performed.
    eg: A person who developed the language C may later use the same language to program and develop applications.
    Development is the process of evolving new things, but programming is the process of using the language/tools to develop further high end products.

    Hope am clearing up some air.

  4. Jon Davis says:

    This is an old comments thread but I have to chime in. While I agree with the sentiment about developers vs. programmers esp. from the viewpoint of Eric Sink’s blog post, the harsh reality is that in larger technology companies, HR doesn’t care to know the difference, they use job title keywords to attract people who know how to program well. In these larger shops, a developer is chastised for having or sharing a vision, or trying to come up with new solutions to problems not previously tasked to them with a defect management tool, or giving the executives ideas, or trying to write any specifications other than implementation technical documents. A person who attempts to do such a thing is called “an unwanted hero”. Having tasted this recently, with a job history of being a true developer and now “moving up” to a larger shop, I’ve had to experience this harsh relegating experience of being pidgonholed to the role of a “programmer”. Yet they call us “developers” — really, they don’t know the difference, and the difference is lost to most non-developers.

  5. Tincho says:

    I guess developer/architect/etc are just buzzwords invented by people who wanted to differentiate themselves… An engineer is completely overused, you should have an Engineering degree to be called engineer…

  6. almarjin says:

    I think Developer attends more meeting compared to Programmer :).

  7. rahul dhulekar says:

    programmer is a subset of developer in the perspective of the resposibilities they have…………….

  8. dndk82 says:

    my quick thoughts in C++:

    class SoftwareProgrammer;
    class SoftwareDeveloper : public SoftwareProgrammer;
    class SoftwareEngineer : public SoftwareDeveloper;

    hope it’s short

  9. Another Mark says:

    I was trying to figure this one out today as my boss and I had a debate about Programmer vs Developer. There doesn’t seem to be a worldly accepted answer, so we’ll go by my thoughts.

    Programmer = The guy who programs things
    Developer = a term added on to a position ie: GUI Developer / Framework Architect Developer / DEVELOPERS DEVELOPERS DEVELOPERS DEVELOPERS *repeats loudly over and over again*


  10. mihkel says:

    I Agree with Mark Developers have a vision programmers have goals.

  11. Mark says:

    Developers build the “whole”
    Programmers write code that is added to the “whole”

  12. Kevin says:

    Here in Singapore, a junior/entry level is called a developer and when you get promoted, you are called a programmer/engineer. I’m not implying that when you are freshly grad, we are perfect fit as a developer but just in general, what title you are holding.

    Well, here’s the concept behind the bosses.

    A developer shall be a “Know all, handles all”, which we relate as lowest life form which does all the hated works. And when you get promoted, you become a programmer/engineer which at a “Senior level” you shall be doing less, the higher you go, the lesser things you have to do, just need to instruct the developer to do jobs programmers/engineer doesn’t like to do or doesn’t have time to do, documentation, etc. Who does?

    Well, which is very true isn’t it? When you get more senior, you get more responsibilities on management and account servicing, pitching new jobs with your bosses. How to squeeze more time to do coding and write documentation? Well i’m talking about ISV not bigger corporation.

    This is what our lousy culture is. Pace never slow down. Is either you get promoted or you are out.

  13. Saikiran says:

    Here is a nice topic which i got lot of information from this. As per my knowledge , a Developer can also be a Programmer but not ViceVersa. Adeveloper developes , suggests , integrates, modifies the designing and so on . BUt a programmer can only do programme but not the rest of the things..
    If i am not right here, please rectify me..

    Thanking you.

  14. ron4 says:

    Eric, but it does mention that Software Enginner is also Software Developer.

    “computer software engineers design, develop, test, and evaluate software programs and systems. Although programmers write and support programs in new languages, much of the design and development now is the responsibility of software engineers or software developers.”

    To me Software Engineer and Software Developer are the same thing, because they will be involved in the same role and job scope like analysis, design, development, programming and documentation.

    Whereas Programmer is a different thing, the job role mainly involve in programming / writting a computer program and/or writing documentation i presume. But need not to involve in analysis, design and full SDLC.

    Imho Software Engineer/Software Developer level should be higher than a Programmer because of they have more responsibility in day to day job tasks.

  15. Dan says:

    This is a very interesting topic. I almost disagreed with Eric Sink by differentiating programmers from developers based on the scope of job responsibilities, b/c in most companies (and tech firms makes up a very small percentage of top fortune 1000 companies) all 3 needs to do some sort of documentations, interacting with other people, fixing bugs, enhancing existing codes, testing, etc, though the degree varies, but the point is they all have these responsibilities that Eric uses to differentiates their job titles.

    I worked in the financial industry for 5 years (doing tech work) before joining a consulting firm. From my personal experience, I begin to relate the terms “programmer,” “developer” and “software engineer” with the degree of programming complexity and level of system design/architecture responsibilities.

    For example, there are positions call “database developers” out there, but frankly, writing pl/sql packages or t-sql stored procs, aren’t exactly the most complex type of programming out there, heck, it’s not even OOP not to mention they not even real programming languages. Then there are also positions out there that write perl ETL’s or system shell scripts, etc, again, I’m not exactly sure if the complexity of such programming requires the entire arsenal of a computer science or engineering background. And neither of them involves a higher level of systems design/architecture. I tend to relate these positions as programming positions.

    On the other hand, a developer uses a deeper understanding of computer science and engineering principles and applies them to design a system at a more macro level first, then code the micro level using more sophisticated algorithms and faces more challenging problems all the while keeping scalability, robustness and performance in mind. Developers typically uses more sophisticated programming languages, such as Java, .Net and C++ and such systems are typically multi-tiers.

    Software engineers should have the most experience of them all. Using his or her experience and a superior understanding of computer science and engineering, they typically erect highly complex systems or applications from the ground up. They are the most involved with design and architecture of the three.

  16. A.J.Rimmer says:

    I call that IRONY :)

  17. Eric says:

    Interesting that the department of labor site doesn’t list “Developer” or “Software Developer” but they do list “Programmer”. I feel that all these new names for programmers are just fancy new names created to make people feel like they are better or different. I am a programmer. Architects design buildings. Developers take raw land and add improvements such as buildings by hiring project managers to hire and manage the construction people. And a programmer codes programs.
    Another strange thing is that my employer hires junior programmers and calls them Developers, and when we reach the senior level we are called programmers.

  18. Rajan says:

    Specify the clear difference between Programmer and developer.?

  19. Hey Liz, who woulda thought that a 5 day employee we had lunch with once would spawn a blog post over a year later 😉 Thanks for the link. Astro-archeologist is too special for the list, if that makes you feel better.

  20. Liz says:

    Here is the department of labor’s definition of job titles: You will sadly notice right off that astro-archeologist doesn’t show up on the list… =;>) bummer, or for that matter developer.

  21. Darrell says:

    Since I’m a consultant, I can’t be "just a developer", even the developer-type that Eric Sink talks about.

    I’m a problem-solver; I create and implement solutions to business problems. Note that it does not always involve code, and in fact the majority of the time the problems are people problems. :)

  22. Alex Lvovich says:

    I agree with Guenter about that developer is more ivolved in design procceses than programmer. So the responsabilities are different.

  23. The difference between a programmer and a developer (apart from all the definitions I have seen so far), is that a programmer is told what to do….(for all u know…even how to do). He has no standard practices, no testing at all, forget documentation. Any hobbyst is a programmer.

    A developer on the other hand is the gentleman who tells the programmer what to do. He decides what needs to be done, has a vision and a scope, documentation practices, testing style, etc etc etc. (Words from my prof @

    The irony in the professional world is that there are ISV’s who have a work force of less than 5, and supposedly hire "Sr. Software Engineers"…and the lead keeps telling them what to do. Funny….there is no documentation involved at all…and yet they manage to call themselves to be developing the "latest and the greatest" software.

  24. I agree with Eric Wise, I just make software and make it work right. After a bit more research, I’m closer to architect, but many definitions of architect don’t include actually writing code, and I do a ton of coding. Engineer makes me sound like I have a college degree in something, and I don’t. Developer probably suits me best.

  25. Guenter says:

    From my perceptions there is a significant difference, at least here in germany:

    "programmers" are those who are primarily invoked in coding very well defined pieces of software, whereas "developer" are more involved with design issues and are proposed to have more freedom in their decisions.

    Of course, this is just an outside view (I primarily heard this from managers), but it’s somewhat similar to the difference between BASIC and C programmers, where the difference is more from a philosophical view than from solid facts.

    Personally, I am a "Managing developer"; if our company choose the title right; you shold be able to infer my primary business from that 😎

  26. Eric Wise says:

    I’m neither. I’m the guy who does the best he can with the resources available to make the end user happy. 😉

  27. ben says:

    I agree with Eric Sink’s interpretation, he wrote exactly my feelings on the matter

  28. Ugh. Developer vs. Coder vs. Programmer vs. Engineer… I guess they do mean something, for better or worse, to most people.

    I went to the first Java One conference, circa 1995 or so, and at an event, I walked past a group of hardcore Java Developers. At least, I assumed they were due to the characteristic, urban safari uniform. Anyhow, they looked at my badge which said "Brendan Tompkins" Programmer. I’ll never forget the audible scoff when one of them said under his breath "programmer".

    I have never called myself programmer since, I prefer the term engineer, although I often think that’s a bit too much for what I do.

    Developer is most commonly accepted, right? But when you think about it, it’s not really semantically correct. Yes we develop software, but that kind of implies that software is something that’s there, and we just coax it into existence.

    Even the dictionary doesn’t help

    DEVELOPER: To free from that which infolds or envelops; to unfold; to lay open by degrees or in detail; to make visible or known; to disclose; to produce or give forth; as, to develop theories; a motor that develops 100 horse power.

    Engineer makes the most sense to me, but the problem is, so much weight has been placed on this term, that you’d better know your stuff, if you’re calling yourself an engineer.

    If we’re really going to use a word that everyone understands, even those outside of our field, we should use Programmer.

    If your applying for a job, Developer, or Engineer or Architect, depending on what you can do.

  29. Hrm, according to his definitions, I am absolutely a developer.

  30. Colin says:

    Eric Sink has a good article on his definitions of programmer and developer:

    I tend to use programmer and developer the way he does.


Leave a Reply