I'm interested in knowing if there is an actual difference between a developer and an engineer. More recently, I've become indifferent to the language I am using versus the problem I am solving. Is this a key characteristic of an engineer? What are some other characteristics? Is there even really a difference? Is it wrong to suggest a difference? This question might be better at stackoverflow, but I am not 100% sure.
The terms developer, engineer and even programmer tend to be used interchangeably. NOTE: I'm not saying that they should, but that they are. I've had all three as my job title at one point or another in my career.
I would say a programmer is someone who codes but doesn't do much (if any) analysis or design.
A developer or engineer would be someone who does the analysis and/or design as well as the coding.
As to the difference between developer and engineer? I'd say it often comes down to the domain you're working in. Engineer might be used in "industrial" software whereas Developer might be used in "business" software - though there will be considerable overlap between these two areas. Though as others have pointed out Engineer might have legal/professional status in some areas.
developer = a person who develops (a general & loosely used term that may applied to an engineer at times).
engineer = a person trained (and perhaps certified) in the sciences of physics, chemistry, electronics, etc. and skilled in the design, construction, and use of those sciences to solve problems in an analytical way.
In general, I agree the terms are generally commonly used interchangeably, but an engineer is really a much more specific discipline.
There are a lot of discussions/answers to this question on Stack Overflow:
What’s the difference between programmer and software engineer?
Do you consider yourself as programmer or software engineer ? [closed]
Software development and engineering
Is a Software Engineer a Computer Science Major? [closed]
Software Engineer, Developer, Programmer - Just a name?
Computer science versus software engineering - which?
Computer Engineering vs Computer Science
In many countries and states there are legal requirements which must be fulfilled before you can call yourself a software engineer. In Florida, foe example, you cannot call yourself an engineer unless you are a licenced engineer. Texes is currently the only state to license software engineers. In August 2009 the NCEES Board of Directors approved moving forward with the development of a Principles and Practice of Engineering examination, commonly known as the PE (Professional Engineer) exam, for the discipline of software engineering. What this means is that hopefully in about 5 years it will be possible to before a licenced software enginner.
More information can be found at link text