
The Rise of Artificial Intelligence and the End of Code - AJRF
http://www.wired.com/2016/05/the-end-of-code/
======
Hydraulix989
Amazing listening to all of the HN coder apologists here come up with excuses
for why they aren't going to lose their jobs, too.

If anything, abstraction, ever-tighter vendor lock-in, and improvements in
static analysis will kill off many coder jobs.

There aren't too many jobs out there for recreating basic UNIX tools like sed
or grep -- soon, this will be true for higher level tools as well, until what
you're doing now at your desk as a coder becomes a "tool" or already exists as
a library.

It will eventually be like self-driving cars: Not totally automated, but
enough to make the job of programming like a modern-day pilot's -- throw it in
autopilot, and then step in whenever (rarely) necessary. Then people will
realize fewer people are needed to keep watch and step in, and that one person
is enough to do the same thing as many people.

~~~
JustSomeNobody
Sigh. Apologists? Really?

Look, people have been declaring the end to programming since it became a
profession. Heck, man, Visual Basic was supposed to put us all out of work.

Good grief, dude.

~~~
Hydraulix989
There's actually a great underlying point here, to make up for this comment's
lackluster delivery thereof.

If anything, Visual Basic is a great example of something that ended (a
significant part of) programming.

I don't know too many people these days writing WIN32 C GUIs any more, thanks
to my above-described forces of abstraction.

Sure, VB wasn't the best abstraction for graphical user interfaces -- it looks
like web was the real winner here, but GUI programming has been "abstracted
out" or automated, if you will.

~~~
JustSomeNobody
That didn't end because of VB. The web has taken over desktop GUI programs
because of how lucrative your personal information has become.

------
artifaxx
The end of code seems like a title created by a sensationalist... I am excited
for how these forms of pattern recognition and decision making can allow us to
do more with software. There is still plenty of code to be written as we
continue to apply software to every aspect of our world.

~~~
JustSomeNobody
I wouldn't be surprised if wired kicked out an article like this once every
few years, to be honest.

------
boznz
Based on the user requirements I usually get (or lack thereof) I think it will
be a few years yet until I am out of a job.

------
wrong_variable
Dogs can be made to learn things - doesn't mean we allow them do surgery.

Whoever wrote this article has negative knowledge about the state of AI.

edit:

Its also slightly insulting that this person thinks that the modern programmer
spends all their time writing if/else/then statement.

~~~
pedalpete
I'm going to take the other side of this argument and suggest that we didn't
create the dog and the limitations in the dogs abilities.

I suspect that this will be difficult for the HN community to hear, but we
must face the upcoming realities.

Though I think the article may be assigning more abilities to AI than is
actually feasible in our lifetimes, let us not forget that most back-end
developers are doing basic I/O and data manipulation tasks. Put something into
a database, get something out of a database. Front-enders are doing layout,
animation, sizing and colouring.

The average modern programmer doesn't spend their time writing if/else/then
statements, I believe the average programmer spends their time writing
GET/SET/EDIT/DELETE flows.

I believe in the next 10 years, artificial intelligence will be able to model
and create these basic systems based on human input. UX and possibly even UI
can also be trained. A/B testing can certainly be trained.

Those who think programmers can't be replaced begin to sound like the Luddites
who felt the loom could not match the quality of their craft.

Note: I am a full-stack developer, I believe 90% of my day job will be
replaced by AI in the coming years. That final 10% often deciding what to do
or the best how, will likely be the main task.

~~~
orthoganol
Replaceable or replaceable by AI?

Already today standard CRUD web development is largely automateable. I already
have my own specialized scripts from years of experience, targeting backend,
front end, design components, that generate most of what I want with some
basic inputs. I imagine most experienced web developers have some internal
tooling like this too.

This kind of approach already does replace programmers, and could do so a lot
more. But what do you mean by replaceable by AI? How would that work?

~~~
learc83
>I imagine most experienced web developers have some internal tooling like
this too.

I don't think that's true at all unless you're talking about 3rd party tools
like rails scaffolding. What languages / frameworks are you using by the way?

The boilerplate stuff that can be replaced by scripts is maybe 10-15% of my
time anyway. The rest of my time is spent at a much higher level either trying
to interpret client requests, trying to help the client decide what they want,
making high level design decisions, or adding features that require way to
much customization to use automated code generators.

