on 19 June 19
We all have used these terms interchangeably, after all, at back of the mind we think they all have a degree in computer science.
The terminology has also been used by organizations to their convenience, like a Senior Software Developer at Google may be called Programmer Analyst at IBM
So below are my findings and descriptions for few other roles as well
Developer: Expected to be an expert level at one programming language (Java, PHP, etc.)
Programmer: Expect to be an expert at several different languages.
Programmer Analyst: Expected to be able to program applications that integrate between different systems.
Systems Analyst: Expected to Design Information Architecture to improve business information systems
Software Engineer: Expected to design core components that Developers & Programmers can use. As per US law, you need to have a professional engineering degree/license to add the title engineer.
Computer Scientist: They write code, but they do it prove something. They are not bothered about design or good practices.
These are just my thoughts based on some research. I may be right but, you can always post your views below.
You can also read through some of the job descriptions for these roles to map the job expectations with the above mentioned descriptions. (Click the links below to see the Job descriptions)
Developer | Programmer | Systems Analyst | Software Engineer | Computer Scientist
This blog is listed under Development & Implementations Community