5 ms·
I have been shadowing this thread for a while. My past engagement on hackernews have largely towards GenAI, programming & what this industry looks like. First,
by aadv1k 22d ago
I have been shadowing this thread for a while. My past engagement on hackernews have largely towards GenAI, programming & what this industry looks like.
First, it's good to know I am not alone in feeling that a certain world, no longer exists. This is the world where when given a problem, you would spend maybe 3-4 hours scoping it out, doing some research, maybe drawing up some diagrams and then jumping into the code. Coding itself was a necessary part of this process, where it was meditative. You were in this zone between deep and shallow work. It's odd to "reminisce" about coding as if it was such a beautiful thing, in reality it was hard. Required a lot of elbow grease, but it was fulfilling (I wrote 10k LoC over 2 weeks, it isn't about LoC as a metric of good code, it was more about the effort put in felt really tangible)
The world today, is fundamentally different. Today coding is really cheap, even disregarding the best SOTA models, OSS models are catching up in how consistent of an output they produce. Note the word "consistent", I won't say the code wirten by Opus or Sol is "good", but it's consistent enough to where with the right infrastructure around it (aka harnesses) you can get it to work really well.
2 years back, saying "LLMs don't produce good code" was objectively true. They were good for maybe a function, heck I remember AI straight up producing incorrect logic. Today with the right context, the "code quality" (interestignly, quality is a human metric, maintainability would be more apt, and the cost of building a change) is upto par or even better than what I would write on the first iteration.
Given that the cost of coding is now 0, my job becomes to solve problems, in the best way possible, WHILE directing the HLD/LLD of the system to understand the limitations of what I have built. The latter, I only do because it's much faster knwoing a limitation in a codebase than having an agent "recongize" it through a bunch of tests, and loops (it's cheaper too) -- THAT is where my experience really shines, knowing which patterns to apply to what problem and expect what results. Heck, we live in a time, where I can trivially have an LLM run experiments to quantify 3 other approaches at the same time.
Fundamentally what I do, is managing context, scoping problems & requirements, understanding limitations and directing the codebase (again, also drawing from experience, since an LLM may arbitiarily do something which leads to increasing entropy in the codebase)
Think of it like this; If software engineer, was like maintaing a garden, then 5 years back the process was -- think about how you want your garden to look, with this in mind begin planting the right seeds, pruning the bushes, weeding the overgrowth. Today, I have robot to do all that stuff for me, that leaves me a WHOLE lot of time to plan out my garden, thus, today, I can maintain an entire ecosystem instead of a garden. Not the best analogy, but it models my fear of the LLM not "pruning it right" when in the grand scheme of things, it may not matter at all.
Whew, that was long. I just wanted to get my thoughts out haha