Becoming a better programmer
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” – Martin Fowler
Programming the proper way
I love programming, and I love programming the proper way. I belong to the school of thought that believes that programming is as much an art or a craft, as it is a science or an engineering. For me programming is not just another activity that humans do to make money. It is my passion! Of course, I do earn money by way of programming, but then there is nothing wrong with that.
You might be the best programmer around, and you may be knowing the ins-and-outs of the system/platform that you use. But that won’t be very useful unless you write code in a manner that makes understanding your code a snap, really! This is important if your code has to talk sensibly to the other members of your team, including those poor programmers (mostly inexperienced guys) who are going to maintain that code a few months or years down the line.
Right now you are probably wondering, “What the heck is this ‘programming the proper way’, and how can I go about achieving that?”. I am getting there, and so please be patient.
Please note that whatever that follows has nothing to do with Java, DotNet, Delphi or any other particular technology. These are some of the all-time great ideas about programming. These are by no means my ideas. I am just trying to expound the cause of what I like to call ‘programming the proper way’. It is about becoming a better programmer.
Self-documenting code – the central theme behind becoming a better programmer
In order to program the proper way, we need to have a good grasp of the concept of Self-documenting code, and how to write that. As Daniel Read says in his wonderful essay, “Self-documenting code does not get written by accident”. You need to work on that, just like any other skill in this world.
To know more about Self-documenting code and other programming principles, please read this article by Daniel Read at his award winning portal DeveloperDotStar. I highly recommend anything that Dan writes.
Elsewhere, there are a couple of nice articles about writing Self-documenting code. Read them in this order:
- The Art of Code Documentation
- Using PDL for Code Design and Documentation [Highly recommended]
Then there are other basic but highly ignored stuff regarding good conventions in programming, and luckily, there is a very nice summary available in the form of Software Development Guidelines at the Literate Programming website.
Code Complete – the bible of programming
Of course, whatever links that you see listed above happen to be free resources in the web from where you can start the journey. However, if you really care deep enough to become a better programmer there is a kind of one stop resource; a resource from where you can learn whatever you learned above and some more and then some even more. I am talking here about the wonderful book by Steve McConnell, Code Complete, whose Second Edition was published last year. It is without a trace of doubt, one of the best books ever written on programming.
So what do you do next?
Of course, I am not so naive to assume or suggest that just by reading this post and by implementing the ideas proposed here you will become a great programmer. But this much is assured: you will be a better programmer that you were before you knew about this stuff. To become a truly great programmer, there are just a couple of things you can do. One: work hard at your programming skills including practicing a lot and Two: read as much as and as often as you can about programming, and go back to One.
Finally, even if you don’t care a damn about any of these ideas, please do the programming community a favour by passing on this message to your colleagues and friends. Who knows, someone somewhere might just be interested in becoming a better programmer! Thanks for having the patience to read thus far :).