The last time I checked, we were in the business of providing IT services predominantly for our clients. So when the annual ACSAT exercise completed and one of the key weaknesses was code quality, I started to wonder what we were really doing anyway?
I believe that each and every one of us is responsible for delivering high quality code. We can talk about high sounding words like engagement indexes, value generation and all that but the bottom line measure is still the same from the day I started working in this industry - namely beautiful code :)
It is the ultimate measurable, non-negotiable output that each and every one is expected to produce of the best quality. In fact I have been thinking that this is something like brushing your teeth - you don’t have to be told anymore - you just do it.
Here is my point of view on producing beautiful code, having worked with some very talented folks both within Wipro and outside.
Beautiful code is an attitude: I have met many a good developer in our organization and there is one common trend among them that I love to see is that they are all proud of what they create. As any craftsman would be proud of his or her work, all great developers are proud of their code and defend it well. I love to see the attitude and the ownership that such people display. So the question that one needs to ask is that am I proud of what I wrote today? Will I be able to stand before my peers and say I produced a work of art?
It is a habit: Writing beautiful code is a habit. It does not happen by default. There is genius behind it, it just takes tremendous amounts of training and self discipline to write good code. Developers who produce beautiful code consistently produce beautiful code, regardless of the project pressures, boss pressures and all other external factors that they face along with those who DON’T produce good code. The key difference as I see it is that good developers are habituated to produce good code. They cannot think otherwise. I would imagine that the corollary is true for bad developers as well! So why not get into a good habit?
A Great craftsman has great tools: All great craftsmen constantly polish and maintain their tools well. The same holds good for developers who produce beautiful code. I constantly see them upgrading their personal toolkits that help them produce good code be it as simple as an editor macro or a build system that they are constantly refining and polishing. Have you really looked at your tools recently?
Developers who produce good code don't produce it by accident nor are they gifted in any way. They produce great results through deliberate focus and extremely hard work. Let us all give them a big hand in appreciation of the great work that they do as we will praise any great artist and let us focus our energies and passion on becoming just as great artists ourselves.