←back to thread

165 points gdudeman | 1 comments | | HN request time: 0.208s | 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 #
kiitos ◴[] No.44483372[source]
> Previously .. 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

It's pretty wild that you're characterizing the understanding of a language and its details as "trivia" that you don't need to "take the time to spin up on" before you write programs in that language.

I mean, I get this perspective, but it's the position of a product manager, not a software engineer...

replies(1): >>44483553 #
1. simonw ◴[] No.44483553[source]
I stand by what I said. Knowing how to eg loop through every file in the current directory in Bash is trivia.

That's not to say it's trivial, or to disparage that knowledge. But it's not at the same level as understanding how eg Unix processes can be piped together.

If I'm interviewing a candidate and they can't remember the syntax for a Bash loop, I don't care. If they can't explain what happens when you pipe output from one process to another (at least at a high level), that's a problem.