Look this isn’t at all a defense of slop code, but it has me thinking — how much does code quality matter, and why?

It’s maintenance, right? We care about readability because we know we’ll have to make changes, fix bugs, etc.

But so … imagine a codebase that’s magically bug-free and feature-complete. (I’m aware this is a strawman - that’s the point, it’s a thought experiment.) Does it matter if this codebase is well-written? I’m not sure it does! (1/5)

@jacob "If the roof stays up and the floor is dry, does the build quality of my house matter?"

Yes. Yes, it does.

@meejah Why? Say more!

@jacob The view from the top of the mountain is great -- but it feels better (more "accomplishment") if you get there on foot instead of a chair-lift or helicopter.

I at least put non-zero value on "the process" and the methods used. I don't necessarily have a great way to articulate this feeling right now.

In climbing, one may "climb a climb" on toprope, on lead or even free-soloing. These come with different intrinsic rewards, even if the end-point is the same ("alive, and on top").

@jacob I believe some of the more scholarly posts I've read about the value of "trying, and failing" in learning apply here too: that being told the right answer by an oracle machine doesn't lead to the same learning as "doing the work" yourself (i.e. making mistakes, etc).

Everything I've learned about mentoring seems to back this up: if you just tell people the right answer, they do not learn it as well (nor appear to feel the same) as if they fail, then find the answer.

@jacob (...and of course there's some balance: continuing to flail and fail is not going to produce learning either, unless there's a TON of motivation).

Coming back to a climbing analogy, if you try to climb something _way_ too hard for you, it's just going to be frustrating (or fatal) instead of producing accomplishment.

So two "equal" programs (that produce same/similar output for inputs) will still be judged differently (by humans) based on other factors (like "process"). IMO.

@meejah See, I don’t disagree with you — but also you gotta be careful because the metaphor cuts both ways. Is someone who can’t walk less deserving of seeing a summit? I spend a ton of time in the wilderness doing stupidly viscerally feel the importance of “earning it” — but also know how much privilege plays a role. Difficulty and accessibility are opposed. Would it be a bad thing if non-programmers could build programs? Hell no! (Are LLMs the right tool to solve that problem? Also hell no!)

@jacob Yes, there's no absolute scale here. Someone finishing something important to them is no less "deserving" of feeling accomplishment.

I'm not sure why I went to "physical" examples, but this applies to lots of areas. I should have kept it about 'craft' (in the widest possible sense) I guess

I do believe that people will feel _less_ "accomplishment" if the thing wasn't "hard" (for them!) though. (That is, climbing the stairs can be just as much an accomplishment as any mountain)

@meejah Yeah totally. There’s also like a multitude of motivations, right? Sometimes I build a table by hand because woodworking is enjoyable and the craft is important. Sometimes I just need a place to put my drink and IKEA is fine. Sometimes I write code because coding is enjoyable and craftsmanship matters. Sometimes I just need a damn website so people know how to get to the wedding.