My name is Niall Murphy, and I’m the Director of Software Engineering at Microsoft Azure. Within the Production Infrastructure Engineering group, I am responsible for building teams, guiding overall strategy and implementation, and the business metrics for one of the largest clouds in the world.
Much of my early childhood has disappeared completely. At best I have fragments, sharply outlined and vivid in themselves, but not in any sequence or straight-forwardly relatable to other incidents. In this, and in so much else, I have to rely on my poor mother to help stitch together the story of myself. So I cannot answer when I first became interested in poetry or programming, but I know for certain it was early in my childhood that I discovered the written word.
The relative isolation of being the single child of a single mother in Ireland in the seventies and eighties, combined with interests for which my suburb did not readily supply companions, made relating to others my own age more difficult.
Instead, poetry, music, philosophy, and technology were my great consolations. Although my obsessions were not widely shared, it was highly enjoyable reading the considerable supply of Doctor Who novels that my mother provided her begging son. The escape was also Heaney’s Mid-Term Break, Palgrave’s Golden Treasury, MacNeice, Kipling, Milton — the English canon, I suppose — and the idea of epic poetry. I remember this too: once I dropped a folded sheet of paper on my teacher’s desk asking for permission to write an epic poem. I recall the smile on his face as he unfolded the subterfuge, and I recall writing it, but the most important thing is that I knew it had to be hidden, for if my peers were to find out, that would probably be another beating.
Ireland’s society was, and still somewhat is, friendlier towards the humanities than the sciences. Role models for sciences were the exception, not the rule. I found a summer camp, the RDS Irish Youth Science and Arts Week, which did its best in the rapidly atrophying economic environment of the 80s and early 90s to help people feel it was okay to care about knowing things. This was a deeply influential event, and very saddening when the RDS cancelled it, for unlike most other travellers, I did not find the sciences and the arts to be disconnected islands. To me, poetry and programming lived beside each other, somewhere close by in the domain of art and of mathematics.
While working for Google, on a team which had the interesting task of fending off denial-of-service attacks from Chinese state security, I spontaneously registered to do a degree in poetry studies – full-time, but in the evenings. It was a beautiful experience. Connections were growing in my brain again: history was coursing through every moment of the day. Epics of romance, domination, and software were being incrementally built under the aegis of product-market fit. The attempt to control the world that is inherent in both poetry and programming became clearer. I write to clarify: to firm up this first-order idea of what the right way is.
While I write, I think precisely and painstakingly about the power of words I use, and the higher-level constructions. There are consequences to words and forms we choose: some obvious, some less so. I think hard about how each word relates to the previous and the next. There are words that seem innocuous but govern a whole stanza, and words whose formal weight would seem to guarantee them relevance, but are ultimately forgettable.
Finally, I have it: a first draft. It almost certainly won’t work. Standing back a moment, casting a mature eye on this brittle reflection of art in mental space, one starts to see flaws. See, this approach over here: too dogmatic, naive in its assumptions. It needs to be weakened to survive. These lines here: well-intentioned, but ultimately superficial. And this stanza leading to the climax: too complicated, reaching for the stars when some strong gutter-work would suffice.
So I clench and spread my fingers and set to work: removing here, reinforcing over there, refining my underlying conception with experience. I often don’t fully know what I intended until I’ve finished.
But when I am finished, and I scan the results and lean back with a surprised smile: oh, what a feeling! From mind-stuff as pure as anything of my mind can be, I rejoice in assembling a striking and resilient statement: a collection of words in the right order, with just the right effect. Beautiful. I linger for a moment in that place where everyone lingers when they incorrectly think their art is complete.
Then someone leans over my shoulder, reads, and says “But what about…” — and I sigh. The work to do again.
I don’t know if that describes any other person’s mental experiences when writing software or sonnets. Yet the thing that strikes me is how completely applicable to both practices the above text is. The code, like poetry, has been prepared by people who seek to understand human nature, and in their own way, exploit it. What matters is the struggle. Remember this when you think a codebase less than a work of art, or a poem less precise.