Ben Chesser


Generative Artificial Intelligence and Creative Fulfillment in CS

The unsolicited junior developers perspective on generative AI as a tool for software engineers.

April 1st, 2025

On my first day of my first computer science class, my professor put a quote from Fred Brooks, famous American computer architect, software engineer, computer scientist, and founder of Chapel Hill’s computer science department, on the board:

“The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.”

But today, with more and more junior developer code coming straight from generative AI, the rise of “vibe coding” and integrated genAI IDEs, new software developers don’t have to work removed from thought at all. At first, this was a liberating idea. I can build whatever I think of. I only need to be able to interpret my own thoughts and explain what I’m looking for, then a large language model can produce the code to accomplish my goals. But something is being lost in this process. Instead of building a castle in air from air, I’m asking a machine to build a castle and it’s made from pumping CO2 into the atmosphere. The pitch Brooks was originally making is changing, and I would argue that this change is an unfulfilling one.

Many of my friends, peers, and even mentors have told me that generative AI advancements are no different for software engineers than the developments of the past like high level programming languages and StackOverflow’s widespread dispersement. But I would argue there is a fundamental shift in who is doing the work. High level programming languages were for the software engineer like the shift from finger paint to paint brushes was for the visual artist. The tools were better and allowed for more precision even though the artist was technically further from the canvas. But now, generative AI is like telling my friend to paint a tree for me. Yes, it might make a beautiful (though derivative) tree. But I did not paint it. This creative loss is talked about much less as an issue than the more material and occupational worries for computer scientists today.

Fred Brooks described software development as spell casting. The software developer was a wizard and his code an incantation:

“The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be. Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.”

But programming has changed. No longer do I need to sift through ancient texts to adapt my spells to the task at hand. Programming has shifted from a creative profession to a translational one. You are just translating and communicating back what the machine tells you. Young software developers don’t feel like they are the ones casting the spells. Now, it feels like a computer is writing out the incantations, and we the programmers are just here to glance over them and fit them together. This can be incredibly demotivating, but at the same time it’s impossible to just ignore.

All this might then beg the question: Why not stop? One could delete their ChatGPT account and try to code like they’re in 2010. But there’s a feeling of being at a total disadvantage to my peers if generative AI is not used. There’s a reason these tools are so popular: The sheer amount of output when coding with generative AI is much higher for me, at least as a junior developer. Even though it might be making us worse at coding and satisfies fewer creative longings, it’s easy. It’s straight sugar when we could force ourselves to eat our vegetables.

I’m not going to stop using generative AI. It’s useful and helps me complete personal projects much faster. I’ve been pretty pessimistic in this post, but if used right, it doesn’t have to paint the tree for you. It can teach you techniques to paint the tree yourself and be fulfilled about it. But as we move forward, as computer scientists, we need to ask ourselves some tough questions. What are we trying to replace: The brush or the painter? I’ll leave these thoughts and rambles with one of my favorite modern poems on the subject.

For a Student Who Used AI to Write a Paper
By Joseph Fasano

Now I let it fall back
in the grasses.
I hear you. I know
this life is hard now.
I know your days are precious
on this earth.
But what are you trying
to be free of?
The living? The miraculous
task of it?
Love is for the ones who love the work.