Well, what is art anyhow? I think to a certain degree art, like beauty, is defined in some measure by the beholder. As I have come to define the term ‘art’ for myself; art is a craft that is performed with some measure of inspiration. Anyone with the right training can paint a car, but an artist can paint a car beautifully. To that, much of the same can be said for programming. Anyone with the right training can program and make an application but an artist can make a truly magnificent and efficient application that can be very useful.
Art is a form of communication between humans on a subconscious level; art ‘happens’ when we make a connection that we are consciously unaware of but still feel has some meaning or sense of purpose. Yes I say, programming is an art. Programmers are not too far removed from the traditional meaning of an author; both are smiths of language and syntax – albeit the target audiences are marginally different. One audience hopes to be informed or taken on an imaginary journey while the other audience is a machine that only understands the difference between a one and a zero.
Programming, like any other form of art requires a conceptual understanding and a desire to practice. Does the author long for days of sitting behind a desk in an office? Does the painter wish to deliver the mail? My point is this; in order to produce truly exception art you must produce truly inspired art, which starts with a true desire to learn. If the painter really doesn’t want to paint, it will eventually show in his paintings, once the novelty of being a painter has passed.
As in any form of art, the truly inspired practitioners seem to share some likenesses in character and personality. The art of programming traditionally seems to attract those who display an outwardly analytical rational, are mathematicians, are good with different types of puzzles or may have a background in the science community. By no means is that a concise list of personality markers but does embody some of the more common ones.
Programming is certainly not going to be for everyone, like many things it takes a particular genetic makeup to have the desire to be a programmer and not just ‘be’ a programmer. I don’t have to be a painter to enjoy going to an art museum, just like you don’t have to be a programmer to appreciate your favorite computer game.