AI Will Not Be Taking Away Code Jobs Anytime Soon
nextplatform.com
nextplatform.com
One of the arguments for John Backus to create Fortran was to allow non-programmers (of Assembly language) to program. In some sense he succeeded, it allowed a lot of scientists unwilling to understand registers, stack and heaps to program computers. Then Grace Hopper did the same with Cobol for business people. In the end they didn't extinguish the job of a programmer, they just enabled people that thought in higher levels of abstraction to program computers.
This is what Wordpress/Joomla did for HTML coders, what super-optimized C and C++ compilers did for machine-level coding, what Sharepoint is doing for intranet builders, etc. We are constantly moving to higher levels of abstraction and solving more problems but it only increases the need for people skilled with basic notions of programming.
I think if you want to find a trend in computing, it's the same as the progression in other industries. Tooling replaces raw ability, technique replaces skill, and jobs requiring skills are slowly replaced by jobs that don't require skills.
Consider Go, for instance. There's no doubt that the opinionated, overly-controlling compiler, absolute minimalism, and conventional structure of the language is designed so that a mediocre programmer can produce passable code. A good programmer doesn't really need gofmt, or a compiler that tells them off for not properly commenting their code. Good programmers don't tend to abuse generics or lambdas or all the other things Go doesn't have.
So what it does, compared to C++, or even Java, is allows you to employ less experienced, less skilled programmers, and equally, to expect them to actually be productive, and not to produce morasses of unreadable gibberish.
Don't get me wrong - I like Go. But if C was the only language in town, there's no doubt you'd need more programmers, they'd have to be better trained, and their job security and compensation would be better.
That's a little unfair, if accurate. Even the best of us are mediocre programmers when fixing a bug in the middle of the night or diving into a new code base.
You might as well say (and some do) that Haskell is for mediocre programmers because good programmers don't make type mistakes.
> a compiler that tells them off for not properly commenting their code
Are you still talking about go and if so would you mind sending a link because as someone who has written it professionally since pre-go1.0 and contributed multiple changes to the go repo I haven't the faintest idea what you are talking about.
Are you thinking about the right language?
Machine learning only (partly) addresses one of those categories. There’s still plenty of work to do even if AI decision making is less buggy than human code.
Anyway, it's not like there's a limited amount of programming to be done, and if we could only be more productive, we'd finish it all up sooner and go to the lake. No, the demand for more and better software will only increase to consume any productivity increases we achieve. Think about the software you use every day. Could it be made better? Of course! Most of it is terrible. There's an infinite amount of work to be done.
Honestly, programmers don't decide either. We build what we are told to build.
> Could it be made better? Of course! Most of it is terrible. There's an infinite amount of work to be done.
Of course, if our objective it to achieve perfection, then there will always be more things to do because we can never achieve perfection. But most of the time "good enough" is good enough.
But I agree with that AI won't be taking programming jobs anytime soon. But AI will certainly put pressure on the number of jobs and wages. As you said, "smart" compilers, debuggers, code analyzer, etc helps increase productivity. But sooner or later, it will eventually hit demand for programmers.
We are living in the golden age of tech. So it's hard to imagine it ever stopping. I think the biggest concern is the wages and prospects. As more and more people get into programming and as the profession gets more and more productive ( AI, tools ), it's inevitable that wages will stall and decline. Hopefully, just not in my lifetime.
Like many other skilled occupations in this country the future is probably going to be very highly paid elite workers and masses of low paid people who are just "good". Kind of inevitable in a capitalist society where human labor is losing its value.
If only. If the people doing that telling could elucidate clearly enough what it was that they wanted built, they'd be programmers (or, to be fair, requirements gurus - I have worked in a company that had someone really, really good with requirements; it was the only place I've ever worked in which the customer never reported a single bug).
This is speculation obviously. Let me try to explain why I think it is so close.
The limitations and problems of neural networks, deep learning, etc. for creating AGI have been well documented. However, for each of these problems, there are successful projects addressing them. Things like capsule networks (Hinton), distributed training on shared experience (Deep Mind), fast online learning with time-based animal-like networks (Ogma).
At the same time, the advanced neural network researchers have become familiar with the existing body of AGI work. They are building their networks into virtually embodied or real-bodied robots that have fully general inputs and outputs and training them in varied environments.
Some generality has already been demonstrated. Based on the progress made so far it seems likely abstraction, depth of cognitive ability etc. will be increased as there are more innovations and integration of existing ones.
The reason the timeframe is relatively short is because of the exciting progress so far, the number of actual geniuses working on it, massive investments, improvements in hardware, and social expectation. The world now believes again this is possible which means there is an explosion of people working on it and ultimately those are two of the biggest factors pushing this into reality.
If tools are not released by researchers within a few years then I expect someone to release a tool or game online or on Steam etc. with powerful built-in AGI.
In ten years most industrial coders will probably be down to a hundred or so lines of new production code a year...it will be the DATA arcitects who are calling the architecture shots as it becomes clear that data architecture trmps code architecture
I mean, that's my gut feeling; we'll see how it plays out, but for now I'm still not really worried about my job disappearing.
This is of course offset by the overall huge growth in demand for all kinds of software. But if that demand curve ever flattens out, then I think we could definitely see a reduction in the need for programmers.
If AI makes all those targets achievable, the number of projects which will get wired up will be astronomical - but finite.