3 ms·
Programming before AI was always variable reward. It was a gamble against your own time and patience. Maybe I'd waste hours down the wrong rabbit holes trying t
by jimmaswell 17d ago
Programming before AI was always variable reward. It was a gamble against your own time and patience. Maybe I'd waste hours down the wrong rabbit holes trying to find a library that worked for my use case. Maybe I'd waste a day trying to get an API to do something it turned out it couldn't do. Maybe I'd have to redo my entire approach because of some factor I hadn't considered. Something I wrote could have worked on the first try or I could have had to spend the day chasing logic errors (or multiple days chasing memory errors if it was C or C++). Maybe I would just get bored of the project, especially if I realized there were 20 layers of yaks I needed to shave first, and Visual Studio got stuck updating again, and before I could even start actually coding I had to spend the entire evening on an exhausting merge conflict. My entire weekend could be gone with nothing to actually show for it.
I got so sick of all this at some point that I slowly stopped doing anything that wasn't my job. But then AI got better and better and I realized it was the ultimate unblocker. When that dreaded malaise started creeping in signaling it was a project's end because I didn't want to waste any more of my life dealing with bullshit orthogonal to what I was trying to do, I'd give it to the AI. It felt like a miracle the first time this worked, and it still does. If we were previously equipped with shovels to dig through bullshit, we now have a fully automated Bagger 288.
The reward schedule now isn't variable anymore; the chance that I finish something in a good state is 100%. I can focus on the parts I actually enjoy - architecting the broader system, making the parts mesh together in a sensible way that's easy to work with and has some mathematical elegance to it, hand coding the bits I want to be really specific about (but now without the endless frustration of bugfixing or import errors and edgecases being immediately discovered, thanks to the AI).
- supern0va 17d ago>Maybe I'd waste a day trying to get an API to do something it turned out it couldn't do. I was working on a side project recently. I had spent months designing the data model in my spare time, thinking through how to make it as elegant and durable to change as possible in the long term, since (if I launched it) the repercussions for getting it wrong would be significant. Once I had a working design, it probably would have been several more months to build a working prototype and start testing it. Instead, Claude knocked out the prototype for me in an afternoon. And it immediately became clear that it didn't work: not because the data model didn't solve all the problems I wanted it to solve, but because it didn't fit the shape of how I quickly learned a normal person would need/want to interact with the product. I was so focused on the long term, that I never thought about what the first five minutes of a user with hands on the thing would need. And the changes needed would be significant. Maybe there's some variable reward mechanism. But I sure was glad to be able to pull that particular slot machine handle and learn that than waste even more of my time on what was a dead end.
- ricksunny 16d ago(Appreciating this entire thread) - side question: you used the word ‘shape’ in the abstract sense, something I never came across until Claude vibecoding came along. Was it common / did you use ‘shape’ in the abstract sense before say 2025? Also, my coming from being a non-coder, I have a lot of appreciation for the possibilities for project failure one way or another due to a data model or project schema being wrong, even though I still only have a superficial understanding of what either of those concepts even are. . My question is, does your conception of data models in the abstract come from a formal academic course, like an algo’s & data structures course, or from trade-knowledge acquired through the practitioner grapevine?
- supern0va 16d ago>you used the word ‘shape’ in the abstract sense, something I never came across until Claude vibecoding came along. Was it common / did you use ‘shape’ in the abstract sense before say 2025? As far as I can remember, this has been fairly common in tech (or at least where I've worked) for some time, though it's possible that my memory here is a bit fuzzy. I will say that my spouse has often commented that "Claude talks like you", which I suspect is because it is trained on a lot of language specific to the tech world. >My question is, does your conception of data models in the abstract come from a formal academic course, like an algo’s & data structures course, or from trade-knowledge acquired through the practitioner grapevine? I have worked for over a decade on the telemetry for a specific major product that most people have probably used, and shepherded it through a major re-architecture, so most of this is from my career. I came in right after it was built and witnessed the pain as things had been layered on over a long period of time as the product evolved, so I've just witnessed all the pointy bits where naive early decisions can come back to bite you later.
- bevr1337 17d ago> It was a gamble against your own time and patience. At this point, what do the words even mean? Your own patience and available time are always completely random and fairly distributed across a large enough data set? > Maybe I'd waste hours down the wrong rabbit holes trying to find a library that worked for my use case. Maybe I'd waste a day trying to get an API to do something it turned out it couldn't do. Maybe I'd have to redo my entire approach because of some factor I hadn't considered. Our ignorance isn't random chance. As we research and experiment, we reduce the problem area.
- jimmaswell 17d ago> At this point, what do the words even mean? Your own patience and available time are always completely random and fairly distributed across a large enough data set? Predicting the time a task will take is impossible. Something that sounds like a 5 minute script can turn into a month of banging your head against unknown unknowns. I lose my patience when the afternoon I allocated is getting overrun by nonsense and I'm missing out on other things I wanted to do or household maintenance. > Our ignorance isn't random chance. As we research and experiment, we reduce the problem area. Every thought we have has random chance to be wrong despite our conviction that it's correct. Descartes' Evil Demon plays his tricks on all of us. How many times have you typed some line of code only to realize it was obviously wrong afterwards? Even for simpler matters we "hallucinate" all the time. I was deep in thought trying to help someone come up with an acronym the other day and felt convicted that "Goal Oriented Augmented Retrieval" worked for GOAL until I said it aloud. Our thoughts and actions are consistently wrong some portion of the time because our meat computers are not perfect positronic brains running prolog. We put cereal in the fridge and say "you too" to the waiter. Every thought we put down or action we take is a gamble on the soundness of the thought or action.