Theme:

Decoding the puzzle

Tagged with:
AI
Developer
How developers can find joy in the world of AI
An icy robot with glowing blue eyes and a pink heart sits surrounded by falling puzzle-shaped ice blocks, some with glowing '0' and '1' symbols. Neon blue and pink light illuminates the scene.

The joy of puzzles

Do puzzles soothe you, too?

In a 2018 interview for “Women who code in Umbraco", I shared that coding feels like “getting to do a logic puzzle book every day”, calming my racing brain and doling out that satisfying dopamine hit on completion. Big tick, gold star, turn the page.

Yet as AI seeps further into our world, problem-solving developers may start to wonder what challenges will remain. For the achievement-oriented who love to fix bugs, will you get the same thrill of adrenaline when your AI tool spots an N+1 problem in line 36? Or will it feel like someone has cracked the safe for you?

Seismic shifts in AI will make this article out of date within minutes of publication. But I’m not here to be a harbinger of doom - I'm a realist intrigued by the future. I hope to offer some rays of light on how developers can thrive, even with AI elbowing its way into everything.

Why cheating isn’t fun

In the 80s and 90s, you couldn't google the level of a game you were stuck on, but there were magazine walkthroughs, premium-rate phone lines, and cheat codes. These codes were created to help developers test games faster, giving them advantages like infinite lives or power-ups. One famous example is the Konami code, a sequence of commands to unlock features or Easter eggs on games or websites.

An image of the Konami code sequence of arrows and letters: Up, up, down, down, left, right, left, right, A, B

Konami code: Up, Up, Down, Down, Left, Right, Left, Right, B, A

As players gleefully cruised through games using cheat codes, something jarred with me. The buzz of completion felt diminished. I wanted to know that I'd successfully navigated the game’s parameters by myself.

DIY happiness

I grew up dabbling with Shoot 'Em Up Construction Kit, and remember “helping” my grandad build a crossword generator in BASIC. But the first time I got to write my own code was in an MSc Computing class. A switch flipped in my head when I created a pixelated pink house in a little Java applet. The parameters were endless; an open sandbox of creation. And each time it compiled and ran, I got that instant feedback loop of pleasure. This was like gaming, but better! 

But why did it feel good? In his book, “Thinking, Fast and Slow”, Daniel Kahneman discusses two systems of thinking:

  • System 1: Intuitive and fast, like pressing the spacebar or kicking a ball
  • System 2: Deliberate and slow, like designing a complex algorithm

System 1 can get us into that immersive, unconscious flow state, whereas System 2 challenges us, pushing us to make a mental effort to be, as Kahneman puts, “engaged but laborious”. Human happiness expert Arthur C Brooks coined this feeling “earned success": a productiveness with meaning.

So coding gets me to a happy place when I've earned it. Yet as AI handles more coding tasks, where is the reward in unconscious line completion?

Is AI just for the grunt work?

The theory is that we'll give AI the boring stuff to patiently work on while we spend our time architecting the bigger picture. Yet AI is no longer confined to repetitive tasks. As IoT-Now describes, AI can handle more memory and data than ever. Complex, general problems are not out of reach, especially as we edge closer to the advent of Artificial General Intelligence (AGI).

But a human still has to execute the actions, right? Well, there's already an AI developer bot called Devin who is empowered to undertake permitted actions even on production servers. AI programming companion tools like GitHub Copilot have scope for automatic integration with CI/CD pipelines, and it won't be long until it's standard practice to give a command to AI to provision the necessary infrastructure. Does this remind you of how assembly language was abstracted away?

With more of the dull (and fun) parts out of the way, you could free up your headspace for things like:

  • Deep work, as explored in Cal Newport's blog “On Digital Minimalism”
  • Training and testing AI models
  • AI and API integration
  • Strategising
  • Emerging technologies
  • Mentoring
  • AI management
  • Ethics

Perhaps AI will naturally transform roles, clearing up time to develop new skills, tackle creative problems, and collaborate with others. Yet we need to be mindful of what sensitive data we upload to the tools. A lot of effort will be spent managing the AI itself. It's critical that as an emerging, largely unregulated industry, AI has conscientious thinkers at the helm to guide it morally (presuming our own implicit bias doesn't sway things…).

Female programmer at a desk coding, accompanied by a robotic rubber duck with glowing eyes and mechanical features

When rubber ducking becomes robot ducking

Robots, ruining all our fun

As an AI cranker and spelunker I openly use it as a creative tool, but I have many conflicted feelings.

There are ethical concerns around the source and diversity of training data, as highlighted by the LAMARR Institute. And rapid advancements in AI have the potential to widen the wealth gap (The New York Times). This growing digital divide stems from several factors:

  • Fast network dependence: AI requires high-speed internet, which isn't available to all
  • Prohibitively expensive: Even if costs reduce, AI will still be a luxury expense unaffordable to many individuals and small businesses
  • Governance affects access: Region-specific legislative rules could ban AI or limit access, perhaps requiring a costly license
  • Competition intensifies: If everyone with AI can find the best solution for a coding task, what sets you apart - especially if you don't have access to AI?

The reality is that if you aren't using AI, your competitors likely will be, and their efficiencies will be reflected in their pricing. This conjures up a dystopian scenario reminiscent of supermarket battles to drive down farmers' milk prices.

