One of the most fascinating things about software development is just how easy it is for people to get away with being called professionals, while producing code with a quality only marginally better than what I could get from a well-trained chimpanzee, and in half the time. It's true, to an extent, that software development and design is both an art and a science. There are often several ways to achieve a given goal, and the trade-offs between some of the options can sometimes come down to a matter of personal preference. On the other hand, unlike expressing oneself through a painting or a poem, there are, in fact, wrong ways to write code.
To extend the art analogy, one cannot write a poem in a language one has not learned. There is an art to choosing the words you use, but to choose them artistically, you must first possess a certain level of fluency in the language. Likewise with software, the artistic portion really should only be happening when you are decidedly strong in the basics of the code, and it should mostly be happening at the design level, not by individual implementors. Producing working, bug-free software in a predictable period of time requires discipline and a methodical effort. Getting creative with the code nearly always leads to long delays and more bugs.
No comments:
Post a Comment