The Developers Dilemma

23 07 2006

Has anyone ever thought about what a developer might be going through when he creates something? Most of us involved in this game rarely see something which we have created or started from the very start. This is basically due to the reason, that for a long time, India as such was seen as a place where all the maintenance work went. We gradually grew out of that phase and were recognized as a place where new concepts and ideas could also be nurtured. But, the question still remains, do we ever think about a product before we start with the coding part?

This was one thing that had been grilled into me when I began my career that one should never (repeat never) start anything which has not been documented by you and given its proper place and statement on what it needs to do. I came to know the WHAT and HOW of programming, but still find it a lot difficult to abide with it. I do still do Quick-and-Dirty coding which has become second nature to almost all the people who code. They do not sit down and think over things and even if they do, those thoughts are never ever written down anywhere so that they could be read by a person who comes in later on. What I am concerned about are the thoughts which go into creating all those wonderful applications and products which we use today. These thoughts are called ‘those green lines’ and discarded like they were not of any value. These are the thoughts which could go a long way into describing what exactly was thought out before a line of code was actually written, but they seem to remain bottled up within the developers mind and what flows out is the creativity that he calls the code [the end product of all those thoughts]. Even if someone puts those thoughts into the codebase, these are discarded by the people who come in later on and regarded as something which hinders their thought process and coding skills…

What, I wish to ask, results in such a mindset? Is this what our education teaches us? Just code and forget about anything else which comes in between. I still remember in college, they just wanted the end product, HOW that end product came to be was not the criteria. We need to give this a deep thought. Even while I was on my first product development, I was grilled about the fact of comments in the code. ‘Code Complete, Ed 1’, ‘Writing Solid Code’, ‘Zero Defect Code’, all hyped on the same, we need to think and put our thoughts out there for future coders to see. Why don’t we do this? Why is there always a problem when it comes to ‘those green lines’ inside the code? When I wrote ‘those same green lines’ within the code I got in my current company, all those who saw it, said it was a distraction?? Is that so? They don’t wish to read the thoughts that went into creating/modifying the code, they just wish to see the code and make their own surmises about it. My fear is that they will end up with a worse situation on this as they will repeat the mistakes I made and tried to rectify within the said code…

Conclusion… go ahead write out the thoughts that you are thinking of before doing the actual coding. Else, one day you may face a situation, where you are sitting with some code fragment in hand and trying to figure out [before discarding the whole thing and starting fresh] what was this chap thinking of before he gave this code statement…




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: