Software quality and us

Software Quality is the most important parameter for software development but yet the most ignored parameter in a developer's or programmers life. Find it Weird Right?But unfortunately it's the fact and majority of us are part of this fact. So what make us ignore quality?I answer this question using the following words:
Disinterest,Ignorance, and Tech-tied
Lets try to understand these words by drawing an analogy from one of Dale Carnegie's(one of the ,most successful individual in dealing with people) principle. The principle goes like this
“If you want someone to do something for you got to have that person generate an eager want”

Believe me or not but its the proven fact. Every act you have ever performed since the day you were born was performed because you wanted something. If you see a Bill Gates giving millions of dollars in charity it is out of he wanted to help the poor. You want something because you see benefits in doing it. So What benefit did Bill Gates get by donating millions of dollars. Well the biggest benefit was that he could have personal satisfaction by helping the poor .It is his want that generates interest in you for doing something. To summarize

Personal Benefit ------gives birth to -----Want ------gives birth to -----Interest

So I am saying people like us do not want to write Quality software because they see no benefit in it?Yes .And since we do not want it we are disinterested in writing quality software.

Now this lack of want and subsequent disinterest comes from they being ignorant about the personal benefits of writing quality software .Often to most developers writing quality software means, benefiting the user of software , benefiting the organization and benefiting other developers so that they can understand things faster .We as developers are unaware of the fact that writing quality code predominantly has advantages for us. This ignorance comes from the mind set in which we operate.
Most of us in my opinion are tech-tied people .For us the ability to write code in Java,C++ etc is a personal benefit. That's why we have a want and interest of learning different languages. I am not rebuking anybody learning new languages. But I am what I want to emphasize is that writing software is not just about writing lines of code in a language. We are ignorant about the fact that there something called “writing better code” which is common in every language. We are also ignorant about the fact that there something called “writing better software “ which is common no matter which language or platform the software is written in. We still do not know that building software is an art and platforms and languages are materials used to make art. We are not aware of the fact that just by being creating a eager want for quality they will be exposed to bibles of quality like Refactoring Techniques,Design patterns ,Enterprise Integration techniques which will help them grow exponentially in their careers .Isn't this a personal benefit ?We definitely do not understand that these bibles will bring a paradigm shift in how they look at software development and hence we are not open to the benefits .

We are still to come to terms to the fact that knowing to write quality software will make them a software engineer from just a programmer. They no longer will be called a Java programmer,PHP programmer,C++ programmer but they will be called software engineers. AND NEXT TIME WHEN THEY ARE ASKED A QUESTION “Do you know X or Y language” ,PROUD ANSWER WOULD BE “I KNOW HOW TO WRITE QUALITY SOFTWARES “ .
So few Question to all of you

“Do you want to evolve from a language programmer to a software engineer?
Do you want to proudly say “I know how to build software “?
GENRATE AN EAGER WANT TO WRITE QUALITY SOFTWARE “
It is this eager want that will bring about a shift in your career for better .It is this eager want that will evolve you as a software engineer.



Comments