As tasks across industries become increasingly automated, we face an unsettling philosophical question, widely pondered by thinkers like Stephen Hawking: How will humans find meaning in a world where we might not be… needed?

Is the Singularity near?

In 2022 at the excellent Bristol innovation conference Umbraco Spark, I did a talk called “Decorating your Umbraco Content with AI” (slides, for the curious). I demonstrated how OpenAI’s DALL-E could generate images based on text. Generative AI has advanced dramatically since then, with AI content creation undoubtedly set to become a standard feature in CMS platforms like Umbraco.

At the end of my talk, I pondered whether AI might replace my job as a developer. It was a light-hearted question, but two years on would it still get a (nervous) laugh? 

Futurist scientists like Ray Kurzweil have long discussed the existential risks that AI brings to the job landscape. The concept being that once robot-driven automation reaches full swing, there will be little left for humans to do.

Articles from a decade ago are full of jolly jokes about Skynet. The BBC’s tongue-in-cheek article "Singularity: The robots are coming to steal our jobs" now feels strangely raw. One can't help but feel misty-eyed about a time when the idea of a robot passing the Turing Test was decades away.

Forbes magazine reveals that companies are already hiring AI employees; it's not a stretch that software engineers' roles could evolve into prompt engineers. How might developers handle this scenario?

Handling an AI world

There will be those developers who reject AI, stoically using their preferred IDE raw and unfettered by any automated code generation. They might uninstall ReSharper and other tools that rely heavily on AI. They will Google for results (not Bing) and reject the AI-generated answer summary. Eventually they'll opt out manually, if that's even an option, as AI becomes threaded through every tool they use. Perhaps they will sell their code at a premium like a local craft brewery.

A homely oat-brown badge saying "Artisan ethical code, handcrafted the traditional way"

Will future software houses be like artisan bakeries, selling premium ethical code, handwritten the traditional way?

Then there will be those who pine for the old days of coding, still knowing by heart how to implement a binary search or write regular expressions without checking. They will use AI, but in the wistful manner of a cinematic artist who has been forced to switch to filming digitally. Or a post-satnav taxi driver with The Knowledge. 

And there are those who will, with a mixture of awe and trepidation, roll with the changes whilst finding ways to maintain joy in their work.

Meet your jamming buddy

Years ago, in AI terms (2021) I did a brown bag presentation called “Writing Music with AI”. I'll resurrect it one day. In it, I consider AI as a virtual jamming buddy; someone to bounce riffs off and unlock creative concepts.

In 2024, this is even truer; with my Suno music generation experiments, I've given life to lyrics I buried away for years. And just wait for OpenAI’s video generator Sora. Although, awkwardly, Suno and others are currently being sued for alleged copyright violation...

Three black and white story dice on a dark marble surface

Roll the dice as prompts to stimulate creative new storylines

I’ve got these story dice. You roll different symbols to help formulate your story, using the images as inspiration. I always felt Generative AI was a similar creativity tool, rather than a direct replacement.

Even in this article, you can tell it's Emma Garland talking; I even told you stories from my childhood! Yet I used OpenAI's ChatGPT to source research, create imagery, and bounce ideas off, like a peer review.

But a jamming buddy or peer reviewer probably wouldn't be in your room every night. Could we erode our original creative skills with over-reliance on AI? For a start, if your network goes down, it could be like the time Stack Overflow had a stack overflow and no one could code.

Human jamming buddies can still play offline. They are also intuitive and empathetic, something that AI currently can only ape.

The skill of prompting AI

As ex-Google CEO Eric Schmidt notes in his “The Diary of a CEO” interview:

“Way back when, you had to write the code. Now, AI has to discover the answer.”

Our role becomes that of creative director, shaping the prompts to guide AI toward our vision. It’s not just a case of giving a prompt and getting the desired outcome; there is an art to how you phrase things to tease out the deliverables. It can take hours of patience and multiple generations to achieve something close to your requirements.

Engaged experimentation gives us back that valuable earned success feeling we discussed earlier. After all, you wouldn't skip through a stunning and immersive open-world game with a cheat code, just as an escape room isn't as fun the second time.

The joy is in solving the parameters of the game, and this is where it feels exciting again.

New game, new rules

What if we enjoy the experience of pulling the fruit machine handle to see what AI can generate, finding its limits and seeing how far we can push it? And secretly laughing when it gets it very wrong (because sometimes AI can feel like an overly eager classmate always putting their hand up, and nobody likes a show-off).

A chaotic retro 80s-style pixelated fruit machine bursting with neon symbols, coins, and hearts in vibrant tones

As long as you keep putting those shiny coins in me, I’ll keep pumping out that sweet, sweet content!

Charlie Hoehn says in “Play it Away: A Workaholic’s Cure for Anxiety" that when you prioritise play:

“Life becomes less about what you achieve and more about how much you enjoy each moment.”

The way we work might change, but we can still get a massive buzz out of it.

So let's remember to play. Instead of worrying about losing meaning in what we do, focus on what we give meaning to. We are unique humans, shaped by our own inimitable, private set of training data. By collaborating with others—both human and robot—we can continue to solve the puzzles in our worlds without losing our sense of fun along the way.

Or maybe we should just ask ChatGPT.