I got this really funny image on a whatsapp chat as a forward. What do you make of it?
This and many other similar jokes on the internet can lead you to think that programmers are this bunch of nerds who hardly have a reality check. On the contrary, they have a reality check. A mighty good one at that! I mean, who else you will go to but a programmer if you want your computers to do what you want them to do! These are the guys who write, design, test, debug and maintain the source code; undoubtedly one of the most important functions.
Just like any other profession, even the profession of programming needs good quality skills. A very basic one according to me is to understand the query. As we can see in the image at the beginning of this blog post, it is important to really know the query a program is attempting to resolve. I guess this is the basic premise on which everything else will rest. If a programmer gets this bit right, then the technical mumbo jumbo is a cake walk. Well, to a great extent, if not the whole!
Let’s look at some important skills that will make you a super programmer. These skills according to me transform programming from a mere job to an art form.
Programming conventions are guidelines. These guidelines detail out standards for everything, right from naming conventions, styles, practices and methods to use in a particular programming language. A good programmer uses these guidelines. Reason, following guidelines increases the chances of code readability. That is exactly what you want, right! So, follow the conventions to the T.
A code is necessarily a secret way of communicating via words, letters or pictures. The basic intent is to save the communication from tampering. It is true for the coding done in programming too. A good programmer should create a code that is closed for modifications at the completion of a module. This will protect your code from malicious tampering. A great programmer is the one who closes the code in a way that it can be used to add functionalities as and when a need arises.
Coupling and cohesion are two critical elements of all programming languages. While coupling is the degree of interdependence between two modules, cohesion is the degree to which two modules belong together. As a good programmer, it is important for you to keep coupling low and cohesion high. The reason is simple. Low coupling enables two different modules to function independently. High cohesion helps better code readability as it deals with inner components of a module working together.
Someone once said what you cannot convey in one sentence, cannot be conveyed even if you write a whole book. Same thing holds true for programmers. If a programmer lifts an entire code from Google where the need is for one function, it is not a great skill. A great skill in programming takes dropping away unwanted functions. This builds into smooth code readability.
Repetition does not work the same way for everything. If you are learning something new, then repetition works. In the case of programming languages, repetition is redundant if you know how to write a smart code. What you got to do is this. Do away with any kind of repetitive functionality unless it is absolutely necessary. This helps you in keeping the code readable. Apart from this, it also helps you in reusing existing functionalities as the project prolongs and the code becomes big.
Interestingly, most of you reading this post will agree with me in saying that these five skills are essential from becoming a good programmer to a great one. Yet, many will fall in the trap of doing exactly the opposite of these good practices. As a good programmer, it is important to really know where to draw the line.