Monday, 18 August 2014

Programmer != Developer //What Are The Differences?

Well, you are not exactly wrong when you use these words interchangeably. I am not so sure if the dictionary has difference definitions for these two words in the context of Computer Science. However when these words are mentioned, they kind of fit a certain kind personality in the Computer Science Industry. I think it is better to be aware of these subtle differences so you know to interact / communicate better to either a Programmer or a Developer. Also you will know how to recruit better as an employer.

To start with, a programmer or a developer probably earned a computer science degree but what makes them different is what they are drawn to in the industry. What they become experts at doing is what naturally determines which category they belong. Of course, there are some overlapping tasks they can both perform as computer scientists, however certain tasks are well suited for a programmer and the same applies to a developer.

Developers
+ Developers usually have a high level thinking of solutions to problems. They are pretty much concerned about integrating one system into another, consuming an APIs etc.

+ They are mostly known to build on top of already existing Frameworks/Platform and Stacks. They are knowledgeable about which Framework of tools to pull together to get a certain product done.

+ Most of the products from Developers are service based and are more people-oriented (think in the line of Management Systems)


Native Benefits of being a Developer
+ It is fairly easy to read and understand the code written by developers because their code is structured by the Framework they are using. If another developer starts reviewing the code of a fellow developer using the same framework, there is a high possibility that the code is going to be very understandable. This is because the framework provides a structure by which task can be accomplished.

+ Another Benefit to a develop is since they make people-oriented products, they directly make technology very useful to the average human being. SQL and APIs exist but if developers are not there to make use of these, these tools are pretty much useless.
________
Developers are users of SQL, Frameworks like Cake php, Yii, Laravel etc. Consuming APIs like Google Glass API, Android API, mytxtbuddy API, VOTO API etc ...
________

Programmers
+ Programmers usually have a low level approach to solving problems. They break the problem into very tiny bits until they individual problems become like one of the many known problems of computer science. eg: Network connectivity problem, shortest path, sorting, Hamiltonian and Eulerian path problems, Dining philosophers and ton of other classic problems.

+ They are very knowledgeable about algorithms and data structures and using the appropriate algorithm and data structure is a big deal to them.

+For programmers, its not OK if the program is just running but will make sure it has a very optimal running time as the input size increases.

+Programmers tend to mathematically inclined, generating formulas and using well known mathematically proven solutions,

Native Benefits of a programmer
+ Well it is obvious programmers do the heavy lifting and all the strides that are made in the computer science industry is made possible by programmers. They create the platform and developers do make the platform useful

+ Programmers are have a greater understanding of what is really happening behind the scenes when something is happening on screen and because of that, have the ability to change very important things at the core like how SQL has variations like FQL (Facebook Query Language), the difference Linux Distributions etc.

+ Programmers by default write very efficient code and clean code; So efficient you don't have to take a second look at it.

__________
Programmers usually make products like Physics Engines, Game Engines, SQL, drivers, OS, Programming Languages, IDEs, (I think you get the idea)
__________

Neither one is better than the other. They work hand in hand to enrich the growth of the Computer science industry.

Got some ideas from ... you might want to check that out...
http://www.skorks.com/2010/03/the-difference-between-a-developer-a-programmer-and-a-computer-scientist/



1 comment: