Readit News logoReadit News
Posted by u/thisiswrongggg 3 years ago
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?

mjburgess · 3 years ago
Almost all the work of programmers is already automated in the form of everything you get via `pip`, `apt get` etc.

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.

djtango · 3 years ago
In another life, I designed workflows that could be picked up by offshore teams to execute the actual work.

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?

tekknik · 3 years ago
> 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.

hsn915 · 3 years ago
This comment aptly summerizes why I hate most "modern" programming jobs.

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.

mjburgess · 3 years ago
Programming is always a modelling of real-world process. If you want to program directly for the CPU, it is this device which provides you with operation primitives which you sequence. Perhaps you mean you'd prefer to model more interesting processes.

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.

kace91 · 3 years ago
My immediate guess is that these kinds of tools will greatly enlarge the productivity gap between junior and senior developers.

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.

avidiax · 3 years ago
That's an interesting take. The ChatGPT seems to do very well at doing what it's told, but it needs very explicit requirements and supervision to discover missing requirements. It's a junior developer, basically.

That could put junior developers out of a job just like glass terminals put many data entry and server room operators out of jobs.

rychco · 3 years ago
I agree with this. These AI tools have caused my (not a junior) productivity to skyrocket as a result of eliminating almost every instance of needing to check documentation/stackoverflow/etc. for easy questions in addition to providing most of my annoying boilerplate code. Since I am my own expert opinion on whether the output is correct/satisfactory, I can quickly breeze through verification of output & make corrections as necessary.
kace91 · 3 years ago
Yup. And provided you’re a newcomer, the path to becoming able to provide that expert opinion involves years of performing precisely the tasks that AI is getting rid of.

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.

62951413 · 3 years ago
The Innovator's Dilemma book popularized the idea that it's frequently newcomers who are the beneficiaries of breakthrough changes for mostly structural reasons. Could it apply to individual people too in this case?
p-e-w · 3 years ago
In my experience, non-programmers lack not only the ability to translate concepts to code, but to formulate those concepts in the first place.

Ask someone who isn't a software engineer to guide you in developing a simple program. You do all the actual coding, they just tell you what they want to happen. You will find that most people are unable to describe even high-level actions in the form of a coherent, procedural sequence.

Even the best code-generating AI won't solve this problem, since it cannot generate useful code if the operator cannot articulate what they actually need.

jongjong · 3 years ago
Agreed. The mark of a senior developer is their ability to decouple concepts and synthesize concepts appropriately depending on the context.

You need to have highly developed critical thinking skills in order to be able to formulate appropriate solutions to problems. What a developer does isn't so different from what an entrepreneur does; they spend most of their time explaining their vision and goals; the difference is that the developer's vision and goals are much more granular and detailed.

password-234 · 3 years ago
Not but if AI is able to understand what a non-programmer is trying to accomplish it will do it.
ResearchCode · 3 years ago
Then we'd automate the non-programmer first.
fxtentacle · 3 years ago
Of course 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.

anthropodie · 3 years ago
It's excellent for menial programming tasks like fill up database with dummy data or generating boilerplate code.
tekknik · 3 years ago
For now, 2-3 years ago it couldn’t even generate code. 2-3 years from now will be very different.
sebzim4500 · 3 years ago
The question wasn't just about ChatGPT though. If the SOTA improves as much in the next decade as it has in the last decade (for from a guarantee of course), it will be hard for any tech company to justify having thousands of developers.
fxtentacle · 3 years ago
Yes.

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.

Deleted Comment

lonelyasacloud · 3 years ago
>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?

Yes.

> If yes what is your estimate?

5 to 10 years will see a noticeable decrease in the number of programming jobs as we know them today.

> And how would you try to AI-proof your career

Historically tech changes end up leaving a small rump of niche based practitioners, e.g. Blacksmiths servicing riding stables and racing yards, while the majority either exit the industry or take up the skillsets for the new technology. To future proof against AI, it's either be about finding the niche in a shrinking market or changing skillsets.

In terms of those skillsets.

Without Artifical General Intelligence there is going to be a need for someone to translate human requirements into something that the "machine" - however sophisticated - understands _and_ verify the results afterwards. That sounds very much like some form of Behaviour Driven Development.

As to niches; there are a lot of complex, ill-defined but essential Cobol, Perl, PHP and Python systems floating around. Verifying a new translations is going to be expensive. QED; specialists keeping those existing systems ticking along is likely to be a thing long enough to make a career from.

pydry · 3 years ago
No, but tech consolidation probably will. Tech is following in the same footsteps as the American car industry in the 50s.

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.

pacifika · 3 years ago
As I see it, it generates fakes or potentially correct solutions that require review and alteration. So it’s best employed by a professional that can judge the generated result in a wider context.

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.

tekknik · 3 years ago
> 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.

TrackerFF · 3 years ago
Having toyed around with ChatGPT for a week now, I already use it as a sort of "code assistant", much like how copilot works.

How good the results are, depends on how good you are at constructing the queries. It's a bit like using google - some people have only the most basic knowledge, while others can find pretty much anything, because they're really good at writing queries.

Now, imagine how it's going to be 10-15-20 years from now? The future models will probably cull a chunk of devs., while the good devs will be even more efficient.

But who knows, maybe this will actually help some of the mediocre programmers to focus their energy on other things? Like taking on other roles? Take me for example - I'm no rock-star programmer. I see programming as a means to an end, it's just a tool. I would much prefer to focus on the actual business logic and features of a product, maybe even long-time strategy. If most of the tedious coding was removed, that would make me happy.