←back to thread

358 points andrewstetsenko | 5 comments | | HN request time: 0s | source
Show context
exiguus ◴[] No.44361079[source]
Personally, I define the job of a software engineer as transform requirements into software. Software is not only code. Requirements are not only natural language. At the moment I can't manage to be faster with the AI than manually. Unless its a simple task or software. In my experience AI's are atm junior or mid-level developers. And in the last two years, they didn't get significant better.
replies(3): >>44361163 #>>44361966 #>>44364178 #
nicbou ◴[] No.44361163[source]
Most of the time, the requirements are not spelled out. Nobody even knows what the business logic is supposed to be. A lot of it has to be decided by the software engineer based on available information. It sometimes involve walking around the office asking people things.

It also requires a fair bit of wisdom to know where the software is expected to grow, and how to architect for that eventuality.

I can't picture an LLM doing a fraction of that work.

replies(2): >>44361227 #>>44362930 #
1. exiguus ◴[] No.44361227[source]
I think that's my problem with AI. Let's say I have all the requirements, down to the smallest detail. Then I make my decisions at a micro level. Formulate an architecture. Take all the non-functionals into account. I would write a book as a prompt that is not able to express my thoughts as accurately as if I were writing code right away. Apart from the fact that the prompt is generally a superfluous intermediate step in which I struggle to create an exact programming language with an imprecise natural language with a result that is not reproduce-able.
replies(2): >>44361764 #>>44361800 #
2. ra0x3 ◴[] No.44361764[source]
This is a really good point.

At a certain point, huge prompts (which you can readily find available on Github, used by large LLM-based corps) are just....files of code? Why wouldn't I just write the code myself at that point?

Almost makes me think this "AI coding takeover" is strictly pushed by non-technical people.

3. mediaman ◴[] No.44361800[source]
AI is less useful when I'm picking through specific, careful business logic.

But we still have lots of boilerplate code that's required, and it's really good at that. If I need a reasonably good-looking front-end UI, Claude will put that together quickly for me. Or if I need it to use a common algorithm against some data, it's good at applying that.

What I like about AI is that it lets me slide along the automation-specificity spectrum as I go through my work. Sometimes it feels like I've opened up a big stretch of open highway (some standard issue UI work with structures already well-defined) and I can "goose" it. Sometimes there's some tricky logic, and I just know the AI won't do well; it takes just as long to explain the logic as to write it in code. So I hit the brakes, slow down, navigate those tricky parts.

Previously, in the prior attempt to remove the need for engineers, no-code solutions instead trapped people. They pretended like everything is open highway. It's not, which is why they fail. But here we can apply our own judgment and skill in deciding when a lot of "common-pattern" code is required versus the times where specificity and business context is required.

That's also why these LLMs get over-hyped: people over-hype them for the same reason they over-hyped no-code; they don't understand the job to be done, and because of that, they actually don't understand why this is much better than the fanciful capabilities they pretend it has ("it's like an employee and automates everything!"). The tools are much more powerful when an engineer is in the driver's seat, exercising technical judgment on where and how much to use it for every given problem to be solved.

replies(1): >>44362703 #
4. bluefirebrand ◴[] No.44362703[source]
> But we still have lots of boilerplate code that's required, and it's really good at that

Copy and paste with find and replace has never taken me that long for boilerplate though. The time saved here is razor thin imo

replies(1): >>44363030 #
5. skydhash ◴[] No.44363030{3}[source]
My strategy has almost always been to copy the code example from the docs of whatever css framework I’m using, especially for forms. Then there’s a threshold where I use the project as source instead.