Ask HN: Anyone writing code from scratch or mostly doing architecting and LLM?
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.
Small targeted use of LLMs is the sweet spot for me, that can include Claude Code usage but not “write me this huge feature kthxbai”, I use it with dangerous permissions but I normally ask it to do small tasks that I review/tweak right away. That plus Copilot (auto-complete, I don’t care for the agent mode) is what I’m using right now.
I do lean heavily on Claude Code or other LLMs for small scripts and one-off tests. It’s amazing for that, “here are some log lines, I want I extract X, Y, Z from each line and write that out to a new file” or even little tools to wrangle out ticketing system “write a script to read ticket ids from a file and update each ticket to fill out the deployed version field with the value I pass into this script”.
Lastly, not exactly “writing code” but I semi-recently started asking Claude Code things like “find me all the places we do X in the code base” or “how does Y feature work”, it’s FAR from perfect but it’s an amazing starting point. Claude code doesn’t need to write code to be useful, just being able to spider through my codebase and pull out insights is amazing.
Any systems / low-level / embedded developpers who could give their grain of salt on this? I'm a student and I'm specializing in embedded and systems programming, but everyone around me (webdevs) tells me LLMs will take over and writing C and Zig and Rust is useless... Should I just give up on my passion and embrace AI and high-level programming?
“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.
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.
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.
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.