I have been busy hacking since I got back from my long holidays. I didn’t miss computers while travelling around the world. Not for a second. When you hike up a volcano and engorge yourself in the beautiful views only this planet can reward you with it’s hard to think of computers let alone hacking.
But now that I’m back and re-engaged my hacking mode I’ve gained a whole new appreciation for what the act of building software gives me. I like building things. Silly things. Any things. It’s fun. I find it engaging and fulfilling for reasons I don’t quite fully understand. To be honest, I’ve never really thought about the reasons. Is it the dopamine I get from solving problems with code? Is it the feeling of accomplishment? Is it just the IKEA effect at play? I don’t know. Frankly, I don’t really care that much about the actual reasons behind it. It’s the effect the activity has on me what matters.
I feel like I’m not the only person feeling this way. Having been working with some really talented folks recently who love building things at least as much as I do I’m starting to notice a real difference between the builders and the LARPers. I’ve never really paid much attention to it in the past, but I’ve always suspected LARPing can’t be as satisfying as the financial rewards that come with it. Builders seem happier. They find a lot of satisfaction not only in the building itself but equally in building with other like-minded people.
I have been hacking a lot on LLMs and AI agents recently for both fun and profit as part of my consulting engagements. I dont just build things on top of LLMs, I also build with LLMs. Sometimes it feels like pure magic other times it feels like a chore that spirals out to sheer frustration, particularly when some of these models are built to be apologetic by default. There is nothing that can push my buttons more than when I ask an LLM why it’s generated a specific piece of the code and it responds with:
I apologise for my mistakes…
Naturally, when you spend a reasonable amount of time interacting with LLMs you can’t help but think about where SW engineering as craft is headed. Sure, the now infamous Devin demo has turned out to be a pretty cool PR stunt but nevertheless it did show a glimpse of things to come. Maybe not exactly as “advertised” but if you ever used any of the existing code assistants you can’t help but feel the change has been put in motion. The first ripple in the ocean has been triggered. How do we meet it at the shore?
A lot of people in the industry are starting to feel the shift. Not just me. At least the ones that have been paying attention and especially the ones who have been building with LLMs and are learning to appreciate some of of the powers they can grant us if we learn to wield the LLM axe the “right” way (NOTE: I still don’t think industry fully knows how to do it but the progress has been steady to make prompting more like SW engineering than witchcraft)
I particularly like this tweet by Darren Shepherd. Darren is the person who made the GPTscript. A nifty tool that leverages LLMs for all kinds of fascinating SW engineering and automation tasks. He’s seeing the future unravelling in front of his eyes better than most of us in the industry.
Perfect. That's what it always meant to be IMHO. SW is a means to an end - solving [business] problems, not an industry in its own right 🤷♂️
— Milos Gajdos (@milosgajdos) April 22, 2024
My response to Darren was a pragmatic attempt at coping with the reality. Though I love building software I’ve always thought of SW as a means to an end, not the end itself. At least in a professional setting, we write software to solve business goals. It’s an enjoyable activity for most of us who are in it not necessarily for the financial rewards, but also for the intrinsic motivation of creating things people enjoy using.
Which is what made me think of, what happens when the thrill of building goes away. Not entirely but to a large extent. What happens when SW does become the art of prompting and assembling the results generated by specialised LLMs? Businesses will naturally benefit from this shift. But what about the builders? Will the dopamine rush we get from solving a problem with code be as rewarding as it is when an LLM spits out the solution? Will we get the same satisfaction from making things for users when we end up playing a marginal role in the making itself? Perhaps. Or not. I’m not sure.
I’m not panicking. Neither am I nostalgic about the profession that’s earned its place in history as a craft that few of us fully understood and fewer still mastered. I’m merely wondering about what lies ahead. As SW engineers we took pride in automating people out of their jobs. Literally. It’s our turn now, I suppose. At least partially. I know it’s not the end. But it’s certainly starting to look like the end of the old ways and the beginning of something very new. The door has opened and we must walk through or we risk being left behind. But what’s on the other side is yet to be seen.