Was du ererbt von deinen Vätern hast, erwirb es, um es zu besitzen.

I have to confess that these days I rarely write code by hand.

Whether in my consultancy business or at my day job as Head of IT, when I actually have to sit in front of Visual Studio at my keyboard, I am mostly tweaking and debugging someone else’s code, or describing what I want rather than crafting it line by line.

Once, this code used to be entirely the product of squishy humans, but these days… not so much.

I write this sitting in Heathrow T5, waiting to fly to Hamburg for an internal meeting on the future of structural biology and data management. AI will dominate the discussion, as it now dominates almost every serious technical conversation. AlphaFold revolutionised structural biology, and now the entire field seems to be in a race to collect as much data as possible in order to feed the ever hungry models.

My mind wanders to software engineering, the industry I spent most of my professional life, and to my life in general, where this latest technology has entered the world and is already having a massive impact. Summoned by the genius of Man, like a real world Mephistopheles, providing easy knowledge to all who but ask.

I think on how much my work is changing, from writing lines of code to orchestrating and debugging. Shifting from the how, to concentrate on the what.

In the past, I would have to hold the entire model of a software application in my head. Crafting its aspects line by line, in the same way as a craftsman might build a building. Every creation bespoke. These days, I mostly describe my vision to others, I concern myself with the what and the why, and leave the how to another. AI, much like a team of junior coders, is leverage, and allows me to generate plausible looking software very quickly (insanely quickly with AI), and so my role has shifted from craftsman to architect. Specifying intent clearly, detecting subtle errors and integrating outputs into real live complex systems.

The irony of course being that the less I type, the more responsibility I have.

Debugging the Alien Mind

The mind of an AI is not human, and it can be wrong in subtle ways that even an experienced engineer has a hard time spotting.

It cannot be trusted in the way a human author can, it hallucinates confidently and fails silently.

There are rewards for those of experience who can wield this new tool, and I personally have found it to be a major source of incredible leverage, making my role faster and more efficient, and leaving me to focus on the more impactful aspects of my role. But the necessary ability to spot the subtle errors and misunderstandings quietly punishes newcomers.

Do we comprehend the deal that we are making?

Pulling up the ladder

Senior engineers come from being junior engineers, and as AI eats the white collar world like industry previously came for blue collar, it is realistic to assume that in the near future there simply won’t be junior engineer roles anymore. Junior engineers used to learn by writing bad code. If AI removes that phase, we are not accelerating learning, we are removing it.

I am benefiting personally, but what about the wider world?

It’s a trap, of course. While I’m fully cognisant that I am training my replacement, and sharing data with fairly shady individuals, I have little choice. Individuals and business that don’t use AI, for whatever reason, will soon be out competed by those who do. Soon, much like how a smart phone went from expensive luxury to practical necessity, AI will no longer be optional… and I’m beginning to think that point is behind us.

Certainly, right now, if you work in any form of white collar or creative field I would make a priority of learning the capabilities of the tools available. You don’t have to be an expert, but these tools exist and AI is coming for you regardless, best be prepared.

Opportunities… but for Whom?

As I previously stated, AI is leverage.

Whatever your field, a one man band can now produce things that entire teams would be needed for even a short time ago. Some decry this as the dying of art, while others embrace the new tools and produce wonders (and having got deep in the world of AI generated music videos recently, I can tell you first hand how impressive these things are even in their infancy).

Solo developers now have to tools to produce working tools very quickly and with minimal cost. Debugging complex problems now becomes a rubber ducking therapy session with ChatGPT.

There is opportunity there, but I don’t think it will arrive evenly distributed. The winners will not be coders, it will be system thinkers. It will be the people who can conceive of what needs to exist that didn’t before, rather than those who can craft optimal C code.

Sadly, however… you need fewer of those people, and therein lies the rub. Once your local grocery store had rows of checkouts, now it’s mostly self service check outs and one bored guy there ready verify your age when you try and buy a beer. Humans are the most expensive line item of most businesses, and so there’s a strong incentive to have fewer of them, and what you do have being higher skilled.

Telling yourself that “AI couldn’t do my job” feels increasingly like denial. This is still the dial-up modem stage… and we know how that story ended.

Faust vs Doctor Faustus: Two Visions of the Bargain

In the story of Faust, Goethe offers us a tale of striving, doubt, and eventual redemption through effort and responsibility. While in Marlowe’s Doctor Faustus, we are offered a shortcut to power, followed by loss of agency and damnation.

In both tales, Mephistopheles is a shortcut to power and knowledge – astonishing capability with little upfront cost. But the question we are asked in both tales is what we give up? I rather think my industry, and the world in general, hasn’t made up its mind which version of this story we are living in.

On one hand we may face a world full of mass unemployment, deskilling of the population as we defer to AI for everything, concentration of power into a handful of individuals who control the models, and a world of fragile systems nobody truly understands.

On the other, we may head into a world where humans are freed to focus on what makes them uniquely them, with powerful tools that let them create uninhibited. As a kid, I often imagined what I could create if I, say, had access to a “do what I mean” AI and a Star Trek replicator. Could we be moving into that world?

Ultimately, we’re in the middle of the story, and anyone who claims to know what will happen is almost certainly wrong.

Choosing to Earn What We Inherit

Ultimately, AI is a tool. One that gives us access to incredible leverage, but without caution it could be very dangerous. A bargain with a demon that we don’t fully understand.

We can’t un-invent it, and given the growth in capability, we’re at the bottom of a hockey stick of exponential growth in power. The singularity? Probably not. But that doesn’t really matter at this point.

However, we can face this with wisdom. Judgement not blind automation. Something to work with not surrender to. Ultimately, will we earn this power and salvation, or will we be consumed by it?

I type less than I ever have, and yet I feel more responsible than at any point in my career. That, perhaps, is the real bargain we are making… not less work, but more consequence.

Over at the day job I recently had the need to write a quick keycloak login integration for my team.

I needed this to interface with our central login server, and extract a token in order to be able to interface with our GraphQL data management APIs, so that our new research project output pages could be built out by the rest of my team.

Thought this might be of use to folks, if you need it! Supports login/logout using OAuth2 and OIDC, as well as token refresh to extract a token compatible with our GraphQL library.

Have fun!

» Visit the project on Gitlab...

In my previous article, I speculated on using OpenAI’s LLM API for service selection at the day job. Idea being to guide a prospective researcher into the appropriate services from our catalogue to conduct their research.

I bashed something together on a frustrating Friday afternoon, and it seems to work quite well!

To accomplish this, I pre-load the chat with some instructions, e.g. “behave like an expert structural biologist with experience of all suitable technologies” which is surprisingly straightforward.

The secret sauce comes when it comes to loading the catalogue. Basically, I pull all the services and construct some JSON consisting of the names, the description (which is useful for understanding the limitations of the technology), and a “apply url”. I instruct the LLM to select appropriate technologies from the list, and then give me a valid application like where appropriate. These links will automatically create a new proposal in our access management system, ARIA, so that the user can directly apply.

I ask the LLM to consider alternative technologies that the researcher may not have considered, as well as pipelines where appropriate.

Initial tests are… very positive, I have to say!

This was of course an experiment, and there’s a question as to whether we roll this out on our live site (not least of which the European Commission is … touchy… right now about using US based LLMs), but… not bad for an afternoon’s flight of fancy.

Next, I’m going to possibly start looking at vector databases and how they could be applied to the statistical analysis of deposition metadata, but this might be better directed towards some lucky individual’s PHD thesis.