this post was submitted on 25 Feb 2024
203 points (83.7% liked)

Technology

59709 readers
1762 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Don’t learn to code: Nvidia’s founder Jensen Huang advises a different career path::Don't learn to code advises Jensen Huang of Nvidia. Thanks to AI everybody will soon become a capable programmer simply using human language.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 34 points 9 months ago (2 children)

I don't see how it would be possible to completely replace programmers. The reason we have programming languages instead of using natural language is that the latter has ambiguities. If you start having to describe your software's behaviour in natural language, then one of three things can happen:

  1. either this new natural programming language has to make assumptions about what you intend, and thus will only be capable of outputting a certain class of software (i.e. you can't actually create anything new),
  2. or you need to learn a new way of describing things unambiguously, and now you're back to programming but with a new language,
  3. or you spend forever going back and forth with the generator until it gives you the output you want, and this would take a lot longer to do than just having an experienced programmer write it.
[–] [email protected] 16 points 9 months ago

And if you don't know how to code, how do you even know if it gave you the output you want until it fails in production?

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

But that’s not what the article is getting at.

Here’s an honest take. Let me preface this with some credential: I’m an AI Engineer with many years in field. I’m directly working on right now multiple projects that augment and automate code generation, documentation, completion and even system design/understanding. We’re not there yet. But the pace of progress in how fast we are improving our code-AI is astounding. Exponential growth in capability and accuracy and utility.

As an anecdotal example; a few years ago I decided I would try to learn Rust (programming language), because it seemed interesting and we had a practical use case for a performant, memory-efficient compiled language. It didn’t really work out for me, tbh. I just didn’t have the time to get very fluent with it enough to be effective.

Now I’m on a project which also uses Rust. But with ChatGPT and some other models I’ve deployed (Mixtral is really good!) I was basically writing correct, effective Rust code within a week—accepted and merged to main.

I’m actively using AI code models to write code to train, fine-tune, and deploy AI code models. See where this is going? That’s exponential growth.

I honestly don’t know if I’d recommend to my young kids programming as a career now even if it has been very lucrative for me and will take me to my retirement just fine. It excites me and scares me at the same time.

[–] [email protected] 11 points 9 months ago* (last edited 9 months ago) (1 children)

There is more to a program then writing logic. Good engineers are people who understand how to interpret problems and translate the inherent lack of logic in natural language into something that machines are able to understand (or vice versa).

The models out there right now can truly accelerate the speed of that translation - but translation will still be needed.

An anecdote for an anecdote. Part of my job is maintaining a set of EKS clusters where downtime is... undesirable (five nines...). I actively use chatgpt and copilot when adjusting the code that describes the clusters - however these tools are not able to understand and explain impacts of things like upgrading the control plane. For that you need a human who can interpret the needs/hopes/desires/etc of the stakeholders.

[–] [email protected] 4 points 9 months ago (1 children)

Yeah I get it 100%. But that’s what I’m saying. I’m already working on and with models that have entire codebase level fine-tuning and understanding. The company I work at is not the first pioneer in this space. Problem understanding and interpretation— all of what you said is true— there are causal models being developed (I am aware of one team in my company doing exactly that) to address that side of software engineering.

So. I don’t think we are really disagreeing here. Yes, clearly AI models aren’t eliminating humans from software today; but I also really don’t think that day is all that far away. And there will always be need for humans to build systems that serve humans; but the way we do it is going to change so fundamentally that “learn C, learn Rust, learn Python” will all be obsolete sentiments of a bygone era.

[–] [email protected] 7 points 9 months ago

Let's be clear - current AI models are being used by poor leadership to remove bad developers (good ones don't tend to stick around). This however does place some pressure on the greater tech job market (but I'd argue no different then any other downturn we have all lived through).

That said, until the issues with being confidently incorrect are resolved (and I bet people a lot smarter then me are tackling the problem) it's nothing better then a suped up IDE. Now if you have a public resources you can point me to that can look at a meta repo full of dozens of tools and help me convert the python scripts that are wrappers of wrappers( and so on) into something sane I'm all ears.

I highly doubt we will ever get to the point where you don't need to understand how an algorithm works - and for that you need to understand core concepts like recursion and loops. As humans brains are designed for pattern recognition - that means writing a program to solve a sodoku puzzle.