"Blessèd Code"

At my work we regularly have business development sessions, where we review performance, do some forward planning, and so on. We also usually do some organisational development – around teamwork, communication, that sort of thing. Last summer we had a session on culture, and the organisational culture in particular. Now I am lucky enough to work in a company that has a very healthy and positive culture – we have a high level of transparency, trust, encouragement, cooperation, and a low level of passive aggression, sabotage, negativity, secrecy, politicking, and so on.

All good stuff.

But then one of my colleagues observed that if we were talking about computer code then it’s sometimes a different story. It can be opaque, aggressive, trying to catch you out, kick you in the backside and laugh about it (metaphorically).

This notion was something of a revelation to me. He is absolutely right though – computer code does have a “culture”, and I don’t just mean the resulting piece of software. Ok, so most of us have used software that seems straightforward and intuitive – it does exactly what you want, and you get the desired effects without even having to think about it. And I imagine that most of us have also used computer programs that could have been written by Satan himself, seemingly designed to frustrate us and make life miserable.

A similar thing can happen with the actual source code of the program. It can be a helpful and co-operative; easy to understand and maintain, you can have confidence that changing one bit here isn’t going to break something over there. Or it can be obstructive and difficult. A spaghetti tangle of interactions, where it’s almost impossible to understand the logic, and you can be pretty sure that changing one bit is going to have a completely unexpected side effect in an unrelated part of the system.

Park that thought for just a minute, as we move to another thread.

Over the past year in particular, I have been thinking a lot about what it means for me to a minister (or priest) at work. This is absolutely not a liturgical or ecclesial role – I am paid to be there as a software engineer and application developer, not a vicar. Never-the-less, in common with all Christians I believe this 9-to-5 is a part of my calling and vocation, and therefore surely my ordained ministry must/should/could encompass this as well? There are a couple of ‘soft’ answers to this; about being a Christian/priestly presence, about building up my colleagues, about ministry to the structures at work, especially where there is injustice or inequality. About being a prophetic voice. While I absolutely agree with all of these; they would also all be true if I was a fisherman, or a management consultant, or whatever. There are also easy answers around the output of the work; if I were a doctor or a teacher, or worked for a Christian company creating worship software, these are all clearly directly working towards the Kingdom of God.

Is there some way in which I, as a software developer, have a specific ministry?

So my thoughts turned towards the specifically priestly ministry, which Jim Francis draws out of the Ordinal in 3 distinctive strands: “bless”, “reconcile”,  and “nurture”. I get these three (and again, think they are common to all Christians) – but what might blessing, reconciling, and nurturing actually look like for me, in my workplace?

Hold onto that thought for a moment as well, as there is one more piece of the jigsaw.

Another colleague recently pointed out that when I write code at work it is not “my” code. I don’t own it. It is the company’s intellectual property, and it may have a lifespan well beyond my time at the company. It is likely that it will not be me who is the next person to edit it. So when I submit a piece of code for peer review, and they suggest some changes, I have to take that seriously because it’s not my code, or my baby (however much it might feel like it). Furthermore, the principal way that I interact with my colleagues (and indeed our customers) is through the code I write. If I write code badly, that causes pain for my immediate colleagues, as well as those to come. On the other hand, if I write code well, that can be a source of blessing to my colleagues. They can pick up a method I wrote, easily understand what it is doing, and why I wrote it that way, and make whatever modifications they may mean to.

It is at this point all these thoughts collide – that the code itself can be ‘nice’ or ‘nasty’; that part of my calling is to be a blessing to my colleagues; and that my code is principally consumed by those colleagues… and you are probably already way ahead of me.

Is it too much to leap to the notion that one of the ways that I can exercise a ministry at work is by writing blessèd code. I don’t mean consecrated, I mean code that it is means of blessing. I mean that when someone I work with opens up something I have written, it can be a pleasurable experience? A joy to see beautiful, well crafted, and elegant code that is a blessing to work with?

And we don’t need to stop there.

The end result (i.e. the piece of software itself) can also be blessèd – a joy and blessing to use. This is potentially a ministry to both our customers, and our technical support team.

Or to move the opposite direction, code can also be “cursed” – again not hexed, but rather a curse to work with, bringing pain and torment. I have certainly seen enough of that code in my career. But even “cursed” code can usually be ‘saved’. It can be re-written or refactored into blessèd code – and might this in turn be a picture of reconciliation and redemption?

And if we are working to create a blessèd environment within which to be joyful and fruitful in our labour, that is something of the Kingdom of God, surely? I don’t think anyone would question that turning a scrapyard full of stinging nettles and old tires into a wildflower meadow, or even an allotment, was bringing about something of the Kingdom of God – order out of chaos, life out of death. I’m not sure that it’s any different for code.

And it doesn’t stop at code either. If you write protocols or instructions, if you run the IT network, if you’re in charge of the laundry – all of these things, potentially never seen by anyone outside our organisation, can be the basis of a ministry to colleagues, a means of blessing and advancing the Kingdom of God.

Or they can be the opposite.

Anyway, apologies for such a long and unstructured post – this concept has been brewing in my mind for many months now, and I am going to write a proper article on it at some point, but I felt like I was going to explode if I didn’t put it out in some form!