I realized something on the train just a few nights ago. I can't draw worth a damn, paint my way out of a paper bag or sing even if my life depended on it. (And I'm clearly no good at forming an original metaphor. (But keep reading!)) Despite all that, though, I've still got some shred of creativity in me.
After all, software development is largely a creative process. But I guess I'm realizing recently how much it can really be considered an art.
And like most artists - who usually end up working for The Man - a dulled, watered-down version of my art pays my bills. I still love it, of course, but it's undeniably commoditized.
To contrast that, though: I've been working on my own little web app for a month or two at night, and it's a completely different experience. I agonize over every line, every bit of the user experience. I want it to be perfect. Not for the client, not for customers, or profitability. For me. For the pure enjoyment of the act of writing clean, useful code.
If that ain't art, what is?
An interesting corollary to this. When I started this project of mine, from concept to code, there was zero financial motivation. I strove for clean code purely for code's sake.
I think software has its own similarity to the more refined arts, and that is this: Like art, the best software is made for free. Without deadlines, without clients, without concerns about "the demographic."
This is one of the strongest arguments for open source software that I've never heard. I've heard tangents to the thought, about the process being about 'want' rather than 'need'. But it hardly encapsulates the strength of the argument. The creators of this stuff LOVE it. They breathe it, they dream about it (Literally. I know I do.), and it's clearly not just to pay the bills. It's passion practically unmatchable in for-profit software development.
'Code poet' is such a frickin lame term, but I'm starting to realize that in some facet, that's exactly what I am.