I have a theology degree.

I know, I know. But hear me out.

I was in my final year of a theology degree — studying at Queen’s University Belfast, specialising in the intersection of religious experience and analytical philosophy — when I decided I should probably learn to code. Not for any particular reason. I just thought it would be useful.

That was in 2023. AI coding assistants were real but not yet mainstream. I started with the same resource everyone starts with: Google, Stack Overflow, and a lot of confusion about why my code didn’t work when I copied it exactly.

Then I found an AI coding assistant. I don’t remember which one first — something early, something imperfect. But I used it. And something clicked.

What actually changed

The thing about learning to code as a non-CS person is that you don’t have the mental model that CS graduates have. You don’t know what’s “supposed” to be easy. You don’t know which problems are solved and which are genuinely hard.

This sounds like a disadvantage. Sometimes it is.

But here’s what I found: when you don’t know what’s supposed to be hard, you don’t know when you’re supposed to give up.

I tried things that CS graduates would have known were difficult, and some of them worked. I attempted things that were genuinely simple and found them confusing, and then I learned why. I had to understand everything explicitly — there was no “oh this is just how it’s done” shorthand that let me skip the reasoning.

That turned out to be useful. Not because the explicit understanding was better — it wasn’t, in most cases — but because it meant I had to reason through everything. And reasoning through everything is what programming actually is.

The theology degree connection

In theology, you’re trained to hold two things simultaneously: the text in front of you, and the context it was written in. You’re trained to ask: what did the author mean, and what did the reader understand, and are those the same thing? You’re trained to be comfortable with ambiguity that doesn’t resolve neatly.

Software development is the same. The code is the text. The context is the system it runs in, the users who interact with it, the requirements that changed mid-development. A function that looks correct in isolation can fail in production. A theology degree trains you to live in that gap — between what something says and what it does, between the intended meaning and the actual effect.

What AI changed

AI coding tools didn’t change who can learn to code. They changed how long it takes to become useful.

When I started, the bottleneck was: I knew what I wanted to build, but I didn’t know the syntax, the idioms, the standard library calls, the debugging strategies. I spent enormous amounts of time on things that a CS graduate would have known instantly.

AI coding assistants compressed that. Instead of spending 20 minutes searching for why my list comprehension was wrong, I could ask and get an answer in 10 seconds. Not because I’m lazy — I would have searched — but because searching is a tax on attention. Every minute spent looking up syntax is a minute not spent thinking about the actual problem.

The interesting thing is what that compression did to my learning. I expected to learn less — to become dependent on the AI for things I should know myself. What actually happened was the opposite. By removing the friction, AI made it possible to stay in flow state longer. And flow state is where actual learning happens.

The honest version

I am self-taught. I use AI tools. These two facts are related.

I can build what I need to build. I understand what I’m building well enough to debug it, extend it, and explain it to someone else. I don’t have a CS degree. I have a theology degree and a lot of opinions about how to structure a neural network.

The question I get asked most often is: would I recommend this path? Learning to code with AI tools, without a CS background, for someone who isn’t already a developer?

My answer is: it depends on what you want. If you want to work at a major tech company as a software engineer, get the CS degree. The degree isn’t really about the coding — it’s about the credential, the network, the internship pipeline. That’s a different game.

If you want to build things — real things, useful things, things that solve problems you actually have — then you don’t need a CS degree. You need a machine that removes the friction between thinking and making. AI tools are that machine. A theology degree helps more than you’d expect.


44 repositories on GitHub. I built them with AI tools. No CS degree. No apologies.