Comment by ang_cire

15 hours ago

It's funny, because I would consider myself a tinkerer (and I have a large backlog of pre-LLM programs), but the coding itself isn't the main thing that brings me joy, it's the phase 2 and phase 4 combo: figure out how to solve it, see whether your solution was correct (and actually use the program for its purpose). The actual implementation is extraneous to that.

To carry forward the sudoku analogy, I care about figuring out which numbers go where, and whether I was correct, I don't care about the mechanical part of actually penciling-in the answers (coding).

I'd say, in this analagy, step two is filling in half the numbers by gut feeling, and then three is seeing how wrong the guesses were and actually solving it.

  • Perhaps I'm uncommon in that I make diagrams and even sometimes pseudo-code (mostly in the form of mapping out function names, because they serve as a proxy for program flow paths) before I write actual code, but I don't find myself really going off gut feeling. I have a pretty good idea of what the program is going to look like and do before I start, and with e.g. Claude I give those to it, so it mostly looks like what I envisioned, unless it suggests changes.

    • For me, unstructured things (like non-formal diagrams, notes, pseudocode) are close to useless. I much prefer sketching the API surface in code right away and then iterating on it, building abstractions which cut the shapeless thought blob into neat, predictably interacting parts. The code is my notepad and the compiler is with me, every step of the way, catching contradictions and handwavyness.

3 doesn’t matter that much (unless it’s part of 2: new language or new libraries), and that’s why I don’t use LLM for it. Because LLM forces you to pay attention, yes you can have something that works somehow in one go, but the code makes you queasy (too complex for the purpose, or just weird).

So I do 3 because coding is like writing English for me (which is my 3rd language). I don’t care much for it, because it’s neither hard no easy. It’s just mechanical.