Vibing Dopamine
Vibe coding, dopamine circuits and continuous integration.
Is vibe coding TikTok for developers? Time for some Friday fun and a look at how our little vibe coding in HPC experiment is going.
Before I jump into vibing out a new HPC scheduler, a little update on the ATS I also vibe coded (whilst sick and delirious). Its in production. We’re now using it instead of the spreadsheet we had previously. It took me less than King Fu Panda 4 to vibe the initial build sat on the sofa with my kids, chock full of analgesics. Pretty cool huh. It took me probably a day maybe two to take the code and deploy it to our production environment. So, what, 8 to 20 times longer.
Writing the initial version was fun. I’d give it a change or a feature, wait a few minutes and Codex would update the locally running version. Instant dopamine factory (for a developer). By contrast, working out the kinks to deploy it safely (build a CD pipeline), was like having teeth pulled. Mostly because there’s no way I’m about to trust any LLM with our live environment or give it access to our secret manager. So, it had to be crafted using traditional, artisanal slow cooked coding techniques. That whole process felt much more painful than it used to. Remaining motivated to get it completed was harder.
Which makes me wonder, is vibe coding going to have the same effect on our dopamine circuits that TikTok does? Regardless of the quality of what it creates, in fact the better it gets the worse this may be. Can we trust that makers of these tools aren’t also maximising for engagement (and token usage in future?) rather than our own productivity (and I don’t mean lines of code!).
In much the same way I don’t trust any LLM with access to our secret manager, and quite frankly not to use anything it creates or works on as training data irrespective of what price-point I’m at. I’m not sure I trust any tech company to put my interests (in the long term).
Back to HAL. AI fleshed out a pretty nice specification which I did read (sort of), I then asked it to create tests to validate a future implementation, which resulted in around 3,500 lines of code. Honestly, I kinda skimmed over it. It looks kinda correct. But AI code always does, doesn’t it. And I’m not sure I want to read it all to validate that is. Which then begs the question, do I trust the tests? Maybe another AI (or the same one with no context).
I see a lot of chatter about how CI techniques with AI coding are more important than ever to increase velocity safely. I don’t see anyone answering the question of how you build trust in AI generated tests. And if you’re hand coding the tests, are you actually going to get any faster?
All the nitty gritty in the prompt history and git history:
