Holy Fire
Today I was trying to explain to my father the experience of ‘flow’, ‘the zone’, the feeling the best developers get when their abilities are matched perfectly with the task at hand, met with a singular focus on the problem at hand, and deep mental clarity into the best solution. Everyone has his own way to characterize this awesome feeling, and mine, holy fire, is borrowed from Bruce Sterling’s sci-fi novel of the same name.
Like most things worth groking, holy fire is a tricky concept. One who has the holy fire feels inspired, focused, competent, as though the task at hand has but one clear, obvious, and profoundly elegant solution. The holy fire cannot be resisted or suppressed; one is compelled to let it out. Nor can the holy fire be forced; one can make oneself more or less receptive to it, but it comes and goes at it pleases. The results of those working under the influence of the holy fire tend to be works of genius, or at least better than average.
A burden of those who have experienced holy fire is the knowledge of the inferiority of their other, less-inspired works. An excerpt from Holy Fire expresses this nicely:
I was a bad potter. A wheel kicker, a mud dauber. Technically adept, but lacking the holy fire. I couldn’t commit myself wholly to the craft, and the better I became at technique, the less inspiration I felt. I was sickened by my own inadequacies.
It’s alright to be a happy amateur. And it’s alright to be truly gifted. But to be competent and middling bad at an artifice that you care about–that’s a nightmare.
So said Emil, the bi-polar brooding artist, lamenting his lack of holy fire during his years as a potter. The use of an artist as an exemplar of holy fire is not accidental; holy fire is as much about artifice as technical excellence, as anyone knows who has experienced the aesthetic pleasure that comes when a tricky Knuth algorithm is first grokked.
I’ve experienced the holy fire a number of times in my programming career, and it’s grown more elusive in recent years. Maybe I need a more interesting job. Any ideas?