←back to thread

165 points gdudeman | 2 comments | | HN request time: 0.722s | source
Show context
pyman ◴[] No.44481864[source]
Two years ago, I saw myself as a really good Python engineer. Now I'm building native mobile apps, desktop apps that talk to Slack, APIs in Go, and full web apps in React, in hours or days!

It feels like I've got superpowers. I love it. I feel productive, fast, creative. But at night, there's this strange feeling of sadness. My profession, my passion, all the things I worked so hard to learn, all the time and sacrifices, a machine can now do most of it. And the companies building these tools are just getting started.

What does this mean for the next generation of engineers? Where's it all heading? Do you feel the same?

replies(14): >>44481903 #>>44481916 #>>44481936 #>>44481940 #>>44481953 #>>44482060 #>>44482216 #>>44482387 #>>44482415 #>>44482445 #>>44482480 #>>44482816 #>>44483165 #>>44486453 #
simonw ◴[] No.44481936[source]
The reason you can use these tools so effectively across native, mobile, Go, React etc is that you can apply most of what you learned about software development as a Python engineer in these new areas.

The thing LLMs replace is the need for understanding all of the trivia required for each platform.

I don't know how to write a for loop in Go (without looking it up), but I can write useful Go code now without spinning back up on Go first.

I still need to conceptually understand for loops, and what Go is, and structured programming, and compilers, and build and test scripts, and all kinds of other base level skills that people without an existing background in programming are completely missing.

I see LLMs as an amplifier and accelerant. I've accumulated a huge amount of fuzzy knowledge across my career - with an LLM I can now apply that fuzzy knowledge to concrete problems in a huge array of languages and platforms.

Previously I would stay in my lane: I was fluent in Python, JavaScript and SQL so I used those to solve every problem because I didn't want to take the time to spin up on the trivia for a new language or platform.

Now? I'll happily use things like Go and Bash and AppleScript and jq and ffmpeg and I'm considering picking up a Swift project.

replies(6): >>44481962 #>>44482198 #>>44482320 #>>44482417 #>>44482464 #>>44483372 #
1. AstroBen ◴[] No.44482320[source]
100%.

LLMs aren't good engineers. They're mediocre, overengineering, genius, dumb, too simplistic, clean coding, overthinking, underthinking, great but terrible engineers rolled into one. You can get them to fight for any viewpoint you want with the right prompt. They're literally everything at once

To get good code out of them, you have to understand what good code is in the first place and lead them to it

My experience is iterating through 5 potential options being like "nope, that wont work, do it this way.. nope adjust that.. nope add more of this.. oh yeah that's great!"

The "that's great!" made me nervous that an LLM was capable of producing code as good as me until I realized that I threw out most of what it gave.. and someone less experienced would've taken the first suggestion without realizing its drawbacks

replies(1): >>44482568 #
2. simonw ◴[] No.44482568[source]
> To get good code out of them, you have to understand what good code is in the first place and lead them to it

That's a great way of putting it. Completely agree.