This is much different if we're talking about a language like C where a much
higher percentage of my time is spent on boilerplate code. However with newer
languages and frameworks I think we're reaching diminishing returns for what
can be automated by either the language itself or generator
scripts/frameworks.

There is a _huge_ productivity difference between using C and raw PHP when
writing a CRUD app. There's less of a productivity boost (still huge though)
when moving from raw PHP to something like Rails. And there's even less of a
jump between Rails and something newer like Phoenix. I expect that the next 10
years will give us even smaller incremental improvements.

------
Houshalter
If AIs replace programmers, why would they stop there? They could replace
every job. Including AI researchers!

------
davesque
This is mostly a futurist view on the topic. Not surprising given it's from
wired.com.

------
coldcode
There will be a day when the last programmer writes the last program. Long
after we are all dead. While some types of jobs may be automatable, most of
what I have to do makes little sense to smart people much less a rigid AI.
What AI can take almost random requirements, strange UI designs and animations
and clueless VP driven features and turn it into something people want to use.

I think the VP's are more likely to be replaced by an AI.

~~~
eellpp
VP may be replaced by a VP role that requires him to convert the random
requirements to specifics or guide the AI on UI design etc. Instead of a VP
and team of developers there would be devVp would could bridge this gap. And
then in still further future, this friction could even be removed ...

------
doug1001
articles with this identical thesis and conclusion have been published from
time to time for the past 25 years.

i started coding in the early 1980's and began coding professionally just
after graduating from MIT in 1992. The "guidance counselor" at my high school
recommended that i major in something other than computer science because he
has read several thoughtful pieces that suggested the job of professional
programmer would become "extinct" not because programming wasn't important but
because it was too important (to leave to programmers)--sort of like the way
many companies 50 years ago had large "typing pools"; these are gone because
everyone can type.

looking across the span of my career so far, it seems these predictions are
correct, in a horizon sense--ie, we've reached this distance line we pointed
to 20 years ago, but there's no horizon there, it's still far in the distance.

here's what i mean: in 1992, my first job involved writing small extensions to
numerical libraries, in C and FORTRAN. Probably 90 percent (if anything it was
higher) of my time was spent "managing memory"\--allocating it, deallocating
it, pointing to it, etc.

now, the time i spend on those sorts of tasks is de minimis. So the march of
technology never took away my job (the only job i have ever wanted to do) but
it did take away 90% of it.

With 90% of my former tasks now handled elsewhere, far more interesting and
challenging tasks have taken their place.

this is the trend i see--not the one-sided (or perhaps short-sited) trend
described in the Wired post--but a continuous iteration of the programmer's
work characterized by swapping well-characterized, routinized tasks for more
challenging ones, most of which are would take some thought to foresee.

------
paulsutter
AI techniques don't require acres of developers writing acres of if/thens
(traditional software development is just that).

The Deepmind Atari player is only 1500 lines of code.

~~~
narrator
I think that software developers are going to become one of the few
professions left and will be massively productive because they just have to
hook up the AI training and they're basically done. Anyone who can hack this
stuff is going to be able to be on the other end of the wealth divide real
quick.

Transfer learning is a beautiful awesome thing. You can download ImageNet
models trained on huge amounts of data by GPU farms and suddenly you've got a
world class image recognizer running on your very own GPU.

Reinforcement learning is totally off the hook. You can make a bot for a
random board game that you barely know how to play.

------
frogfuzion
This is exactly why i am apprenticing as an HVAC technician on the side. I
dont believe there is longevity in this position over the next 10-20 years.

------
trhway
why would AI program? Programming is a way to make hardware perform some task.
Well, couldn't AI just go straight to performing the task, skipping the
programming step, at least as we know it.

------
carapace
If you have been following the recent advances in AI (and are not clueless)
then it should be getting really REALLY obvious that _most_ coding and design
tasks will be automated within three to five years.

AI will eat your career.

~~~
thoughtsimple
I must be clueless.

Please cite an example where a software design task has been done by machine
learning. Something where you start with a specification or description and
the automation produces a usable design.

Coding could possibly be replaced by something in a decade or so but I
wouldn't hold my breath. We are just getting to compilers and JIT systems that
do better than smart developers working at a lower level.

~~~
carapace
[http://arxiv.org/abs/1410.5401](http://arxiv.org/abs/1410.5401)

