Are you a Software Developer or Programmer?
Currently I am a neither ^_^. I just switched and now work as a Support Consultant for a leading Investment bank. But the same question struck me after reading the following article today.
Developers are from Mars, Programmers are from Venus
Before transferring jobs I was a Software Developer with a heart of a Programmer. Thats why I despised my work then. (Going into support is well uhmmmm one word... MONEY ^_^). Anyway like what this article said... most people I know that work in IT don't know the difference... Though I agree with most of his points yet... I do not believe one is better over the other. I believe they are equal but posses different Ideologies.
I was thinking of presenting my own ideas of their differences in several situations/questions. In the end you decide... are you a developer or a programmer?
1.) You are in a meeting for a set of requirements on a new project...
A software developer will take down notes and ensure all requirements are set in stone with a document properly signed-off. A programmer will bring a notebook, never use it but is already picturing what the application looks in his head.
A developer mindset ensures nothing said during the meeting will be missed. At this point he/she is already contemplating the scope and planning the project and decides business feasibility based on the budget (time & resource constraints). A programmer has many detailed questions with the client, picturing actually using the application in his mind. At the end of the meeting, a developer will mostly likely end up with average documented requirements and a programmer will end up with lots and lots of detailed images of the application in his memory.
2.) Hmmm which language to use?
A software developer will favor proven software. A programmer will tend to favor something new.
Like what the article said, this is very true. I however do not agree on the rationale that programmers will choose a programming language just for the sake of learning something new to put on their cV. Those that do those are rubbish newb developers/programmers that are full of themselves. Both will choose the right language based on merits. Developers will tend on something proven as it minimizes risks and eases planning. And programmers in the industry are the main reasons you are not programming FORTRAN/COBOL today.
3.) Great... teammates !!! Now what???
A software developer will divide the work based on the requirements and ensure proper budget is allocated evenly. A programmer will give foo testing and fred technical writing while he/she works on the code.
Developers believe in structured division of labor, programmers see advantages doing specialized tasks. A programmer likes coding alone not because they are full of themselves but because in coding 2 heads are not better than 1. Developers don't see it this way and plan to minimize risks and thus splits work and instead puts processes and conventions to compensate.
4.) Your development schedule looks like?
A software developer has his development schedule in MS Project complete with budgets, actuals and variances. A programmer has a list of features on a white board (some already crossed out as completed) and has one date marked in the calendar.
At the end of the day both will get the job done. The developer will be able to provide various scientific methods to gauge performance of the team, the programmer only needs to see the board and how many are left before delivery date. The developer will spend time updating the plan in case of changes in the requirements while the programmers just needs to simply write on the board.
5.) At the end of the project your deliverables (Code & Documentation) would have?
A software developer's team will produce very detailed documents with sub par code. A Programmer's team will produce perfect symbiotic code with sub par documentation.
Developers tend to create enormous amount of required documentation to ensure coding made by different persons will produce symbiosis. Developers will excel in creating process documents for future coders to look into as guide in maintenance of the code. Programmers write symbiotic and clean code naturally. Natural programmers (not newbs full of themselves) write code that is like actual design documentation and pleasurable to read. Thus needing less technical specs. Both having the same quality result in the end.
6.) When you get a bug in production or late requirement change?
Developers will ask you to log a ticket and have it go through approval/exception process, A programmer will have it fixed by end of day.
Developers ensure bugs don't develop into more bugs by ensuring proper impact analysis of late changes. However good programmers get the job done quickly correctly. Both have their merits, Developers will consider any late requirement and think how it will fit in his project plan in MS Project. As I said above, programmers just write new requirements on the white board.
7.) What does your desk look like?
A developer observes clean desk policy with maybe a picture of his/her family. A programmer has Lego sculptures and numerous toys cluttered on the desk and most probably single.
Ok don't flame on single programmers I am just presenting extremes =). I have a programmer heart but I am not single btw. This just shows how psychologically different these 2 are. One likes to follow rules the other loves to create his own.
8.) How many hours do you work?
A developer will only work 8 hours a day as he as already planned for this based on his Project plan. A programmer loves overtime and will only stop on a "logical break point".
Need I explain this more? Developers just have this already worked out they ensure each one gets work life balance with his planning thus everyone is happy. Programmers work overtime hours and tend to finish work early due to a thing called "programmers streak/zone". Also programmers tend to use the company resources to play network games thats why they gome home late actually.
9.) Were do you work?
A developers works in a Multinational company. A programmer works at a start-up IT company.
Developers love the job security provided by a multinational company. This is a symbiotic relationship as big companies like my previous job tend to favor developers (developer developer developers) which will be its leaders someday... Programmers seem to love the excitement working at a start-up and dreams to make their own start-up in the future and hit it big.
10.) Which salary pays more?
Sadly in the outsourced IT world today both pay low =/, wake-up!!!
If compensation is the only thing that drives you to be either then you are probably neither a developer or programmer.
As I said both are equal... I believe one is never better than the other. It pays good to have both mindset to be successful...
So are you a developer or a programmer?

