A software engineer, a developer, and coder walk into a bar.
Bartender: Here come the programmers!
That’s always been the story right? You write code for a living, you are a coder/developer/software engineer, based on how vast the observers’ vocabulary is. Little do most people realise that a software developer and a programmer re TWO DIFFERENT profiles.
Programmer, who ?
Let’s use an analogy here. A programmer, is essentially analogous to a staff cook at a restaurant. Once told what is to be made, they will use the provided ingredients and recipe to prepare a dish. While how god the dish eventually turns out to be is rooted in their skill, they have little to no say the what the dish they make is. They just did what was asked of them, to the best of their skill.
A programmer lives in a similar paradigm. He/She will effectuate and implement a task that is asked of them. To start with, they may have atleast one among a specification document, system design, flow diagram, pseudocode… All they have to do at a base level is put it into neat, intelligible code, in a framework or language as prescribed. That’s not a trivial task by any means althoigh it might sound like that. The best algorithm and programatic approach to realise the implementation, that is dependent on the programmers’ skill.
Isn’t that what a Sodtware Developer does as well ?
You think so, but no. Not by any means. A software developer’s role is larger than and encompassing to an extent the programer’s role.
Coming back to our restaurant analogy, Software developer is the quintessential resident executive chef. Their role starts right from the point where the menu is set. All the way down to overseeing and at times doing the hand-work in the eventual cooking.
Like the resident executive chef at a restaurant, a software developer involves in the process right from the point where a requiremnt is raised — it could either be a feature update in an existing project or a fresh project/product altogether. The developer fills a lead role, working out the design of the system, flow control and ensuring that the software development lifecycle is adhered to, effectively. The developer also has the added responsibility of doing the actual ‘legwork’ which in this context, is doing the actual coding. Yes, leading is a thing but no developer is a developer so long as they do not actively involve in the coding, most often for the critical aspects of the task.
Seems pretty well-defined and straightforward. Why the confusion?
In the lead up to this article, I did try to put a firm finger on a specific reason as to why there is the said confusion. Spiler Alert: I failed.
But yes, there are certain aspects and points they stay more prominent over others. One of the top points being the influence of pop culture and movies — right from the cult classic The Matrix, down to the plethora of movie and series in that genre. Thanks to them all, anybody who writes code, is a programmer, irrespective of what the code is for.
It’s also rooted to an extent in the name assigned to profiles that employees are assigned in organisations — Graduate Engineer Trainee, Junior Programmer, Project Engineer, Software Development Engineer, Application Engineer… the list goes on. As it is apparent, while works at most organisations are more product or solution or service oriented, not all use the word ‘developer’, which best describes what they do.
It’s all down to the time it will take for when the general populus comes to recognise what the difference between a programmer and developer is. Frankly, the fact that even undergraduate and graduate students aren’t aware about the difference is alarming in itself, although that’d be a perfect time for them to be taught how they differ.
All I say is, to put it really simple, the guy who created Instagram application(s) (web and mobile), is a developer while the guy who wrote all those lines of code to ensure that Google Maps always shows you the shortest and fastest route, is a programmer.
Yeah, that should make it simple
Originally published at http://ashwinsathianwrites.wordpress.com on April 30, 2019.