In almost every planning meeting or showcase I sit in, there’s one question that keeps coming up in some form: can this be done?
Sometimes it’s asked directly. Most of the time it’s in how things get talked about - the emphasis is on the fact that something can be done, or that the team got it done. We can do it, or we did it, and that’s the main point.
I think this is probably a me problem, because I used to be exactly the same. But I’ve noticed the question doesn’t do anything for me anymore, and while trying to figure out why, I came across a few interesting tidbits that I thought were worth writing about.
Coding Is (Was?) Fun
When I was a young coder, “can this be done?” was the question. Every idea started there. I didn’t know enough to know the answer, so finding out was the fun part. You poke at it, get stuck, and at some point it just works and you get that feeling of “oh, I can actually do this”.
I think that’s why the question was exciting. The answer was actually uncertain, at least to me.
It’s interesting to look at this through a game design lens. I’ve always thought that fun was about learning a skill, getting good at it, and using that skill to get to some outcome, like getting a reward or progressing a story. But you can also frame it as answering questions:
- Can I do it?
- What happens if I arrange my factory this way?
- Will it scale?
- What if I try this button mashing technique?
- Can I find a tell in the boss animation that shows which attack is coming?
It’s just how your brain works. You put out these little theories, test them against the real world, then take the feedback to refine them or come up with new ones… and I think that’s the actual mechanism behind fun.
Speedrunning Work
Somewhere along the way, and well before AI, that question and answer loop got boring, at least for a corporate slave dev like me. The answer is usually yes, it’s doable, the tradeoffs are known, there’s a prescribed path, and you just need to write the code. It’s forms, CRUD, reports, and integrations with some other system that also has forms and reports. There’s rarely anything in there that’s hard in the “is this even possible” sense. The one question that was always hard was “when?”.
So for me, the interesting bit went from “can it be done?” to “when will it be done?”. It became a bit of a game - how fast can I do it? At some point it became all about working fewer hours. How can I get the same or more output in significantly fewer hours, and then spend the time I saved tinkering with other things and improving my workflow to get even faster?
Maybe part of it was that I was lazy, but I think it’s also because the problems had become tedious, like chores. I understand that most jobs are like this, lol. It’s quite sad… but yeah, speed was still fun. It’s like speedrunning a game - nobody doubts you can finish it, the question is how fast. It’s funny how similar coding is to gaming, at least in my experience.
AI
Then AI happened. Now the answer isn’t just yes, it’s yes, easily and very quickly.
The “when” part of the game has mostly gone away too. Things that would’ve taken me a couple of hours are now a prompt and a review. It’s like speedrunning a game, except you’re not even the one playing during the short time it’s running, lol. You still get to press START and watch the credits though… fun.
We Can, But Should We?
During showcases, when people show what they built with AI, I find myself thinking more and more: sure, we can do it, but should we? I don’t think that gets talked about enough. Now that we can build almost anything, that’s the more interesting question. Software engineering didn’t become free, the tradeoffs just changed, and they’re not what they used to be. That’s a whole other post though, so I’ll leave it there for now.
As for the game analogy, I don’t think there’s an equivalent, because nobody wants an AI to play their games for them. The point of a game is to have fun, not to finish it.