« Back to blog

The Single most Important thing for a Coder

I was having this discussion with a friend of mine today as to what the most important thing for a coder is. Is it good coding ability or good coding standards? Is it about writing basic code which everyone can read or is it about writing brilliant code which no one can fathom, leave alone understand? Is it about knowing one technology/API/framework to a point from where you can rebuild its competitor technology/API/framework, or is it better to have a decent working knowledge of most known technologies around you? I keep having this talk with a lot of my friends and fellow coders. There are many attributes to this ever debated and talked of topic. However, there is this one standard denominator which puts all those talks and debates in unison. Everyone agrees that it is the core concepts of the subject, the very first principles that matter more than anything else. Furthermore, it is ones ideas, creativity and acumen that start mattering beyond a certain point in every coder's life. And no one can escape that simple test of strength. Yes, it is true that one needs to know the technology, and the ways and means to get his ideas and work out there. But, all the is secondary. There are a lot of people in the world who will tell you that. What no one can tell you or teach you is how to be creative. No, there is no recipe for that and maybe thats why it becomes so very important. People can still teach you the 1st principles over and over again, to a point mind you. But there is no one in the world that can tell you the secret of the coming up with the next best idea. That is one place where every coder, woman and man alike, are on their own. With all this talk, I can not help but remember a chapter in 12 standard English. It gave out a simple message:

All the morals and virtues in the world have no or little meaning, over an empty stomach.

Pretty straight forward. We can afford to talk of good coding standards and practices, like morals, only after the good (and working) logic and design has been developed and we are ready to start coding over such a comfort. There will be those who will try and instill good naming conventions and output formats in your code. There will be those who will make you look lousy when you can't write nested for loops without proper indentation. But remember, those people cannot write good effective letters with the same so-called presentation as required. Writing good code and writing good arguments are the same thing with a difference in the medium of language. You miss one, you are likely to miss the other. You find one, you are likely to find the other. So when anyone asks me what is the Single most important thing for a Coder, I will say: sound, rock solid logic. And there is no substitute for that.