If you are like me, I mean if you’ve ever used or you are using tools like Visual Studio, Dreamweaver, Jbuilder, Eclipse, Netbeans or other similar tool, then this topic would be very of interest to you.

For me personally, I have been working as a developer for the past 12 years and sometimes wonder what I would call myself.
After a careful study and research, I came out with a brief explanation of the terms. Feel free to point out observations if you’ll like to improve this article.
I would start with the first one, Software Engineer which appears to be the highest in the hierarchy


The key term here that creates that separates this from all others is the term Engineer. To be an engineer, you need to pass through somewhat painstaking process of study and practice before the title can be conferred on you. Of course, some country stipulates the requirements both formal and informal before one becomes an engineer. It often requires holding a degree in the engineering discipline. In Nigeria, the Council for Registration of Engineers in Nigeria is the body responsible for conferring this title to applicants. For example, I studied Computer Engineering and then specialized on software engineering. That makes it easy for me to apply for the Software Engineer title.

As a Software Engineer, you should be able to carry out the following functions:
1. Develop software
2. Test existing software
3. Detect vulnerability in computer applications
4. Develop Databases
5. Maintain existing Databases
6. Carry out system analysis and design
7. Create interoperability between computer applications
8. Build web services


An Application Developer or Software Developer is simply a professional that develops computer application. Sometimes this term can assume certain variants such as Desktop Application Developer, Web Application Developer, Windows Application Developer, Mobile Application Developer. The variants are almost limitless as it tends to specify the area of application development the person specializes on.
This means that an Application Developer can coordinate the development of a complete application development project from the initiation to the completion of the project, typically going through the stages of the software development life cycle (SDLC).

As an Application Developer, you may be required to carry out the following tasks

1. Develop computer application be is mobile or desktop application
2. Carry out system analysis and design
This term tends to explain an area of specialization in the field of Software Engineering. Note that both Computer Programmer and Application Developer can be considered areas of specialization of Software Engineering.
A computer programmer often writes code modules that would be used in larger computer software programs. Variants of the computer programmer includes .net programmer, c# programmer, php programmer etc.

As a computer programmer you would be able to do the following
1. Debug errors in specific computer programs
2. Write computer programs in specified language
3. Plug in Code modules in to larger computer programs

Another field you may have thought of is Database Administration. This also falls under Software Engineering and has to do with Creating, Implementing and Managing databases. Databases systems includes Oracle, Microsoft SQL Server and Microsoft Access.

The Diagram below illustrates these differences.