But still we are much better at estimating complexity
Time estimations usually tends to be overly optimistic. I don’t know why. Maybe the desire to please the PO. Or the fact that we never seem to take into account factors such as having a bad day, interruptions, context switch.
T-shirt sizes or even story points are way more effective.
The PO can later translate it to time after the team reaches certain velocity.
I have been developing software for over twenty years, I still suck at giving time estimates.
Time estimations, or conversations to days or other units, typically fail because if a developer says 1 day they might mean 8 focused uninterrupted development hours while someone else hears 1 calendar day so it can be done by tomorrow, regardless of if a developer spends 8 or 16 hours on it.
Yes, I've seen this too in sprint planning. However, the layer of indirection I think is helpful. If you use actual time, then when something isn't done after 1 week when that was the estimate, then bosses are asking why. If your estimate was simply "8 story points", then the bosses can't point to a calendar and complain. They can try to argue that an 8-point task should be done in a week, but then you and the scrummaster remind him that points don't map directly to time, just effort.
I think you sort of have to learn things this way. What else are you going to do? Trust random blogs and comments online so much that you'll ignore your inner compass, which drives you to build a product?
Sometimes I read something on the internet and I think: finally someone has articulated something the way that I think about it. And it is very validating. And it cuts through a bunch of noise about how "oh you should be tuning and tweaking this prompt and that" and really speaks to the human experience. Thanks for this.
Same. After using AI for too long I get the same mental feeling as I do when scrolling endlessly on YouTube, a listless empty purposeless feeling that I find difficult to break out of without a whole night's rest.
Programming was very meditative and fulfilling experience for me, "building something" whatever it is, now I can see it slipping through my fingers.
You know the feeling of starting a new mmorpg video game? The first time you enter a new world, you dont know what to do, where to go, there is no "optimal" way to play it, there are no guides, you just try things and explore and play and have fun. Every new project I start I have this feeling.
Few years later the game is a chore, you have daily quests, guides and optimal strategies and simmulations and if you dont play what elitistjerks say you are doing it wrong.
> Programming was very meditative and fulfilling experience for me, "building something" whatever it is, now I can see it slipping through my fingers.
I've been characterizing it to others as the difference between hand-carving a post for a bed frame vs. letting a CNC mill do it. The artistry-labor is lost, and time-savings are realized. In the process, the meditation of the artist, the labor and blood, sweat, and tears are all lost.
It isn't 'bad', but it has this dulling effect on my mind. There's something about being involved at a deep level that is satisfying and uplifting to my mind. When I cede that to a machine, I have lost that satisfaction.
Some years ago, I noticed this same issue just looking at typing vs. hand-writing things. I _think_ very differently on paper than I do typing at a terminal. My mind is slow and methodical with a pen, as if I actually have time to think. At a keyboard, I am less patient, more prone to typing before I think.
I’m the opposite. I’d rather spend more time in a flow-like state where I’m dreaming of possibilities and my thoughts come to life quickly and effortlessly.
I often find tools frustrating because they are imperfect and even with the best tools you inevitably have to break from your flow sometimes to do stuff in a more manual way.
If a tool could take care of building while I remain in flow I’d be in heaven.
That’s interesting because i love computers and parts of programming. Algorithms are fascinating and I get a deep sense of satisfaction when my program works.
But at the same time I find programming to be a frustrating experience because I want to spend as much time as possible thinking about what I’m trying to build.
In other words I’d rather spend time in the dream-like space of possibilities, and iterating on my thoughts quickly than “dropping down” to reality and thinking through how I’m actually going to build it, what algorithms to use, how to organize code, etc.
Because of that I’ve found vibe coding to be enjoyable even if it’s not perfect.
Perhaps you're confusing enjoyment with necessity. Iteration is necessary to build a good game, but I want to minimize iteration time as much as possible so I can finish the game.
In that sense, the process is the enemy. A long, laborious process kills games.
A while ago I suggested "doom prompting", also from "doom scrolling", but it was for a slightly different mental effect: "It's so close, just one more and it might be exactly right".
Wonder if you've tried spec driven development (as opposed to just prompting)?
I used to create requirement-oriented prompts and I felt something similar to what you describe. However, I've switched to generating parts of my source code from my specs in a semi-automated way and it made the process much more pleasant (and efficient, I think).
I wrote a bit about my current state here: https://alejo.ch/3hi - for my Duende project I generate 8821 lines of code (2940 of implementation, 5881 of tests) from 1553 lines in specifications.
> And it cuts through a bunch of noise about how "oh you should be tuning and tweaking this prompt and that" and really speaks to the human experience. Thanks for this.
I guess if you see everything that doesn't agree with your world view as noise then I can see your point.
Totally agreed. And as the sibling comment points out, it started before AI slop became a thing. I think it's because technological progress in typesetting means you don't have to "care" as much (it is automatic). Of course as a result, this means modern typesetting is "careless".
But of course there is a physical one, that at some point appears. Or, it is a kind of gradation that at its highest peak is a human, and at its deepest depths is...
I didn't say I wasn't a materialist :). It's important for consciousness philosophers to have a sense of humour, I think (and remember the shortcomings of their own arguments).
"The perfect should not be the enemy of the good" is the wrong analogy here. It's more like "death by a thousand cuts". Limitations on free computer usage are like a ratcheting mechanism: they mostly go in one direction.