You may have heard about the “Art for Art’s Sake” slogan and movement that had spread widely in Europe in the 19th century, this concept of doing the art for the sake of the art itself not just to make money or to satisfy anybody but just to satisfy the art passion and the desire of the artist himself.
“Art should be independent of all claptrap—should stand alone, and appeal to the artistic sense of eye or ear, without confounding this with emotions entirely foreign to it, as devotion, pity, love, patriotism and the like.” by James McNeill Whistler
This movement included both literature and fine arts at that time but a while after people start to use this concept in different forms like Science for Science’s Sake and many others considering the wide meaning of art and what it can cover under its umbrella and so is the case with programming, which is an art, art of making beautiful and useful things. (I guess there no better quote than Graham’s here):
“What hackers and painters have in common is that they’re both makers. Along with composers, architects, and writers, what hackers and painters are trying to do is make good things. They’re not doing research per se, though if in the course of trying to make good things they discover some new technique, so much the better.” Hackers and Painters by Paul Graham
Programming isn’t the same to all programmers, some consider it an art and a craft while others consider it a painful process to earn a living, that’s why I think Graham wanted to distinguish between programmers and hackers. Hackers according to Graham are the architects of the industry, the software makers who make their masterpieces with creativity and style.
Does History Repeat Itself?
One of the main factors that encouraged the art movement at the time it started was the Industrial Revolution when many crafts and work types lost their meaning and purpose because of a machine or a factory alternative, for example painting became more into an abstract art instead of being just a way to image how things looked like; specifically after Photography rise, new ways and styles of painting appeared, schools formed and being an artist got a different meaning.
This is happening now after the Digital Revolution and the rise of Information Age, many types of work lost their meaning, businesses became much easier, faster and more accurate with computers and high-tech devices, some of these crafts became an art where the rest died, products and services we used to pay a lot of money to get are much cheaper now or even available for free sometimes.
Programming is the act of making software for a computer or any other digital device, it is a result of the digital revolution and what operates it. Here we notice the difference compared to the art case in the 19th century, programming is one of the major weapons of the digital revolution, programming makes alternatives to many work types in real life so they lose their purpose for a computerized alternatives, where art used to be the victim of the industrial revolution as mentioned earlier.
Programming and Art are similar in different areas and from different aspects, it is a different scenario that may force programming to face similar destiny of art and be done for its own sake.
The New Concept of Competition
Programming itself evolved extensively during the past few years, the number of programmers grew dramatically and making software became an easier process as well, many programming languages and frameworks, many communities and methodologies and a completely different market shares for new software development companies.
The existence of communities such as the Open Source community gave programming a special feature in sharing and understanding, which caused a higher level of knowledge and a very quick development approach, programmers start to learn from each other and share their knowledge to help each other do something better or to complete the undone and has to be done.
In the other hand market giants adopted different approaches, some encouraged open source while others didn’t where in both cases as giants they had a very good position to take decisions and direct the market. The existence of the giants and open source communities made programming a high level industry in which the ability to be one of the giants isn’t affordable so programmers either wished to work for the giants or develop a product or service that gets the attention of a huge company that could possibly acquire it.
In my opinion when programming as an industry reach such a level of complexity (market and philosophy wise) it is natural to find a group of programmers who make software for the sake of it and not to compete or anything, just for enjoying what they are doing and share it with others.
What is Programming’s Sake?
Programming for Programming’s sake is when you write the code with creativity and passion, not only to serve users or to earn your living from it. It is when you make the software for the happiness and joy it brings to your heart, applying your methods and spending enough time refining your masterpiece to let it express you and the art you represent without allowing any other factors to affect your craft.
No matter if the program you are doing is already made before or how simple it may sound, when you give it the artistic quality of your mind it will be different from any other one that has ever been made.
Enjoying what we do is something that we all wish to do but sometimes we are afraid to do it or unable to do it because we don’t want or unable to give or sacrifice anything for it, we don’t want to lose our lifestyle, we don’t want to go for less but the question is: How much are we able to sacrifice for something that we really enjoy?
The Thin Line
It may sound simple but it is not, when it comes to real life it’s very difficult to be able to do what you like, do it for the sake of it and be able to live with it. In the past this has created a completely new culture of Bohemianism where bohemians didn’t care about the money or traditional life behaviours but cared the most about their own art, doing it for the joy of it and sacrificing everything in a very ignorant way in return.
It is a very thin line that one should be careful before crossing when it comes to sacrifice, life is full of responsibilities but at the end of the day it’s not important how much you are earning but how happy you are in your life, living without regrets of any sacrifices you made in the past. So I’m not saying that you should always do the programming for it’s own sake because I know how difficult this is, specially if you make your living out of it, but a parallel stream with your work will make you happier with your programming and will even make your programs more artisitc.
This whole idea may sound too bohemian and crazy to some people, but with all the craziness it has in it, I really believe in it and I believe that such concepts is a primary step in the life cycle of every craft, I know it is a very tough road to go through and the idea itself still requires some refining in my head which I will keep on posting about until I reach its best shape. If you liked the idea or disliked it go ahead, share your opinion here and let’s discuss it free and loud…
dotone said..
Either do what you love or simply love what you do ;)
on July 28th at 7:44 pmhussam said..
dear rida :
lately i started to believe that through our quest in this life we have to chose a target , this target might not be clear at the beging or at some points of our life but just trying to reveal it will add pleasure and meaning to that quest .
so to achieve that target we have to :
1- work hard : by implementing all the available resourses and skills we have for the sake of our purpose .
2- sacrify : some times we have to stop at a crossing lines , we have to chose between what bring pleasure to our life and what is necessary to achieve our big target .
and that my friend is what your thin line is all about (at least that what i think so) programming is might be one of two : a tool or a goal , it might be your way of life or a way to live , just dont forget to stop from one time to another and review your calculations in this life , what do u really want and how to reach that need.
on July 30th at 12:32 amthat was my comment , i’m not a programmer but we all have to chose a path from one time to another
klevo said..
I think that to enjoy what you do is the thing you should always aim for. If you work without passion your work will frustrate you every day more and more. Shame that a lot of people are afraid to do what their heart is telling them to.
on August 14th at 1:53 amPuneRuby - Ruby Rails Guide said..
[...] In the beginning I was only into Rails, thinking that Ruby was just a regular language like any other, but later on I noticed that I cound not get the maximum out of Rails if I didn’t really know Ruby well. I started reading more about Ruby, learning it for the sake of programming itself not only to serve my needs; doing some daily programming practises just to gain more experience in the language and to understand its strength. Since then I’m using only Ruby for any job I do. [...]
on August 31st at 12:08 pm