Should I still study computer science?

A student asked me exactly that. I answered by building a company.

Jake Gordon at the front of a classroom, pointing at code for a browser game on a large screen
Teaching a computer science lesson: a small game, built live in the browser.

The question

In February, one of my Year 13 students at Cambridge Maths School asked me a question students across the country are asking. She had an offer to study computer science at a top UK university, one of the best courses in the country. She loved coding. And she wanted to know: with AI, should I still study computer science?

It was a good question. AI tools could already write working programs from a description in plain English. If machines can write the code, what's the point of spending three or four years learning to do it yourself?

I could have given her the reassuring answer that teachers usually give. But I didn't actually know. So I decided to find out.

The experiment

I set myself a challenge: I would build a real, substantial piece of software using AI, and I would not write the code myself. Not a toy or a demo, but a real, working product, that would require complex engineering.

I wasn't starting from scratch. I'm 44, and for 15 years I ran AllYearbooks, a business adjacent to photo books, before selling it ten years ago. I then spent three years working in small start-ups before training as a maths and computer science teacher in 2019. I've written a lot of code and built a lot of software, and that experience turned out to be exactly what I needed to direct the AI well.

Seven months after my student asked her question, the project has become a company. I built it with Claude Code, and it now runs to over 100,000 lines of TypeScript, with roughly as many lines of tests again. Around 100 books have been printed so far, and it's now launching publicly.

I never set out to start a business. I just needed something real enough to test the question properly. But somewhere along the way I was so happy with what I was creating that it became one.

What got built

RGBloom is a small UK photo book company. It makes one book for now, a 21×21cm stapled softback with 28 pages, and sells it for £10 including UK delivery. No sign-up, no delivery charge added at the checkout, and no permanent "50% off" sale.

Three printed RGBloom photo books on a wooden table, two open to baby photos and one closed with the cover title Alice's First Year
The finished article: RGBloom books, printed and posted.

You add your photos, which takes a few minutes, and the system designs the pages automatically in under a second. You can then customise everything before ordering. Our UK printers make it real, and most books arrive within a week.

Under the surface there's a lot of engineering. Your photos stay on your own device until you place an order, which protects your privacy and makes the editor super fast. We delete photos and personal details 30 days after ordering. There's no tracking: we count page visits per day, and nothing about who you are. There's also a page-layout editor, phone-to-computer photo transfer, order handling and integration with the printers.

Across the whole codebase I typed just a handful of CSS tweaks and a single line of JavaScript. I wrote essentially none of it. I occasionally read parts of it, but that turned out to matter surprisingly little. The automated tests, and my own manual testing of the product, were how I knew it worked.

What I actually did

Here's where I found the answer to my student's question.

Not writing code didn't mean I wasn't doing computer science; the work simply moved up a level. My time went on deciding what to build and what not to, designing how the parts fit together, and insisting on good engineering practice such as test-driven development and pure functions (code whose output depends only on its inputs, which makes it easier to test and reason about). It also went on noticing when the AI was heading the wrong way, and testing the product by hand to judge whether it worked the way a customer would need. Every one of those relies on understanding how software systems work. I was using years of computer science knowledge every day; I just wasn't using it to type code.

Creating the system required a wide range of knowledge. A bit of understanding of a lot of different topics: intricate details of how the web works, HTTP, JavaScript, CSS, HTML, how fonts render, how a browser draws to a canvas, how to set up a game loop to keep it responsive and how to share intensive work across threads without stalling. Three moments show what that looked like in practice:

So, should you still study computer science?

Yes, but with a clearer idea of what you're studying it for.

Programming has always moved up levels of abstraction. Early programmers wrote raw machine code, the numbers a processor understands directly, often by punching holes into cards. Then came assembly, where short names like ADD and MOV replaced the raw numbers. High-level languages, from Fortran and COBOL to today's Python and JavaScript, let programmers write something closer to English and maths. From there came frameworks and libraries, packaging up solved problems so no one has to solve them twice. Each step let people say more of what they wanted with less detail. AI is the next step up. Increasingly, you'll describe what you want, and AI will write the code.

That doesn't make the fundamentals less important. It makes them more important. The value has shifted from writing code to understanding it: knowing what to build, sensing when the machine is subtly wrong, and knowing what good looks like. When something is slow, insecure or off, someone still has to understand why, and be able to direct the AI to put it right.

And for students, writing code by hand is still the best way to build that understanding. The frustrating hours spent debugging your own broken programs are what train the judgment you'll depend on later. Coding is changing from being the job itself into being the foundation for it.

Nobody knows exactly how fast this will change, but I find it useful to picture software careers as a ladder, and to consider how AI is reshaping it. The ladder now reaches higher: with AI, an individual software engineer can accomplish more, as I have with this project. The rungs have also moved further apart, so each step up demands more understanding than it used to. And the bottom few rungs, the routine entry-level coding that used to be where you started, have basically gone. If anything, that raises the value of the foundations. They are what get you onto the ladder at all, and they keep you climbing once on.

What this means in the classroom

At Cambridge Maths School, our students already combine computer science with serious mathematics, which puts them in an excellent position. The rigour and comfort with abstraction that maths develops are exactly what working at a higher level demands.

That argument shapes how we teach, but so do the rules of the A level. Students complete a substantial programming project, the NEA, which is worth 20% of the final grade and must be their own work. So until their NEAs are finished, we discourage them from using AI to write code. We do encourage them to use it as a tutor, to explain topics they find difficult or approach them from a different angle, and we accept that they'll occasionally use it to help track down a bug. Writing the code themselves is how they build the understanding they'll rely on later.

Students also learn how AI works. Over a short series of lessons they cover neural networks, supervised and unsupervised learning, and deep learning, and they use real models for face recognition and body-pose tracking with ml5.js, a JavaScript machine learning library (JavaScript is our main teaching language). What we don't yet teach is how to direct AI to build software, the skill my own project relied on most. We'd like to add it once the NEA is complete, but finding time in an already packed course is a real challenge.

We're also honest with students about the jobs market. "I can code" will no longer be enough to stand out on its own. Projects they've designed and shipped, experience directing AI, and depth in an area they care about will matter much more. The foundations they build here, in maths and in code, are what will let them do that.

Where she is now

She took up her place and is now studying computer science at a top UK university. When she first asked her question, I didn't have a good answer. Now I do: yes, study it. The work is moving up a level, and the people who understand what lies underneath will be the ones who get to build what comes next.

Try it yourself

If you'd like to see what came out of a single student's question, you can make a book at rgbloom.com. It's £10, including delivery.

In keeping with the rest of this story, I wrote this article in collaboration with Claude. The experiences, decisions and opinions are mine; the AI helped me shape and edit them. Thanks to Simon Peyton Jones, who wrote on a similar topic in 2023, for his feedback on a draft.

Jake Gordon is the founder of RGBloom, and head of computer science at Cambridge Maths School.