I've been working in the IT sector as an "associate software developer" for the past two years. While applying for new jobs, I've seen job titles like "software developer", "software programmer" and "software engineer", but the the requirements often seem to be almost identical. Is there any difference between the roles associated with these job titles?
closed as off-topic by Jim G., Jan Doggen, gnat, Garrison Neely, IDrinkandIKnowThings Aug 11 '14 at 15:23
- This question does not appear to be about the workplace within the scope defined in the help center.
It is possible that a particular company may use those titles to mean different things and to describe different positions within that company.
But I do not believe that there is a clear distinction between them which is common across different companies.
Personally I have had all three of "developer", "programmer" and "engineer" as titles in different jobs involving the programming of software. There was no relationship between the differing titles and the differing work I did at those jobs.
Don't stress the titles too much, just look at the actual requirements and the actual job descriptions.
Edit: as has been pointed out in the comments, the title "Engineer" carries significance in some countries, e.g. Finland (thanks Juha) and Canada (thanks Dogbert). It's not the case where I am (Australia) nor does it appear to be the case in the USA or the UK, where there may be an implication of greater education or expertise, but I think no more than an implication.
In theory, development would be the whole process from taking the requirements over planning the project to its execution, while engineering is planning the technical design of the software and programming is the execution of these designs.
But in practice, there is little difference between these titles. In the real world, a person having either of these job titles might be expected to cover the whole scope of a software developement or be reduced to being only a code monkey. The "Senior Software Developer" in company A might have even less responsibility than the "Junior Programmer" in company B.
To learn what kind of work a position actually entails, read between the lines of the actual job description and which skills it states as required. Or even better: ask them.