Tuesday, 16 January 2018

Difference Between Software Engineer, Computer Programmer, Application Developer etc

You can watch the video of this explanation hereVideo
Many person in the field of IT don't get as productive as they should be because they don't consider the differences between related professions.
This is especially true in the field of IT where some organization use same employee to perform different job roles simply because the roles are related under the ICT field
In this brief article, I would focus on difference between Software Engineer, Computer Programmer, Application Developer and related roles, beginning with Software Engineer.

Who is a Software Engineer
A Software Engineer is someone in the Engineering profession involved in the Computer Software related functions.
A Software Engineer just like every other engineering profession has quite a tasking requirement. First you need to undertake year of formal education and then you need to meet up certain requirements imposed by the engineering body in your location. In Nigeria, the regulating body is Council for Regulation of Engineering in Nigeria(COREN).
The irony is that someone may be a Software Engineer without being able to write computer programs or develop computer software, but he still could qualify to be an engineer.

Who is an Application Developer
An application developer is an ICT professional involved in one or more of the phases of the Software Development Life Cycle(SDLC).
Remember that the software development process is made up of a number of phases, some of which may be iterative.The number and specification of these stages, though depends on the particular software development model. For example the Water Fall model has the following phases:
  • Requirements Phase
  • System Design
  • Implementation
  • Integration and Testing
  • Deployment
  • Maintenance
So to be a software developer, you must be involved in one or more of these phases. (Not as a user though!).

Who is a Computer Programmer
A computer programmer is an ICT professional involved in the programming phase of the Software Development Process. Simply put, a computer programmer, develops computer programs. Note that I did not say, 'writes computer programs'. The reason is because, there are procedures involved in developing a program. This included, writing the algorithm, the pseudocode, drawing the flowchart and then writing of generating the program codes. A good number of programming softwares allows the programmers to specify certain parameters and then the application can generate the program codes.

Which one is Better?
Granted, how much earnings is involved for each of the professionals depends on the organization and the tasks involved. But I would say, that a professional computer programmer that is vast in a number of programming languages have some edge over other roles. This is because a programmer is normally paid by hour. Added to that, a programmer can take up a number of contracts and work on them from home. But more importantly, one can become a good programmer without having to pay for any education or training. This ones are called 'Self-taught Programmers'.

Final Notes and Recommendation
I would recommend that if you are a beginner start by taking tutorials on some programming languages. I suggest starting with Java due to its viability and availability of tools. If you are in a different field altogether, but want to learn programming, you can also start wit these series of simple tutorial you can get from this link: