Ask HN: Will AI put programmers our of work?
There's a lot of news regarding copilot and openAI and what have you. I'm not familiar with AI so I cannot really tell hype from substance here.
Should I worry? Do you think that some form of AI will be able to do the job of an average programmer any time soon? If yes what is your estimate? And how would you try to AI-proof your career?
116 comments
[ 5.0 ms ] story [ 200 ms ] threadOne aspect that's being slighly neglected is that programming isn't that special - tools like ChatGPT can potentially impact any kind of knowledge work. So it's not like there's a safe white-collar career track that you can easily move to.
(ii) already you can automate low hanging fruit with python + excel but its not done
It will increase their demand, if anything.
>It is unlikely that AI will completely replace programmers. While AI and machine learning technology has advanced significantly in recent years, there are still many tasks that require human creativity and intuition, such as coming up with new ideas, solving complex problems, and making decisions that involve subjective judgement. Additionally, as AI and machine learning technology continues to advance, it is likely that new job opportunities will be created in fields related to these technologies, such as developing and managing AI systems.
>It is unlikely that AI will completely put programmers out of work. However, it is possible that certain tasks currently performed by programmers, such as routine and repetitive tasks, could be automated by AI in the future. This could potentially lead to job displacement for some programmers. It is also possible that the increasing use of AI could lead to a shift in the types of skills and expertise that are in demand in the job market, potentially making some programming skills and knowledge less valuable. However, as AI and machine learning technology continue to evolve, it is likely that new job opportunities will be created in fields related to these technologies, such as developing and managing AI systems.
chatGTP has been featuring quite a lot on HN
I had literally just asked the same question to chatGTP
and it's asking an interesting/relevant question to chatGTP
I do get your point about spam though
Understand all that and create an app for me that does the work X.
No. AI is not a greater threat than stack overflow.
The skills of a programmer are not generating 20 lines of code to solve a well known problem. And even a 99% AI is next to useless, since finding errors is exceedingly hard.
For a while I only had Copilot configured for VSCode and PyCharm, but I mostly use Emacs. The day that I took a little time to configure Emacs to use Copilot, it really hit me how useful Copilot - once I always had it available. Also, the ability to tab through multiple code completions lets me choose what I think is a good completion in a few seconds, or hit ESCAPE to discard them. I have been programming since 1964 (my Dad gave me access to a timeshared BASIC when I was a kid) so I can read code very quickly from almost 60 years of work and play.
I also find Copilot works well with my own bottom up, and REPL based development style.
I understand that many developers don’t like Copilot, but, we are all free to choose our own tools.
Anyway, I appreciate your comment even though my experience is different.
Why? If you setting up service calls correctly you have a client you instantiate and call some method on. Your service calling should be one line plus error handling (1-3 more lines). Databases are initialized once, again 2-3 lines of code.
If you think any of this is a time saver, or is difficult, your job is at risk from copilot. You are training your successor.
Funny, but about 35 years ago I blocked my boss’s boss from buying a company that wrote an “AI coding tool”. I change my mind about things and what I found ridiculously simple and un-useful 35 years ago, is very different than Copilot.
I don’t think it takes a lot of imagination to fully conceptualize how much AI tools will change knowledge work.
I have been a paid AI practitioner since 1982 and I find it exciting how fast the field is now progressing. I worked as a consultant at Google in 2013 with their Knowledge Graph and that opened my eyes to the possibilities of so much structured and organized (they had a very good Ontology team) knowledge. Six years ago I managed a deep learning team at Capital One and mostly because of the strong team, I was surprised how effective deep learning is for practical problems.
One last example: in the 1980s I spent a fair amount of time trying to write code manually for anaphora resolution - a problem that BERT models now solve “simply.”
Many of us are not 70, so we have to be concerned about this. You seem gleeful, I’m concerned. Concerned for everyone about to lose their job, concerned for the pay drop those that don’t lose them will see. All around I see this as a bad idea but then people like you come in and push it forward.
No developer is competing with stackoverflow. These tools are enabling developers to quickly generate code for certain problems, which works especially well for boilerplate. But this isn't actually the main skill of a programmer, it is just some mechanical neccesity to writing software.
Much of what developers do is modifying existing code, fixing bugs, designing architecture and solving novel problems. If an AI could reliably do any of these tasks jobs would be endangered, but certainly that is not the case yet and AI would have to come quite a far way before that.
In a capitalist economy, people are expected to work hard in order to produce goods and services, which drives economic growth. But if AI can do all of the work, there may be no need for people to work at all.
This could lead to a new economic model, one where prosperity is not tied to the labor of individuals. Instead, the focus could shift to ensuring that everyone has access to the resources and opportunities they need to thrive, regardless of whether they are working or not.
For the same reason why companies pay $2000 per day for an experienced consultant when an employee could theoretically build the same stuff at minimum wage. Sometimes, mistakes are expensive. And then you need people who can reason about why they are doing what they are doing. AI can maybe churn out CRUD better than other generators, but when you have any significant amount of money depending on the software working, nobody is going to use ChatGPT without a human code review.
But ChatGPT code is typically overly lengthy and complicated, just like what a beginner would produce. And that makes for expensive and slow code reviews. That's why in the end it's cheaper overall to skip all that and just hire a professional.
But in my experience, a small and highly skilled team already outcompetes these armies right now.
Working as an "IT consultant" after a 2 week bootstrap course has always been unsustainable. We will likely get rid of 90% of the current "software engineers" without any meaningful reduction in productivity.
There's no shortage that is not followed by a glut..
There is a shortage of smart humans and has been for a long time. I've never heard of a glut of smart humans in history.
Just as vertical integration in the auto industry killed off the auto startup ecosystem, vertical integration in the tech industry will kill off tech startups. This isnt because there won't be demand for innovative new tech or that startups won't be able to innovate, but because control of core platforms will allow the bigger players more leeway to crush and swallow smaller companies as well as to siphon their profit margins.
Think what aws is doing to elastic on a large scale.
Once the tech startup ecosystem dies (which could be soon; high interest rates will suck capital away from startups), the behemoths will probably stop innovating and slash headcounts.
Once that happens, I'm pretty sure that the stewards of capital and captains of industry will scapegoat AI and the Economist and Time magazine and the like will dutifully believe them and so will most of the people who read them.
Not too different from interpreting lighthouse scores.
It can make anyone with the means to access it a bad coder but the value of a professional has always been in picking the best solution from the possible ones.
When you actually decide the best solution you list pros and cons, weigh risk and cost, etc. These are all easily automated through least cost optimization. Not even using AI.
One, it gives small blocks of code, that too, for the most common use cases. Two, the code often contains a few errors (doesn't compile) or has a few security vulnerabilities.
But regarding your last question:
> how would you try to AI-proof your career?
Learn to program from first principles.
Data Oriented Design (2014):
https://www.youtube.com/watch?v=rX0ItVEVjHc
Solving the Right Problems (2017):
https://www.youtube.com/watch?v=4B00hV3wmMY
Senior devs will be able (they already are) to generate code, at first boilerplate and gradually more complex code, and effectively work as planners and passive reviewers, in a similar way to how some companies just hire legions of juniors with some architects/seniors guiding and reviewing their work.
The problem with that flow, I think, is that it completely disrupts the junior to senior pipeline. Senior roles might be valued even more than today, but reaching that stage or simply entering the market might become much more difficult.
I feel my career is pretty safe, but I’m not sure about someone joining the industry 5 years from now.
That could put junior developers out of a job just like glass terminals put many data entry and server room operators out of jobs.
My guess is that we’ll eventually see some kind of “higher degree bootcamps” that accept people with junior baseline skills and take them to the senior level, since learning on the job might become less feasible.
That's a limited analogy.
If you replace shovel with robotic excavator, it gets closer to what we have with current AI. It's not replacing jobs _yet_, but as soon as those excavators become fully automated, a single worker will be able to do the job of dozens, at a fraction of the time and cost.
And, yes, AI-powered excavators are a thing[1].
A closer analogy would be the trucking industry. Truckers are losing jobs _today_ as self-driving technology improves.
The same will eventually happen with software. Programmers will still be needed to drive the AI, but the productivity of one will be greatly increased, and human teams will be much smaller. Programmers won't be needed for simple tasks at first, until eventually only "prompt engineers" are left.
So I wouldn't say this is an existential risk yet, but our field will radically change within the next decade.
[1]: https://asirobots.com/mining/excavator/
A very large part of what remains is the bit which cannot be automated: modelling real world (business) process in terms of the systems of automation which are available.
Programming is a modelling activity which is about phrasing sequences of available actions to represent a process. If AI systems generate code, then programming becomes the sequencing of AI prompts -- which are here then just a more natural language like version of programming.
Even in that world a significant amount of technical skill is required to ensure commands are sequenced correctly, the code is correct, etc.
For "AI" to replace this process it would not only have to be AGI, but also AGI fully embeded in the human social world of the processes were are modelling.
My observation was that a lot of my colleagues had no appetite for reasoning about processes, much less thinking through various edge cases to make sure the work was done correctly and covered enough cases to be a useful workflow with low incidents.
Colour me skeptical but I'm not convinced we will see an AGI that can solve business problems without killing the proverbial cat without lots of baby sitting.
So is programming the business of copy pasting from stackoverflow or is it the business of solving problems?
Both, but what you’ve missed is you’re still putting some devs out of work. And solving business problems is absolutely on the burner for AI right now so give them a few years and it will solve that too.
I don't think these types of slow moving companies will be the ones to leap frog by jumping all in on AI, moreover I believe the TAM for software development is still growing strongly, AND I'm actually quite interested what happens to the nature of work 10-20 years down the line when most of today's kids who will be able to sort of code and become hybrid workers (to how traders went from shouting in a floor to being quite numeric, or accountants went from physical books to excel).
Tldr my bet is that AI might displace labour but not lead to a net reduction of software labour demand in the next 10-20 years at least
This is not programming. This is not what I had in mind when I signed up for Computer Science school.
> modelling real world (business) process in terms of the systems of automation which are available.
In other words, programming by analogy.
But if you mean algorithm design, that isn't programming. Algorithms arent programs, and the "operations" that they "sequence" are abstract. CSCi alg. design is more like geometry.
Programming is an empirical discipline; it uses the "geometry" of csci to build applications.
Programming is mainly about data transformations.
Contrast that with algorithms whose semantics are abstract and are correct given essentially mathematical laws, rather than empirical conditions.
Nope. Experience has shown that tasks that require peak intellectual abilities in humans are actually very easy for computers to do. Computers were outperforming humans at calculation 80 years ago, and have been crushing grandmasters at chess since the 90s.
Meanwhile, controlling a robot to move efficiently, or reliably distinguishing everyday objects like cats and dogs, is still extremely challenging for current AIs, which require more data than any human could see in a thousand lifetimes to perform at a remotely adequate level.
It's "menial" jobs that will be the last to go. Because those rely on innate abilities grown over hundreds of millions of years of evolution. A task like programming that was only invented three generations ago is trivial by comparison.
Perhaps I’m misunderstanding your statement.
If sensor data were the problem, computers could easily outperform humans since we have sensors that generate much more detailed data than the human senses: High-resolution cameras, multi-spectral and thermal imaging, x-rays, radar, etc.
The actual difference is that when shown a picture and told "this is a cat", humans already know what to look for. Even if a human has never seen a cat before, they will not, for example, examine the background of the photo, or the floor the cat is lying on. They will also instinctively derive analogies from similar animals they already know, and deduce lots of correct information about that "cat" without needing to be told explicitly.
Yes exactly. You’ll look for 4 legs, a tail, pointy ears and graceful movement. All of that is data you’ve registered by your (primarily one) senses (sensors). You’re receiving more data, and processing it faster, than a program.
Humans are fundamentally pattern matchers, and we’re great at it. What you call concept I call pattern.
I believe you vastly underestimate the amount of information the human brain processes continuously. Computers outperform humans by performing extremely narrow, focused computations at a high rate of speed. Despite years and years of research, I don't believe humans have even scratched the surface of understanding the human brain. In fact, I don't believe humans are capable of fully understanding it, since it was created by Someone so much greater than them.
Who will review and maintain the code produced apart from a developer anyways?
If you think about it it's much less revolutionary in terms of reducing coding jobs than WordPress.
That said the best way to anything-proof this career that's so lucrative is to be frugal and set yourself up to retire early.