Software programmer or Software developer, what's the difference? (An open letter...)

Dear recruiting agents & H.R. recruiters.

Seeing that there are many open letters out there, I thought it's suitable to write this open letter. I hope, and believe that by the end of this letter one would have an insight in understanding what your mistakes are and how to move forward resolving it.

It has come to my attention, after numerous phone calls, job interviews and job descriptions, etc., that there is a confusion that has circumvent the I.T. industry. This confusion is the lack of identifying the difference between software developers and programmers and I believe that someone who is a software developer and a software programmer can shed light into the difference.

Every software developer started as a software programmer but not all software programmers are software developers. If you understand this clearly you will know exactly who to hire and fire (depending on your discretion, of course).

A software programmer is a person who understand a computer language and use the computer language to construct an algorithm and program flows for a specified task. This definition is still valid today. Though we have IDE's with good functionality and API's that makes coding much easier, programmers know how to complete the task by integrating API's together.

A software developer, on the other hand, evolve outside of the software programmers paradigm. They are developed to create a software product based on a client requirement. They are involved in the who software lifecycle: from user requirement, creating a project plan, designing the functional and non-functional requirement, provide implementation, testing & deployment/release.

For example, a software programmer will be give a task such as creating a functionality to send an email while a software developer might look at which module will require the email functionality and create one. Other module might be the web module, mobile application and cron services that are timed to send newsletter to clients at a specified time. In essence, a software programmer is an expert into an assigned domain, a software developer have solid understanding across various domains as they must be able to assemble programs to perform various tasks solve a larger problem.

In a nutshell, if you are looking to hire someone who will need to do daily application maintenance and support, hire a programmer. If you need someone to create a solution based on various problem domain, hire a software developer.

Hopefully, once you grasped this definition, you can hopefully grasped the difference between software programmer, software developer, software engineer and software architect.

Good luck!


Kind Regards,


Buhake "The Elite Gentleman" Sindi

PS: I found this blog after publishing this, hopefully they will be clearer.

Comments