‹ BackHN Continuity

Thread

Born Against, or why hobby programming communities are against LLM usage

403 points · 476 comments · lladnar

  1. alkonaut · · focus · HN ↗
    Programming has five phases effectively:

    1) You figure out what problem to solve.

    2) You figure out HOW to solve the problem.

    3) You actually implement the solution.

    4) You see the solution work, for yourself.

    5) You ship/deploy/publish the program. This means you see people be happy users and/or you get paid for it and so on.

    If you're an entrepreneur type, you probably enjoy the first and last steps most, and you see steps 2-4 as mostly a chore. If you're a tinkerer, you don't care much for 1 and 5, and you see 2-4 as the whole point of programming. I'm a tinkerer. I'd be happy to just write code and throw it away. Coding is like solving sudokus. I could skip steps 1 and 5 forever. I don't ever need to show any code to anyone. In fact, most of the time when programming I do steps 2 and 3 and even skip 4. I don't even finish! I work weeks on something until I lose interest, and I know that in order to even run it, it would be several more weeks. A PoC is enough. Or just a half one. It's just code-to-structure-thoughts, not to create anything finished.

    The 5 phases look kind of symmetric. The outermost layer (1 and 5) are the entrepreneurial steps. If you're a product owner or CEO, you might work strictly at steps 1,5. Then steps 2-4 are the managerial/architectural steps. If you're a very senior IC at a large company, you might work at this level, without actually doing much coding. Only the inner most step (3) is the manual creation of source code. Even though it's 5 different phases, it's just "3 layers" of programming.

    The problem as I see it is that I enjoy step 3. And LLMs are good at step 3 almost exclusively. So they just pick the best bit of this dish, and leave me with the rest.

    If you're an entrepreneurial type, the LLM appears to take the _worst_ bit of the work from you. Great.

    1. fhd2 · · focus · HN ↗
      Nice analysis! I would perhaps add that LLMs are pretty helpful at (2) in my experience, as long as you don't turn your brain off. (As a Google/SO replacement, mainly.)

      I have about three modes, working with LLMs:

      A) Just use them for (2), do (3) and (4) myself.

      B) Just use them for (2) and (3), but with very fine grained instructions - to the point where it barely saves me time.

      C) Use them for (2), (3) and (4), but with this workflow, it quickly degrades into slop for me.

      I still get the best results with (A), but for a quick PoC, (C) is hard to beat.

      What's hilarious (or sad) is that I see a lot of people throw them at (1) as well, which seems to have a high chance of inducing AI psychosis and creating software nobody understands, let alone needs.

      1. rob74 · · focus · HN ↗
        Regarding (2) figuring out how to do things at a higher level (e.g. the general architecture of an application) is pretty different from figuring out things at a lower level (e.g. how to fill text with a certain gradient in CSS - the stuff where years ago you would have spent hours reading documentation or browsing StackOverflow until you figured it out, if you weren't familiar with the topic). So you could use an LLM just for (2b) and (3) and do the rest yourself.
        1. skydhash · · focus · HN ↗
          > the stuff where years ago you would have spent hours reading documentation or browsing StackOverflow until you figured it out, if you weren't familiar with the topic

          Why is it always hours to consult docs? I find most answers within minutes (including if I have to read code) and it’s only take a bit longer when I want to understand the why’s.

          The key is to make sure you have the right questions. I see people struggle with that where they only know something wrong but they can’t put it in words.

          1. rob74 · · focus · HN ↗
            Ok, maybe you're one of the fortunate ones. With "if you weren't familiar with the topic", I meant the situation where you know what you want to do, but have no idea how exactly to accomplish it. Especially with frameworks, which generally have a quite rigid way to do things, if you're unfamiliar with that, it can take a while until you get anything done, despite good documentation.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.