The Art of Programming

Art is defined from a viewer’s perspective where many different facets can be applied to many different avenues. Is software development an art? Do developers consider themselves artists? From my perspective, yes on both accounts. Art is about an overall picture and encompasses the entire landscape of a solution. From the little details to the final product and how the users view your solution. It’s the details that make the solution unique and bring out the “wow” factor.
However, this art is fading, and artists are more like assembly line workers. They don’t understand the details, and frankly, they don’t care. But they should.
Back in the 80’s when personal computers were starting to become the norm, all developers had to contend with limitations to the systems and so coding needed to be efficient, concise, and non-repetitive. Developers had to be creative. We learned from others by examining their source code but honorably, not by plagiarizing someone else's work. Instead, we understood what was written and wrote our own within libraries. These libraries would be used as the core groundwork for system beginnings.
Today’s coders don’t worry about efficiency. They don’t have any limitations regarding disk space or memory. There’s a plethora of coding examples on the internet that can be borrowed, requiring very little creativity on behalf of the developers, but the creativity comes from adopting the found code to function with the project at hand. Coders are no longer considered artists. Artists are now the designers, the graphical technicians and even the project managers or business analysts. In this new age approach, the coding is becoming bulky, inefficient, and repetitive. If the program is slow, just get a faster machine or a machine with more memory; that will fix the problem. No, it won’t.
The Crimson Retail Suite was built from the ground up with an artistic perspective resulting in a product that requires very few resources to support. Looking back, some of our development has not been touched for quite some time but still functions perfectly, bringing an enormous sense of satisfaction.
Developers should be taught the art of creative coding and not assembly line work. They should work within limitations and be forced to use specific concepts which were the norm back in the 80’s. This will not only produce better systems but also remove the issues of bug-ridden development projects. Software development cycles will increase but ultimately a better overall product delivered to consumers.
Art would once again be appreciated and artists will once again be recognized.
Will Crimson’s Retail Suite fall victim to assembly line coding in future releases? Not as long as I’m in control of the code!
