
AI Will Not Be Taking Away Code Jobs Anytime Soon - Katydid
https://www.nextplatform.com/2018/02/05/ai-will-not-taking-away-code-jobs-anytime-soon/
======
diego_moita
Funny how, in computing, every new idea is almost always a reiteration of an
old one.

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.

~~~
hoopladler
Turing reportedly believed that programming would require “a great number of
mathematicians of ability”.

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.

~~~
anonacct37
> designed so that a mediocre programmer can produce passable code

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.

~~~
hoopladler
I'm actually kind of embarassed by how innacurate my post was, but I can't
edit it with corrections.

------
skywhopper
This is silly. We already have automatic code generation tools. We have for
decades. They are called compilers, interpreters, standard libraries. These do
not reduce the need for programmers. No AI can decide _what_ to build nor can
they solve pragmatic tradeoffs between competing goals that real programmers
have to deal with all the time. Some human has to be making the decisions
about what the computer is going to do. And they'll need a means by which to
inform the computer what it is to be doing. And that means is what we now call
a programming language. Smarter compilers, code analysis tools, or library
finders aren't going to remove the need to define the specification.

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.

~~~
dynamodispatch
> No AI can decide _what_ to build

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.

~~~
ericmcer
Judging by how impacted CS programs are at colleges, and how hard working the
interns I have been seeing come through my company lately, wages may be
stalling sooner than you think.

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.

~~~
closeparen
A massive increase in programming labor physically won’t fit in the Bay Area’s
housing stock, and the industry already could have slashed costs anytime it
wanted by hiring in the Midwest and South.

------
ilaksh
I personally believe we will see artificial general intelligence demos in 2018
or 2019. They will be general but not initially have anywhere near the same
level of capacity as animals or humans so people may deny they are
intelligent. But by 2020 or 2021 most will not deny it. Within a few years of
training, high level tasks like human equivalent AI programmers will be
possible.

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.

------
akditer
AI won't make coders unemployed. It will simply create a new type of job, like
tensor flow programmers. This is same as C++ programmers who some way generate
assembly code by using a tool called compiler.

~~~
TeMPOraL
The first iteration, maybe not. But the end goal for a general AI is to have
it close over - i.e. have an AI capable of programming itself. At this point
you enter the realm of recursive self-improvement, with no humans necessary in
the loop.

------
jmclnx
I think it depends. If pointy/clickie programming I think this type well be
the first to go to AI since all you are doing is linking blocks together. If
programming that is only done using a text editor, I think it will be a while.

------
pilooch
Fact is though that instead of coding up an object detector, the machine is
doing it now. This job is now being controlled by ML personnel, not (yet) your
standard programmer. What is left is glue code and architecture, at least for
some time.

------
junkscience2017
No, but combine cloud APIs, AI, and market consolidation and you will indeed
see a reduction in the demand for code. I write much less code than I did ten
years ago. I spend more time integrating others' code now than I do writing my
own.

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

~~~
klibertp
I don't believe this to be true. We've seen quite a few technologies, which
promised to "let anyone code", without any real success, whereas to "let AI
code" is even harder than letting your boss. At the very least, I expect we'd
need another 2 or 3 major, paradigm-shifting, breakthroughs to get computers
sophisticated enough to program themselves, which is still 50-60 years away.

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.

~~~
jjeaff
I think that we can do a lot more with a lot less programmer hours today.
React native is a good example. We have just finished rebuilding our app with
maybe one third the time and cost of our two native apps.

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.

~~~
kthejoker2
This exactly. I always think of this xkcd comic

[https://xkcd.com/1205/](https://xkcd.com/1205/)

If AI makes all those targets achievable, the number of projects which will
get wired up will be astronomical - but finite.

