This feels like what is really splitting the programming community right now- those that have typically enjoyed the journey, and those that just want to be at the destination as soon as possible.
They are different things. There are projects where I deeply care about the code, and projects where I deeply care about the end result. And a whole lot in between, or that are entirely throwaway.
But I use AI also for some of the ones where I deeply care about the code, now. E.g. my terminal is in Ruby, and it worked well enough, but over the last couple of days I had Claude put together a test harness and burn down a number of sharp corners and refactor the code. It's not perfect still, but it's cleaner than it was because I didn't have time to do enough yak shaving myself. I do care about that codebase, because I have other things I want to use it for, and not having to do it all manually gave me enough time to get it to a far better state.
I feel like a lot of the split comes from people who are a whole lot less overcommitted. If you have way too many projects, you pick and choose which projects you want to lovingly care for and which ones you just want to advance the functionality of as fast as possible. Sometimes those are one and the same at different times.
This was well put. Some things I just want done because I need to use them now. Some things I want to take my time because it's an opportunity for me to expand my knowledge graph and/or something I want to be durable (so it can't be slopped up).
Sometimes one turns into the other. For instance I started building an agent based wiki generator fully vibed. I just wanted to test out if it was possible to mostly automate information extraction and conceptualization. Tried three times before realizing that the path I was attempting to travel was just not going to get me the results I wanted (fully automated meant I was not reflected in the wiki). So I finally started more carefully vibing out an application that implemented some of what I learned would be useful, at the same time I was developing a structurally similar app for local dev harnessing. Realizing that they had a lot in common, I started yak shaving and focused on building a framework that would make it much easier to whip up these types of agent based apps. This is the thing I started from the ground up building much more intentionally and thoroughly.
AI is used all throughout, but the amount of leash differed from holding without looking to wrapped around my wrist twice I'm basically holding the collar at this point.
It makes me of the difference between the indie developer who labored over Stardew Valley vs. (for example) Square Enix putting out a farming sim because their committee of suits decided they wanted revenue from that genre.
Yes, and/but, many enter life once the horse riding is the dominant culture. It never even crosses their mind that smelling the roses is a thing they could or should do.
I’d argue most businesses have had their start through yak shaving.
I’ve found that the overuse of AI papers over a lot of problems. Then if things start failing people have no idea where or what to start fixing. I’m very much a destination person, but I’ve been on enough rides which crashed and burned to be cautious about it.
Speaking of things that I don’t buy. Metaphorically yesterday this site would gatekeep over enjoying the process of coding itself. People who merely programmed for a 200KUSD paycheck, pphew, disgusting.
Made a post about how you learned to touch type? Or improved something keyboard-related? “I don’t think that typing code was ever the bottlenck”.[1] Now we’re supposed to be grateful for non-deterministic code completion, ah it saves us millions of keystrokes a year.
Some will cry Goomba Fallacy. Yeah of course. Could be that many lurker accounts started posting more, displacing the gatekeeper typist hackers. Now it’s all of a sudden an even split. Huh.
The OP was not about AI. But thankfully there was a top-level meta comment to drag us down into that pit.
[1] The non sequitur of it all is a separate topic
In my experience it's not as simple and depends on a whole lot of circumstances: generally I am interested to learn and to build. Give me pressure through dysfunctional processes, understaffed teams, unrealistic standards, too strong peer opinions- etc - and I'll happily reach for the shortest path.
But I use AI also for some of the ones where I deeply care about the code, now. E.g. my terminal is in Ruby, and it worked well enough, but over the last couple of days I had Claude put together a test harness and burn down a number of sharp corners and refactor the code. It's not perfect still, but it's cleaner than it was because I didn't have time to do enough yak shaving myself. I do care about that codebase, because I have other things I want to use it for, and not having to do it all manually gave me enough time to get it to a far better state.
I feel like a lot of the split comes from people who are a whole lot less overcommitted. If you have way too many projects, you pick and choose which projects you want to lovingly care for and which ones you just want to advance the functionality of as fast as possible. Sometimes those are one and the same at different times.