Since the publication of Donald Knuth's seminal work, The Art of Computer Programming
, those in the know understand that making software requires a special creative outlook that makes the undertaking more of an art form than not. Yet, over the years in the never ending quest to predictably protect and assure a Return on Investment businesses have created a process driven programming paradigm more akin to the manufacturing of washing machines than to the creation of software.
While having processes that produce reliable results are essential to the success of any commercial enterprise, relying solely on process in the manufacturing of the ideas and intangible constructs that are core to the practice of software development is not enough. More is needed. This "more" is the presence of mind that is typical to artistic pursuit.
Allow me to elaborate.
The truly extraordinary software developers that I have met want to make something of extraordinary significance. They have a unique blend of disciplined creativity, well formed aesthetic principles and superb engineering skills. For them the code is an expression of who they are and what they care about. And, at all times they are intent on amazing those who use their work. They give it their all.
I consider these people to be artists. Not surprisingly, many of these gifted developers are also accomplished musicians, writers, and graphical artists.
To quote California-based developer Peggy O'Connor:
"… dreaming up an application which delivers the right stuff requires allowing the solution to bubble up into its own unique form, which is exactly the same as staring at a blank canvas, paintbrush in hand, allowing the vision to firm up in the mind's eye, and then following with technique."
Yet, many commercial organizations don't seem to value the artistic aspect of software development. And sadly many rank and file software developers don't seem to accept the artistic nature of their vocation. Rarely do you see "disciplined creativity", "demonstrated history of making extraordinary code" or "ability to amaze users" as the utmost requirements listed in a job requisition. And, if an organization does "get" that art counts, the business tends to treat the artistic side of software development as some "nice to have" way down at the bottom of the job description, well below a list of languages that need to be mastered and frameworks that need to be known.
Not only is undervaluing the role of artistic endeavor an impediment to the pursuit of making code that counts, NOT pursuing artistic endeavor creates a workforce of programmers that lacks versatility, lacks the ability to create elegant ways to solve complex problems and lacks a sense of dedication to the purpose at hand.
Artists have to create no matter what. They're good at getting themselves out of creative jams. For example, a piece of marble with a serious crack in it did not stop Michelangelo from using the stone to make the statue of David.
640K of RAM did not stop the engineers at Borland from building a graphics engine into that old DOS spreadsheet program, Quattro Pro that produced multi-color graphs that are timelessly dazzling.
Such people have to realize a vision regardless of the obstacles encountered.
So, if we can accept that there is a lot of art in the practice of software development, how to we promote the artistic pursuit of software development within a commercial workforce in a way that is genuine and profitable?
Getting an organization to value its employee as artists is not easy. Too often artistic pursuit is associated more with entertainment than with making powerful, useful software products. But change is possible in baby steps. The following are three steps that an organization can take to get the ball rolling.
* Don't Belittle Artist Expression in the Employee
* Give Permission by Doing
* Address Self-Doubt
Don't Belittle the Artistic Expression of the Employee
As I mention at the beginning, the tendency in the unenlightened, workaday corporate world is to treat artistic endeavor as an activity for moral building entertainment or something reserved for the "creative talent" found in the Advertising Department or within Creative Services. In such cultures, were an employee to take a risk and display the courage to do something as seemingly trivial as make a pencil drawing for display on his or her workstation, it would be not unusual to hear a passerby make a snide comment such as, "What are you doing, trying to be Van Gogh?"
Yet the employee making the drawing is doing something that is anything but trivial. It takes a lot of thought and intention to make something that was not there before. Not only is the artist trying to make something out of nothing, he is continuously trying to figure out how to make that something better. Belittling the undertaking is not only discourteous; it can be devastating to the individual. So if you see it; stop it! There is no benefit to quashing creativity in action.
Give Permission by Doing
In the corporate world most people want to do their job and get ahead playing by the rules. Few people want to stick out or operate beyond the norm. Yet making something really valuable by operating beyond the norm is what artistic pursuit is all about.
For better or worse, most employees look for permission to do something new. If we accept that doing or making something beyond ordinary significance is something to be fostered among the workforce, the easiest way to get things rolling is for the boss to take the lead.
If the boss is making pencil sketches and putting them up on his wall for the inspection and analysis of others, there is a good chance that subordinates will do likewise. If the boss gathers his or her group together on a regular basis to listen to piece of music and make comment, chances are others will do the same. Permission to create is implicit.
If you are a boss, telling someone that it's OK and desirable to make a beautiful piece of code has far less impact than showing a subordinate something you've made but moments ago. Then, once you, the boss, set the example, asking the employee to show you something he or she has made will create a win-win experience that will produce astoundingly continuous returns.
Once an employee is given permission to consider one's work an artistic pursuit requiring significant presence of mind, self-doubt sets in. Many times self-doubt becomes paralyzing.
Left to one's own insecurities, self-doubt will fester and grow. However, if an employee is part of a supportive group, one that values the artist in each of us, self-doubt can be overcome. Sometimes it's as simple as one employee saying to another, "Every one of us wonders about our talents, if we really can do something amazing. You are not alone. The trick I've found is to put my feelings of self-doubt aside and just get the paint on the canvas and the code in the editor. I never abandon my desire to something extraordinary. However, I don't get on my case if things don't go according to my aspirations. Good things take time and practice."
Embrace the Beautiful
Imagine a workplace in which employees bring it all to the table, where a coder makes programs with the same presence of mind and intensity that a gourmet chef makes an omelet; where framework architecture lasts as long as the Eiffel Tower has stood, and a place where code reviews are a celebration of the creation of the quality, production, expression, or realm, according to aesthetic principles, of what is beautiful, appealing, or of more than ordinary significance.
Imagine a place where employees walk around in a state of never-ending exhilaration because they are part of a group that is always doing something that has more than ordinary significance, something that is extraordinary.
Such a place is possible. All we need to do is to embrace the beautiful, to look at what we do not only as an example of engineering excellence and technical proficiency, but also as an expression of who we are and what we care about.
And, it all begins with, "Today I will make something extraordinary."