In any field the skill set of the people lies in the spectrum of two levels and the difference is very subtle. Here, I have taken an example of difference between the developer and programmer in IT industry. I need to briefly retell a popular story from Mahabharata epic to describe the subtle difference.
Once Guru Dhronacharya wished to test his student’s ability in archery. He hung a wooden vulture from the branch of a tree and then summoned his students. Dhronacharya said, “On top of this tree, I have placed a vulture made of straw and rags. Yudhishthira, aim!”. Yudhisthira took his position with bow and arrow. Dhronacharya asked, “What you see?” Yudhishthira told, “I see the vulture”. Dhronacharya questioned him, “Do you see the tree?”. Yudhishthira said, “yes, I see the tree. I see my bow and the arrow, I see my arm…”. Dhronacharya stopped him, “Back to your place”. He then called upon Nakula, Bhima, and Duryodhana. They too exhibited the same behavior. Dhronacharya summoned Arjuna, “Arjuna! Aim it”. Arjuna diligently took his position. Dhronacharya questioned, “What do you see?”. Arjuna without shattering his concentration replied, “I see the vulture”. Dhronacharya asked, “Describe the vulture”. Arjuna said,”I can’t”. “Why?” Dhronacharya echoed. Arjuna said, ”Because, I can only see its eye”. Dhronacharya yelled, “Release the arrow”.
This story describes the focus and diligent of the person in approaching the problem. The altered version of the story to demonstrate the difference between the programmer and developer.
The Project Lead calls upon a developer and programmer and asks, “I have this problem. Can you solve it? And you have the required resources”. The Lead turns to the Programmer and asks can you see the problem? The Programmer replies, “Yeah! I can see it clearly”. “What else you see?” the Lead continued. The Programmer said, “I see the SDK, APIs, IDE, etc. to solve the problem”. The Lead turns to the Developer, “Do you see the problem?”. The Developer acknowledges, “I do”. “Can you tell me what type of APIs and SDK can be used to solve it?”. The Developer replied, “I can’t. I only see the problem that to be solved”. The Lead yelled, “Start coding”.
The programmer sees the limitations with the available tools and does not see the vision. Whereas, the developer is not limited by the tools and finds the way to approach and solve the problem. A true Engineer focuses on the problem and tries to solve it; does not evade with excuses of tool limitations.
A lighter version of the same story:
The CEO asks the same question to different persons:
CEO : “Do you see the problem?”
Person A: [Thinks: What a stupid question]
Person A: “Of course! I can see everything?”
CEO : “OK. You are eligible as a Tester”.
CEO asks the same to Person B.
Person B: “Yeah! I can see the problem. I can clearly see the tools required to solve”
CEO: “You will be a good programmer”
CEO turns to Person C.
Person C: “I can only see the problem”
CEO : “You are a developer”
CEO: [Formulate this quote in the mind: Developer writes code and Programmer copy-paste it]
CEO finally turns to the Person D.
Person D: “I do not see anything”.
CEO : “Well, you are eligible for the Manager post”