\

Ask HN: Anyone writing code from scratch or mostly doing architecting and LLM?

3 points - today at 2:25 AM


I'm assuming most firms have access to LLM, is it true? If so, is anyone really writing code from scratch lately or relying on the tool to write code for them?

At work, I have access to Github Copilot but it has a lot of guardrail. It is great to debug issues. Minor fixes and enhancement, it is useful. I mostly double check what it wrote and make sure it's code that I can read and understand. If it uses too many shortcut, I tell it to become more 'human readable'.

Now, I've been wanting to learn Python coming from Java and picked up Automate Boring Thing with Python Book. I'm looking at one its exercise which is to walk a tree directory. I can either memorize how its done in Python or just rely on LLM to write it.

Am I wasting time doing these exercises when they can easily be done with LLM within one or two shots? Because doing these exercise from scratch is very time consuming and I have to go back and forth to remember the syntax & libraries.

  • cpach

    today at 10:44 AM

    “is anyone really writing code from scratch”

    Oh yeah, lots of people do. I have friends that hate AI and refuse to use it at all.

    However, I guess it depends on what you mean with “from scratch”. In a corporate context, I would say most code-writing is fixing bugs or adding features to an existing project.

    “Am I wasting time doing these exercises when they can easily be done with LLM within one or two shots?”

    Depends on what your goal is. If you want to get better at programming, how would you get better if you don’t let your neurons form new pathways? However, perhaps you are more interested in the output and not in the process. But some day, you might need to debug your code, and then those pathways in your brain might come handy.

    • al_borland

      today at 4:11 AM

      I still write most things myself. So far, Copilot has been very unreliable with what I’m working on and it often costs more time than it saves. I mostly use it for one-off regex or json stuff.

      As far as Python goes, I think it depends on your goal. If you’re just trying to get something quick done, you can probably use an LLM. If you’re trying to learn something new and get a new skill, I think it’s worth going through it on your own. The examples might be easy for the LLM, but those are building blocks you’ll want so you can understand more complex things that the LLM might trip on.

      I would also say, don’t try to memorize everything. You’ll always have access to reference material, LLM or not. So it’s more about understanding and the concepts and building blocks, not about memorizing the exact way a specific thing is done in the book.

      I went through Automate the Boring Stuff several years ago. I went through the Excel stuff, but didn’t really commit it to memory. I just knew a year later that Python could solve my problem when it came up, and was able to find the stuff I needed and put it together. It also gave me some ideas on stuff I could do that I probably wouldn’t have thought to automate otherwise. So going though it can help get your brain asking the right questions, even if you ultimately use an LLM down the road. It will also help you write better prompts.

      • justforfunhere

        today at 5:26 AM

        When it comes to writing small scripts for various utility tasks, I now rely heavily on LLMs.

        Additionally, lets say I would like to write something new that I don't know anything about, I now go first to a LLM, or two of them, to get an idea of what would be the best approach. It saves a lot of time that would otherwise go in research and discovery.

        But I still don't trust it enough to write production level code. When I am writing something that I know will be released in a product, I steer clear of LLMs.

        All of this when I am doing my day job. For my side projects, I try not to use LLMs.

        • aslansahin

          today at 9:09 AM

          I'm an experienced SWE. I brainstorm the architecture using LLMs. After finalizing my design in Notes I break it down into independent components. Then, I ask an LLM to implement each component one by one in a single thread. Each component should be runnable on its own using unit tests.