Art, Code and AI
Some thoughts on how creativity, art, software development and how AI will shape it in the future.
I can’t play a musical instrument. I can’t draw. I can’t paint.
As a kid I always enjoyed physics, engineering and even math.
For the longest time I thought this meant I’m not creative. I placed myself in the “non creative” bucket because not only are my artistic abilities similar to those of a toddler with beetroot puree, but I didn’t “get” art either.
At the same time though, even as a child I would happily rip apart my toys to pull out the electric motors. Butcher my Meccano with a screwdriver to enlarge the holes to fit gears through them. And cobble the whole lot together to create a Frankenstein’s monster of a toy. At the age of 8.
(My girls get Hack Packs and Build Boxes from Crunch Labs instead. They don’t know how good they have it!)
And although I can’t look at the Mona Lisa or Sunflowers and appreciate the beauty in them, I can completely lose myself listening to Divenere (Ludovico Einaudi). (Yes, it happens to be playing as I write this, and I had to stop and just listen for a bit!)
A friend of mine recently said to me, “you forgot you’re an artist”. I don’t think I ever knew I am one. I think I still don’t consider myself as an artist. But I do consider myself as “creative” now.
I don’t know how widely photography is accepted as an art form but for the sake of this article let’s just pretend its universal. I can’t paint, but I can make a pretty good photograph. I’ve been paid for my work.
But the really interesting thing about photography, is that while it can be an art form, it is far far more widely used as anything but. Which what intrigues me in comparing it to writing software in an era of LLM coding.
I carry a real camera most days, I use it to take pictures that look beautiful. I also have an iPhone filled with mundane pictures of receipts, whiteboards and cars. Same person, same type of tool, two very different outcomes.
I think I see a similar division in software. Writing code can be a highly creative, almost artistic endeavour. There are those of us for whom there is beauty in the code itself, be that in its structure or the performance of a tight inner loop. But there is also a huge amount of code that is the equivalent of the photos in my iPhone. Far more in fact than there is code that is beautiful. Even within the same project.
I think it is far too late to delude ourselves that AI generated code will do anything but replace all of that second category. And I think that’s ok.
What I think we will struggle with, as an industry, for a while, is figuring out how to deal with that first category of code. Writing code that way, not just by hand, but taking the time to make it truly remarkable was always difficult to justify in a corporate environment. It will now become, to quote Rick Ruben (Diary of a CEO), indefensible.
In other areas and art forms, doing the indefensible to create something beautiful and amazing may not be the norm but it is very much done. I am a firm believe that in the era of AI where creating the average is easy, we need to make things that are unreasonably good.
What I don’t know yet, is how that idea translates to the actual code. When I spend an indefensible amount of time taking a photograph, the end user sees the photograph and can appreciate the beauty (or lack thereof) in it. When I spend an indefensible amount of time writing code by hand, does the user of the software perceive that difference?
I think the future of being a code artisan, of creating remarkable code that is a labour of love rather hinges on that question.
And if you write code by hand and don’t make it wonderful, why even bother. Just ask the genie to generate it.
