Ask HN: What field in computer science will be AI proof
82 comments
The Luddites were not anti technology, they were extensively educated people whose jobs were threatened when factory owners tried to replace them with cheap workers and auto looms.
The Luddites said first, "this tech will make the whole factory more productive, let's keep everyone on board and split the gains between the owners and the workers. It's a win win."
The factory owners said, "no, I can keep 100% of the gains if I fire you all and hire unskilled workers."
Engineers today are looking at AI that's close to producing non toy code. We are in the same spot as the Luddites - but we have the ability to see it coming.
The answer is to consider: unionizing, starting or joining workers co-ops, fighting for legislation that takes care of workers basic needs (eg universal basic income) so displaced workers aren't made destitute, etc.
The Luddites said first, "this tech will make the whole factory more productive, let's keep everyone on board and split the gains between the owners and the workers. It's a win win."
The factory owners said, "no, I can keep 100% of the gains if I fire you all and hire unskilled workers."
Engineers today are looking at AI that's close to producing non toy code. We are in the same spot as the Luddites - but we have the ability to see it coming.
The answer is to consider: unionizing, starting or joining workers co-ops, fighting for legislation that takes care of workers basic needs (eg universal basic income) so displaced workers aren't made destitute, etc.
The other factor that is similar to the Luddites is that the factory owners tightly controlled the methods and means of production.
That’s happening today with enterprise cloud adoption. The bank CIO migrates to AWS, gets his bonus for eliminating capex, and AWS quietly hires the smartest people away. That brain drain will make it increasingly similar to communicating circa 1960 with AT&T. Entire categories of skilled worker are on their way out.
That’s happening today with enterprise cloud adoption. The bank CIO migrates to AWS, gets his bonus for eliminating capex, and AWS quietly hires the smartest people away. That brain drain will make it increasingly similar to communicating circa 1960 with AT&T. Entire categories of skilled worker are on their way out.
Alternatively, replace the CEO with an AI chatbot trained to exhibit even moderately utilitarian ethics.
Goodbye Grandma. By eliminating you, I can potentially improve two other people's lives.
Iterate trillions of times per second.
No, thank you. I would prefer CEO's remain firmly able to experience pain.
Iterate trillions of times per second.
No, thank you. I would prefer CEO's remain firmly able to experience pain.
[deleted]
There is another option, sure to be unpopular here: learn a new trade. If you find yourself automated out of a job you can spend your life trying to swim against the inevitable, or learn new skills that still have value.
This cannot happen infinitely. It's a problem with the way we approach the world moving past occupations.
Like, coal miners aren't useful anymore, but just telling the miners to "learn a new trade" is not solving the systemic issue of "if society advances, we should provide more for members of society".
Like, coal miners aren't useful anymore, but just telling the miners to "learn a new trade" is not solving the systemic issue of "if society advances, we should provide more for members of society".
[deleted]
There's a question I often ask people, and they seem very uncomfortable with it:
> What do you do when 10% of your country's population is unemployable?
I usually frame this in the context of automation to avoid the "new jobs will appear" argument (which is poor regardless because it is avoiding the transitionary period that you allude to, but I digress). 10% is depression level unemployment. But the real question here is "How do we transition into a post scarcity society?" (10% is arbitrary, and we'd expect it to rise) I think a lot of people have a lot of answers but do not think deeply about this problem. There's a decent chance that this kind of event happens within our lifetimes. Handling properly would probably mean we've already needed to have started down this path. If handled poorly revolutionary bloodshed isn't unlikely. Post scarcity would be a big boon for humankind, but the process of getting there is potentially a great filter in of itself.
Personally, I don't think our modern concepts of things like Socialism, Capitalism, UBI, or other similar systems can accurately capture the nuance needed to make this transition while maximizing human benefits/quality of life. We are talking about a complete shift in our organizational structure that no one has ever seen before, so I don't think we should accept simple answers. But I do think this is a question that needs to become more commonplace and is not as absurd as when I proposed it a decade ago.
We coders are not in the same spot as the Luddites, most of the world is.
> What do you do when 10% of your country's population is unemployable?
I usually frame this in the context of automation to avoid the "new jobs will appear" argument (which is poor regardless because it is avoiding the transitionary period that you allude to, but I digress). 10% is depression level unemployment. But the real question here is "How do we transition into a post scarcity society?" (10% is arbitrary, and we'd expect it to rise) I think a lot of people have a lot of answers but do not think deeply about this problem. There's a decent chance that this kind of event happens within our lifetimes. Handling properly would probably mean we've already needed to have started down this path. If handled poorly revolutionary bloodshed isn't unlikely. Post scarcity would be a big boon for humankind, but the process of getting there is potentially a great filter in of itself.
Personally, I don't think our modern concepts of things like Socialism, Capitalism, UBI, or other similar systems can accurately capture the nuance needed to make this transition while maximizing human benefits/quality of life. We are talking about a complete shift in our organizational structure that no one has ever seen before, so I don't think we should accept simple answers. But I do think this is a question that needs to become more commonplace and is not as absurd as when I proposed it a decade ago.
We coders are not in the same spot as the Luddites, most of the world is.
I mean, most socialism (but especially Anarcho socialism as proposed by Kropotkin) starts with a foundation of people's right to life.
We produce enough to give everyone in the US a comfortable existence. Almost twice as much food is produced as we need, for every homeless person there are 30 vacant houses, people gladly share their productive time with others (even highly skilled labor, like engineering time in open source.
There are many, many socialist and anarchist thinkers who have written extensively on this topic.
We produce enough to give everyone in the US a comfortable existence. Almost twice as much food is produced as we need, for every homeless person there are 30 vacant houses, people gladly share their productive time with others (even highly skilled labor, like engineering time in open source.
There are many, many socialist and anarchist thinkers who have written extensively on this topic.
Do you have any reference that specifically discusses the transitionary period into post scarcity? I'm extremely disinterested in violent revolutions and tearing something down and putting it back up with a theoretical system. I want to see a system that still pushes us quickly towards post scarcity, and that's something I haven't seen that isn't also extremely vulnerable to authoritarian takeovers.
> Some initial thoughts include pivoting to work on lower level stuff like OS.
I'd suggest the opposite, move up rather. What's difficult for a computer is what's been difficult for humans since the invention of programming, turning a humans "I have this problem" into a concrete program that solves that specific problem in a good way.
What's hard in writing software is not the writing of software but that the software solves the right problem in the right way. If you aim to do this, I don't think computers will be able to do a better job than humans for a long time.
I'd suggest the opposite, move up rather. What's difficult for a computer is what's been difficult for humans since the invention of programming, turning a humans "I have this problem" into a concrete program that solves that specific problem in a good way.
What's hard in writing software is not the writing of software but that the software solves the right problem in the right way. If you aim to do this, I don't think computers will be able to do a better job than humans for a long time.
The current loop is
Idea person -> Development work -> Idea person
The development work piece is done by expensive humans and takes lots of $$ and time.
If an AI chat bot was in the loop instead, and could quickly work with the idea person, why would anyone include a dev until it's at the end when you need it actually deployed or hosted - and maybe not even then.
Just loops of "this is what I want" "no, not quite, change this"...
I'm scared.
Idea person -> Development work -> Idea person
The development work piece is done by expensive humans and takes lots of $$ and time.
If an AI chat bot was in the loop instead, and could quickly work with the idea person, why would anyone include a dev until it's at the end when you need it actually deployed or hosted - and maybe not even then.
Just loops of "this is what I want" "no, not quite, change this"...
I'm scared.
These language model-based AIs are fundamentally limited, they are very impressive for what they can do, but they are at the end of the day just search engines trained on a litany of data that can form your question cleverly to look up its internal knowledge base and transform the output in a way that sort of makes sense.
But it will not come up with any novel solutions to problems any time soon. E.g. I asked it whether 23 is a prime number and while it could state correctly that it only has two divisors, it failed to reason that it thus must be a prime number (even though it itself gave this definition).
I was thinking about this last night. GPT can do in-sample tasks quite well such as generic CRUD stuff, leetcode, and the like.
Its going to have limited knowledge of internal company APIs and classes -- especially poorly designed ones. To use it effectively, as a software engineer, you need to grok the code to even write a prompt.
In that sense, since 70% of software is maintenance (rather than greenfield), most software engineers will be ok.
Its going to have limited knowledge of internal company APIs and classes -- especially poorly designed ones. To use it effectively, as a software engineer, you need to grok the code to even write a prompt.
In that sense, since 70% of software is maintenance (rather than greenfield), most software engineers will be ok.
But surely the cost to finetune the model on the company codebase is less than onboarding a new engineer for a year?
Not necessarily. The armies of low end programmers will be eliminated, just like the COBOL jockeys were.
That makes it easier to isolate legacy cruft and reduce the number of people.
That makes it easier to isolate legacy cruft and reduce the number of people.
Companies will automate what they can, offshore what is left, and then complain they just cannot find good talent.
Maybe it is time to find something else to do with my life.
Maybe it is time to find something else to do with my life.
Have you used github copilot? It's well worth the money and a much better auto-complete, especially for repetitive things like writing tests. But it doesn't come close to even reducing the number of engineers needed, it's just another incremental productivity boost from tooling. There's nothing new there, that's been happening for 50 years. Compilers, language improvements, libraries, IDEs, debuggers, a second monitor, faster computers, etc. AI is just the latest in a long line of tools.
However, writing software is one of the most creative acts out there. It's like writing a novel or a screenplay. Taking fuzzy business requirements and distilling that down into software is not something you can automate. When those fields fall to AI it's because general AI is here and humans have fallen to AI. At that point you've got bigger problems. Programmers are not going away, and demand for engineers still way exceeds supply. Demand for GOOD engineers is insane.
So learn as much as you can, put in the work, and you'll have an amazing career. Don't fret about AI.
I've worked on side-projects on evenings and weekends for 20 years. At this point I've written more code in more languages than most software engineers will in their entire careers. When I changed jobs back in March, I had a 2:1 ratio of jobs applied for to offers. It was amazing, I was able to choose between 8 offers. I'm still early in my career.
There's no substitute for putting in the work.
However, writing software is one of the most creative acts out there. It's like writing a novel or a screenplay. Taking fuzzy business requirements and distilling that down into software is not something you can automate. When those fields fall to AI it's because general AI is here and humans have fallen to AI. At that point you've got bigger problems. Programmers are not going away, and demand for engineers still way exceeds supply. Demand for GOOD engineers is insane.
So learn as much as you can, put in the work, and you'll have an amazing career. Don't fret about AI.
I've worked on side-projects on evenings and weekends for 20 years. At this point I've written more code in more languages than most software engineers will in their entire careers. When I changed jobs back in March, I had a 2:1 ratio of jobs applied for to offers. It was amazing, I was able to choose between 8 offers. I'm still early in my career.
There's no substitute for putting in the work.
Figuring out what the customer/user actually needs/wants over time (which happens to be a crucial part of software development).
I am also fairly convinced that AI will create more work opportunities for humans, it's just that the kind of work will change. (some people predicted that automation would replace human labour, while in reality work shifted from manual labour workers to 'knowledge workers')
Also when AI gets even more powerful more precision and domain knowledge is required to express the requirements to get the desired result. It will also be very costly to discover an imprecise requirement or query of an AI after using the results of it for over a decade.
I am also fairly convinced that AI will create more work opportunities for humans, it's just that the kind of work will change. (some people predicted that automation would replace human labour, while in reality work shifted from manual labour workers to 'knowledge workers')
Also when AI gets even more powerful more precision and domain knowledge is required to express the requirements to get the desired result. It will also be very costly to discover an imprecise requirement or query of an AI after using the results of it for over a decade.
That really depends on your beliefs. If you believe AGI/HLI is near, then none. That's kinda the point.
If you don't believe that (which I'm in this camp and work in ML) then anything creative. Which also means a lot of things won't be taken over by AI. BUT that doesn't mean AI can't change the field significantly. For example, a few years from now AI might write quick routines for you. You could program latex and the AI would fit the picture for you in the place you want. Research is probably going to be the most long proof and we might even be symbiotic at HLI.
On a slightly different note, I think there's a relevant question that I like to ask people (and they don't like to answer). What do you do with a society where 10% of your workforce is unemployable because automation. The question is about the transitionary period to post scarcity. Transitions are rough and I think it is really clear that this possibly comes about in our lifetime.
If you don't believe that (which I'm in this camp and work in ML) then anything creative. Which also means a lot of things won't be taken over by AI. BUT that doesn't mean AI can't change the field significantly. For example, a few years from now AI might write quick routines for you. You could program latex and the AI would fit the picture for you in the place you want. Research is probably going to be the most long proof and we might even be symbiotic at HLI.
On a slightly different note, I think there's a relevant question that I like to ask people (and they don't like to answer). What do you do with a society where 10% of your workforce is unemployable because automation. The question is about the transitionary period to post scarcity. Transitions are rough and I think it is really clear that this possibly comes about in our lifetime.
I have a CS degree and I'm doing DevOps. I have a fantasy that AI will fix up our Ops issues, but I am confident that humans will keep that problem junked up long enough for me to sneak a retirement out of this work.
The people closest to a mop handle will stay employed the longest. If not physical, then digital.
The people closest to a mop handle will stay employed the longest. If not physical, then digital.
I've found DevOps to be a human issue first and foremost. It's sometimes hard to communicate to non-technical folks or less experienced software engineers how important it is. ChatGPT3 can give you bits and pieces of DevOps infra, but plugging it in, and getting human buy-in is a task indeed
Hmm, if I had to guess, its probably the task of centering two <div>'s side-by-side
ChatGPT response:
center two <div> side-by-side
To center two <div> elements side-by-side, you can use the following CSS code:
Copy code
center two <div> side-by-side
To center two <div> elements side-by-side, you can use the following CSS code:
Copy code
<style>
.container {
display: flex;
justify-content: center;
}
.left-div {
margin-right: 20px;
}
</style>
<div class="container">
<div class="left-div">
Content for left div
</div>
<div class="right-div">
Content for right div
</div>
</div>
Here, the .container class is used to wrap the two <div> elements, and the display: flex property is applied to center the <div> elements horizontally. The justify-content: center property is also used to align the <div> elements to the center of the container. The left-div class is used to add a margin to the left <div> element, so that it is not touching the right <div> element.These are questions that are answered a litany of times on the internet, and giving back that answer modified, while impressive, is basically just a fancy search engine (which is not a small feat, with the vast amount of information available to humanity it is very important).
Nonetheless, I will eagerly follow its progress on advent of code exercises as they get harder.
Nonetheless, I will eagerly follow its progress on advent of code exercises as they get harder.
Rookie solution! It should use gap: 20px; and remove the nested div classNames
It depends on what you mean by "computer science". If you mean boundary pushing research into computer science carried out by PhDs then you're probably fairly safe for a while. If you mean "jobs that people with a computer science degree do," then I'd bet on the higher level design and architecture type stuff being the last to go. Anything which requires thinking holistically and having a knowledge of the costs and benefits of different implementations. However I might be completely wrong.
I agree it is easy to believe that AI will replace engineers, but in history the tractor increased yield allowing farms to harvest more grain. Take a project and try to craft a prompt such that the ChatGPT generates a similar function. Although impressive the code won't "fit together" on its own. It is al so important to remember that things such as high level languages and api's have already been abstracting software higher and higher through the years. Software is largely copy pasting code according to your own mental architecture of how things should be created. ChatGPT is only replacing the copy paste part of that process. Yes it's possible that systems integration and prompt generation will play a larger role in the future, the need for software engineers will be present until you can get solid answers for: ChatGpt {"Generate a software package to improve yourself"} actually works.
Throwaway to intentionally suggest, to stoke debate not a flame war, “zero software jobs will be safe.”
At the end of the day it’s not about the code shapes, the languages we make, it’s about correct machine state coupled to a context.
Eventually we’ll have a deduplicated data model of sufficient detail and the algorithms that can take a context and render it visually or audibly.
Networked bootstrapping, updating, and healing of the model will be the norm. There will be a hardware I/O kernel and the AI to sample a model with.
This is going to happen because, similar to no one having an obligation to past religious traditions, there is no obligation to your past computing traditions.
It’s going to happen because having programmers recreate code shapes to fidget with machine states is wasteful engineering practice.
Society learns and moves on. It does not sit still and babysit the sensibilities of its past.
Automating engineering is good engineering because it removes complexity and redundancy.
Reality does not care about our old philosophy. We have to be prepared to adapt to reality.
At the end of the day it’s not about the code shapes, the languages we make, it’s about correct machine state coupled to a context.
Eventually we’ll have a deduplicated data model of sufficient detail and the algorithms that can take a context and render it visually or audibly.
Networked bootstrapping, updating, and healing of the model will be the norm. There will be a hardware I/O kernel and the AI to sample a model with.
This is going to happen because, similar to no one having an obligation to past religious traditions, there is no obligation to your past computing traditions.
It’s going to happen because having programmers recreate code shapes to fidget with machine states is wasteful engineering practice.
Society learns and moves on. It does not sit still and babysit the sensibilities of its past.
Automating engineering is good engineering because it removes complexity and redundancy.
Reality does not care about our old philosophy. We have to be prepared to adapt to reality.
Just like being able to look up facts on the internet hasn't replaced actually knowing about stuff, being able to generate code snippets will not replace actually knowing how to build software.
Many will think me dismissive, but even with the cool stuff it can do, gpt is more like a probabilistic interface into stack overflow than a replacement for a developer.
And if a developer that worked for me ever said they got gpt to write part of our code, they would be fired (with discussion and warnings first and whatnot). I suspect a lower-end market will emerge where you can get someone to cobble together some chatbot written monstrosity for you at a discount, but we're a long way from developers being out of the loop.
Many will think me dismissive, but even with the cool stuff it can do, gpt is more like a probabilistic interface into stack overflow than a replacement for a developer.
And if a developer that worked for me ever said they got gpt to write part of our code, they would be fired (with discussion and warnings first and whatnot). I suspect a lower-end market will emerge where you can get someone to cobble together some chatbot written monstrosity for you at a discount, but we're a long way from developers being out of the loop.
The way I'm thinking about this is you either learn to leverage AI to elevate your way of working, or you are left by the side of the road.
Chatgpt will become a core part of my workflow, a kind of pair-programmer on steroids. I'll bounce ideas off it, check for refactored implementations, and use it as a sounding board.
Last night it taught me about k-nn and cosine similarity so I could generate videogame recommendations for my site. It was the first time I heard about k-nn and cosine similarity. So now I can go online and learn about these concepts and apply them to build something. It did this in about 10 minutes.
Adapt and elevate yourself and your work.
Or don't and go the way of the Zend PHP Certified Engineer.
Chatgpt will become a core part of my workflow, a kind of pair-programmer on steroids. I'll bounce ideas off it, check for refactored implementations, and use it as a sounding board.
Last night it taught me about k-nn and cosine similarity so I could generate videogame recommendations for my site. It was the first time I heard about k-nn and cosine similarity. So now I can go online and learn about these concepts and apply them to build something. It did this in about 10 minutes.
Adapt and elevate yourself and your work.
Or don't and go the way of the Zend PHP Certified Engineer.
Option 1: Get into AI.
Option 2: Get close to the client. They're not able to clearly express a spec to us, they're not going to start doing so to a bot on their own.
Actually, I'm not that worried. My generation had to install OSes before doing anything, the next didn't install their software but at least they had access to chrome's F12. Nowadays kids grow in the walled garden of their phones.
Somebody is going to have to keep their hands dirty to keep the systems going, and it's going to be us; which brings me to:
Option 3: Get into security. Who is insane enough to trust ChatGPT to make changes to iptables/ADs/etc?
Option 2: Get close to the client. They're not able to clearly express a spec to us, they're not going to start doing so to a bot on their own.
Actually, I'm not that worried. My generation had to install OSes before doing anything, the next didn't install their software but at least they had access to chrome's F12. Nowadays kids grow in the walled garden of their phones.
Somebody is going to have to keep their hands dirty to keep the systems going, and it's going to be us; which brings me to:
Option 3: Get into security. Who is insane enough to trust ChatGPT to make changes to iptables/ADs/etc?
> Option 1: Get into AI
It’s game over once ChatGPT can write ChatGPT.
It’s game over once ChatGPT can write ChatGPT.
You want a job that Ai will struggle to take over? Become a plumber or electrician. Someone who has to work with their hands in a way thay isn't easily automateable.
Otherwise you just have to stop worrying so much about it.
Otherwise you just have to stop worrying so much about it.
If you are creating simple landing pages or really simple basic CRUD apps or creating documentation, write simple article about tech etc then you will be in trouble in a few years. I work on distributed, low latency, high volume systems with complex graph relations, things that you actually need AGI to solve so while I'm impressed with current big language models I'm not really afraid. My advice is: do not work on basic low end stuff and you will be probably safe for 1-3 decades.
Thinking about the problem incorrectly, there is no software field that is AI proof nor is there any about to be completely automated. Even manual QA jobs still exist and I find manual QA folks to be really essential at most orgs still. All software jobs will be impacted in some way, but in the sense of creating new tools to accelerate productivity, not replace people altogether. The journey with AI is largely collaborative with humans, not replacing humans
The other shoe that needs to drop is ability to tell the AI: "Look at this project. Using it as a context, do <whatever>"
The current state seems like a very useful tool in its beginning, but it will need to be able to grok entire project to be able to jeopardize jobs of even the most junior developers.
I'm looking forward to the day it can do this, and then I'll be able to tell it: "write unit tests for this function" :-)
The current state seems like a very useful tool in its beginning, but it will need to be able to grok entire project to be able to jeopardize jobs of even the most junior developers.
I'm looking forward to the day it can do this, and then I'll be able to tell it: "write unit tests for this function" :-)
Is that not just an access problem?
I asked it for java code to reverse a string. And then asked if it could pull the reversing method out into a separate function. Which it did flawlessly.
I asked it for java code to reverse a string. And then asked if it could pull the reversing method out into a separate function. Which it did flawlessly.
Definitely a part of it is access problem - it would be great if we had an open source version we could unleash on our complete projects locally. Or just give ChatGPT access to the github repo!
I'd still be willing to bet entire (nontrivial) projects would be too complex for it to give accurate (not just plausibly looking) results.
Not to diminish the achievement in any way - I think this (& copilot) are useful additions to the programmer's tool belt.
I'd still be willing to bet entire (nontrivial) projects would be too complex for it to give accurate (not just plausibly looking) results.
Not to diminish the achievement in any way - I think this (& copilot) are useful additions to the programmer's tool belt.
You can paste java code into it and ask for a new field to be added.
Not sure if it can fix logic errors.
Not sure if it can fix logic errors.
It already does. Github Copilot understands perfectly the context of the project I am working on and the suggestions are in line with it.
If you're right, then I don't think that there will be a significant difference in the way different kinds of software development are affected, they'll all be automated away to the same extent. So there's no point in trying to redirect your career to another subfield, they'll all be screwed if you're right. Personaly I think it's quite unlikely but who knows.
They always say humans will work alongside computers - that as old jobs are created, new ones will also come into existence.
For example - how about becoming an AI programmer?
And there's also plenty of free "big data" stuff online to play around with. (Ultimately AI is going to have to train on large pools of data -- and someone's going to have to set up those training pools...)
For example - how about becoming an AI programmer?
And there's also plenty of free "big data" stuff online to play around with. (Ultimately AI is going to have to train on large pools of data -- and someone's going to have to set up those training pools...)
I think the premise is insane. AI is still statistics with marketing. Good engineers will not be displaced by statistics any time soon.
This.
Also, AI is a misnomer.
Also, AI is a misnomer.
[deleted]
I too am aware that our days are numbered but I have been thinking maybe as programmers we could make the inevitable take longer to arrive by coming up with licences that prevent the code we write from being used to train such models. Cause without the dataset it won't be a major threat.
Why subject future versions of us to mundanely typing in code that could be written more quickly (and likely with fewer errors) by an AI bot? That seems like arguing against the use of tractors or internal combustion engines in hopes that we could keep our jobs digging ditches by hand or shoveling coal into burners.
But in this ,it is like by digging the ditches, the tractor gets better by looking at you digging the ditch. So why let it look at me while I dig the ditch if it will make me obsolete. But I know that you can't stop it, so it's better to find something else to do
Have you stopped to examine why it is that you want to maintain a (relative) monopoly on ditch-digging? If a machine can (hypothetically) do it better, why do you want to do it?
The first thing that came to mind to me was "AI researcher". After all, if you're one of the people advancing the AI models that automate everyone else's job, your job isn't going to automated.
Join the MIC. The military isn’t going to let AI code anywhere near kinetic systems, so you’ll be set for the next few decades. You just need to pass background checks and be ready to see your work used to kill advisories.
I wondered immediately if AI design was AI-proof.
Then I thought, isn't that happening already? Hasn't somebody tried applying an AI to designing an AI?
Then I thought, isn't that happening already? Hasn't somebody tried applying an AI to designing an AI?
There will only be the AIs, the people programming the AIs and jobs where having humans will be a desirable luxury (nursing, restaurants, etc)
> I am convinced
What evidence are you basing your conviction on?
What evidence are you basing your conviction on?
It is fundamentally based on initial hype and mania of other HN ChatGPT posts. Other than that, nothing.
Ask ChatGPT to solve unsolved mathematical and computer science problems or any basic international mathematical olympiad (IMO) questions and it falls before the starting line and will give incoherent answers.
Even if it moves an inch past the line, it cannot transparently explain as to how it got there in the first place.
Ask ChatGPT to solve unsolved mathematical and computer science problems or any basic international mathematical olympiad (IMO) questions and it falls before the starting line and will give incoherent answers.
Even if it moves an inch past the line, it cannot transparently explain as to how it got there in the first place.
Well, it wasn't designed to generate novel math proofs.
True but either way it's like encryption newbies worrying about quantum computing or the general public thinking our energy issues will soon be solved with fusion power. Just five more years...
In reality, we don't have artificial intelligence and until we create a machine that can be called intelligent we don't even know for sure if it's possible at all. In the foreseeable future human programmers will be needed, when the day comes that machines archive general intelligence all bets are off anyway.
This question seems to me a bit like asking what field should I specialize in if I believe we'll make first contact with an alien race in the next 10 years. Who knows?
In reality, we don't have artificial intelligence and until we create a machine that can be called intelligent we don't even know for sure if it's possible at all. In the foreseeable future human programmers will be needed, when the day comes that machines archive general intelligence all bets are off anyway.
This question seems to me a bit like asking what field should I specialize in if I believe we'll make first contact with an alien race in the next 10 years. Who knows?
Time for schools to start offering an Intergalactic Relations major to prepare us ;p
>Ask ChatGPT to solve unsolved mathematical and computer science problems
or alternatively just ask it to solve simple addition. It can't reliably add large numbers together either. As good as it is at producing plausibly sounding language it has virtually no facilities to reason or learn axiomatic rules.
or alternatively just ask it to solve simple addition. It can't reliably add large numbers together either. As good as it is at producing plausibly sounding language it has virtually no facilities to reason or learn axiomatic rules.
> It can't reliably add large numbers together either
That's fine. It can always use a computer if need be.
> As good as it is at producing plausibly sounding language it has virtually no facilities to reason or learn axiomatic rules.
I've never been hired on the basis of learning axiomatic rules.
That's fine. It can always use a computer if need be.
> As good as it is at producing plausibly sounding language it has virtually no facilities to reason or learn axiomatic rules.
I've never been hired on the basis of learning axiomatic rules.
For it to be able to use other agents it needs to understand when a problem requires deductive reasoning, and when probabilistic inference is appropriate. So that's just moving the goalpost. And of course in that case the intelligence and capacity is then in the system the task is outsourced to, so it still needs to be solved over there.
>I've never been hired on the basis of learning axiomatic rules.
Nope but you'd be fired really quickly if you couldn't communicate or follow some. I don't think you were trained to not throw coffee cups off the table like a cat via reinforcement, B.F. Skinner style. Which is really how we have to interact with these models (i.e. prompt 'engineering'). For humans to put artificial systems in task of really complex systems there needs to be a way to interact at a high level reliably and put boundaries (that is, rules) in place. As of today we largely have those outside of the models when necessary.
>I've never been hired on the basis of learning axiomatic rules.
Nope but you'd be fired really quickly if you couldn't communicate or follow some. I don't think you were trained to not throw coffee cups off the table like a cat via reinforcement, B.F. Skinner style. Which is really how we have to interact with these models (i.e. prompt 'engineering'). For humans to put artificial systems in task of really complex systems there needs to be a way to interact at a high level reliably and put boundaries (that is, rules) in place. As of today we largely have those outside of the models when necessary.
Frankly I don't understand what all the fuss is about. It vomits coherent sentences. It is fundamentally unsuitable for the majority of "proclaimed" use cases.
Just ask it the definition of a mathematical term and watch it get it wrong. For example, I asked it to define the Kronecker product and it gave me a lot of correct information, but the actual equations were wrong.
Don’t look at where we are now, look at the rate of improvement. I don’t think it’ll be long before it has an understanding of advanced mathematics.
This has always been the argument for technologies that failed too. In many cases it turns out that it is rather "easy" to get the first 90% working but the remanining 10% are not only exponentially more difficult to get going, but also what is the difference between a tool and a toy.
how is this relevant to OP's concern?
most software engineers today are employed to solve unsolved mathematical and computer science problems or IMO-style problems.
most software engineers today are employed to solve unsolved mathematical and computer science problems or IMO-style problems.
It's not man Vs machine. It's man with machine. Learn to work effectively with "ai" and you will have no problem.
Those working on to improve the AI, until it needs no further improvement from humans because it can improve itself
How prevalent was the prediction that the first jobs lost to AI would be programmers and artists?
Bet those truck drivers who learned to code feel kind of ripped off..
P=NP
Security testing
I'd say that's the most likely to be automated. AI-based fuzzers and static analysis tools already surpass human audits in my experience, and in most cases the "humans" doing the auditing are actually just using tools like this.
The question was what field will be "AI proof", not "automation proof". Security testing is already largely automated, but not AI ready the way I see it. And "AI-based fuzzers and static analysis tools already surpass human audits " is definitely not my experience; not even Close. I've worked with (manual) security testing for 8 years, and beyond simple code reviews, the types of tests I'm doing requires far more "intelligence" than what OpenAI currently offers. On the other hand, the future is hard to predict, and I honestly did not expect something as impressive as OpenAI to suddenly pop up seemingly out of nowhere and take the internet on the wild journey we are in the middle of right now.
Sales
Cybersecurity. There's plenty of governance and policy mixed in. Plus there's plenty of gray, rather than black and white, in security configurations.
Is their a field that has relative job security in computer science that shouldn’t be impacted by similar AI products?
I know people will mock me for having these thoughts but I am only 3 years into my career so I already didn’t have the confidence some of the developers on this forum have.
Some initial thoughts include pivoting to work on lower level stuff like OS. I am highly motivated and am willing to put on hours. I just fear Im entering a race that I have no odds of finishing.