Tuesday 9 December 2014

Are you an artist or programmer?

Are you an artist or Programmer:-

What are your goals?  If you are trying to get a job as a programmer, then you need a portfolio that demonstrates your skill.  You don't need fantastic art if you're going for programming.  But if you are trying to make a complete game by yourself to sell, then you need to have art assets that are "good enough" so people will buy your game.  "Good enough" isn't a black and white area, but I know you've seen games with bad art.  If you are not willing to pay an artist (or you have no money) then you either need to learn how to create the art yourself or create a game that doesn't require anything fancy.

Programming is a subject most often lumped in with engineering or science, and there is countless books dedicated to writing better code, but is this a good approach? To me, it seems much more reasonable to understand it as a form of art.

Art?

So, why is it art? Writing good code does not come solely from studying books and lectures – like other forms of art, it requires practice. Books and lectures can teach you the theory and the technique, but not the art. To be a truly great programmer, you need years of painstaking practice, where you constantly challenge yourself into doing things you’re unfamiliar with – just like other forms of art.

Computer programming is by now both a science and an art, and that the two aspects nicely complement each other. We have seen that computer programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better. Therefore we can be glad that people who lecture at computer conferences speak about the state of the Art.

Not All Programmers are Made Equal

This view that programming is a mechanical process, that its output is either “correct” or “incorrect”, without conception of a vast gradient of quality in-between those is, in my view, dangerous. The most dangerous misconception is that all professional programmers are roughly equally skilled. Yet, time and again, studies show that the difference between average programmers and the best programmer is enormous. It’s difficult to evaluate the actual quality of the code generated, but if you measure efficiency by how long it takes to fully develop the software (including any necessary analysis, testing and maintenance), top-class programmers are up to 20 times more efficient than average ones.

On Hiring Programmers

Most will expect you to have formal education on the area – graduation, at least -, but do not ask you to provide with samples of your earlier work, done privately for your own purposes. Why? If a programmer truly loves programming, and has had time to accumulate experience, then he must certainly have a number of projects under his belt – and probably many made without being hired to do so.

Two artists show up for the interview. One of them presents you a wonderful portfolio, full of beautiful and inspirational pieces of art, but admits that he never attended a single class beyond high school. The second has no portfolio to show you (though he assures you that he has done some “pretty similar” stuff on his last job), but he has a diploma in some art major by some prestigious university. Without thinking twice, you hire the second, telling the first that while his work is “impressive”, they’re not interested in hiring people without a diploma.


If you are the kind of manager who will do the same when confronted with the above situation, but when hiring programmers, then it’s my belief that you are doing your company a huge disservice.

No comments:

Post a Comment