• towerful@programming.dev
    link
    fedilink
    arrow-up
    13
    ·
    2 days ago

    As a solo dev, Claude has moved me from a “code writing developer” to a “system making developer”.

    Someone would come to me with a problem, I’d chew it over come up with a plan and execute it to the best of my ability. And I loved writing the code, solving the problems, learning new stuff, and ultimately seeing something I built get used and make other people’s lives/jobs/whatever better.
    But many times I would come to the conclusion that it’s beyond my skillset (or I could do it, but the sheer quantity of learning would mean I don’t hit the deadline or that I wouldn’t be confident in the result) and not take on the work - despite understanding the problem they want to solve.

    Now, someone comes to me with a problem and I either say “yeh, I can solve that. But let me dig into it a little first”, or I say “I don’t understand that enough to be able to design a solution for that”.
    It’s no longer beyond my skillset. I have to understand the problem presented, I have to understand what the users want, and I have to understand what the result is. From this, I can know what the code/architecture/frameworks/stack will probably look like.
    That’s the first step of solving a programming problem.
    I don’t necessarily have to know/learn exactly how to achieve it.
    It feels like I’ve gone from solo-dev to manager.
    Thankfully, I guess, I’ve done full-stack, k8s, native app development. So I have experience.

    Which brings me to my point:

    I spent a few minutes reading through the documentation to better understand how the Astro configuration worked.

    I’ve had this exact scenario.
    Then I point Claude to the docs, and then it “knows” how to solve the problem.
    I point Claude at the docs because I know the specific software can solve a part of my problem, because I have evaluated previously that it can.
    I don’t necessarily know exactly what I’m looking for, or what exactly the answer is. I don’t necessarily know the keywords to be able to find it on DDG.
    But Claude could probably suggest something, and I’ll know what I’m looking for when I see it.
    I’ve even had Claude build it’s own docs from a GitHub repo of docs because the actual API docs are trash (looking at you Vimeo).

    LLMs aren’t smart. They are expensive to run. And they take a LOT of the fun and knowledge out of programming & development.
    But they are a tool.

    • Trail@lemmy.world
      link
      fedilink
      arrow-up
      13
      ·
      1 day ago

      Honest question. If you claim you are not good enough to build it, how can you evaluate that what you are getting is good or not?

      • fuzzzerd@programming.dev
        link
        fedilink
        English
        arrow-up
        7
        ·
        22 hours ago

        Not who you asked, and I don’t mean this to sound pompous. I don’t believe (there’s probably some but go with me for a minute) there’s any software task I couldn’t do, given enough time to research the domain and understand the problem space.

        When folks say they couldn’t do it before, it doesn’t mean they aren’t mentally capable to do the task, it’s the time or speed constraints that are in play. What coding agents do help you close that gap. It doesn’t make you an expert in the field, but as an example it can help you understand the domain, nomenclature, acronyms that you would have had to research.

        This doesn’t invalidate your ability to judge a solution as good or bad. It also doesn’t prevent the agent from using code you don’t understand either, so you still have to figure things out but it can help speed some of those up.

      • towerful@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        20 hours ago

        Yeh, fair question.
        Recently I built a Non Linear Editor for Vimeo VODs.
        The server downloads the VOD, extracts key frames using FFMPEG, allows the user to create a bunch of sections and where they get uploaded to, then FFMPEG does a stream copy to extract those sections, and then upload them.

        I knew all of that was possible. I had never done HTML5 video players, I had never spawned FFMPEG from typescript, there was a lot of html/CSS that I didn’t have experience with.
        Previously, I would have passed on this work.

        But after defining a plugin system for source/destination (so it can be used with YouTube or whatever), and splitting each stage into workers, the code itself is fairly easy to evaluate.
        I didn’t need to know how to get to the result, I just knew what shape the result should look like so I could drive the LLM, and then I just had to read the result and google anything I didn’t understand.
        And ultimately, I don’t really care “if it’s good or not”. The definition of “good” is that it works and is robust. Other than that, it’s looking for code smells.

        I guess I am lucky that most of my work is “one and done” instead of long-term support.

      • pinball_wizard@lemmy.zip
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        I’m not the one you asked, but I bet they get paid, either way.

        Knowing if the delivery is correct or not - is the job of their boss (or their boss, or their boss, etc). And that accountable person is - by the laws of probability and publicly traded compamy capitalism - probably an idiot. Lol.