Slashdot Mirror


The Robots That Will Put Coders Out of Work

snydeq writes Researchers warn that a glut of code is coming that will depress wages and turn coders into Uber drivers, InfoWorld reports. "The researchers — Boston University's Seth Benzell, Laurence Kotlikoff, and Guillermo LaGarda, and Columbia University's Jeffrey Sachs — aren't predicting some silly, Terminator-like robot apocalypse. What they are saying is that our economy is entering a new type of boom-and-bust cycle that accelerates the production of new products and new code so rapidly that supply outstrips demand. The solution to that shortage will be to figure out how not to need those hard-to-find human experts. In fact, it's already happening in some areas."

27 of 266 comments (clear)

  1. But CNN Said... by Anonymous Coward · · Score: 5, Funny

    This time was different :(

    1. Re:But CNN Said... by ATMAvatar · · Score: 4, Insightful

      Don't worry too much. Economics is essentially pseudoscience, so don't put too much stock in the report.

      --
      "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
    2. Re:But CNN Said... by ShanghaiBill · · Score: 5, Insightful

      don't put too much stock in the report.

      It is ridiculous that they think programmers will become Uber drivers. We will have self driving cars long before we have robots that write code.

    3. Re:But CNN Said... by gargleblast · · Score: 4, Funny

      Even meteorology and climatology ... are failing to predict the future ...

      I bet you die in a thunderstorm.

    4. Re:But CNN Said... by bondsbw · · Score: 4, Insightful

      Something similar can be said about this prediction in general. Before the programmer who is automating job X is laid off, the person currently performing job X will be laid off due to the new program. Programmers will outlast the positions they are automating.

      Which is easier, programmers moving on to another automation, or the replaced employee learning a different skill?

      If I were the author, I'd worry less about the programmer and more about how this world will handle the potential mass unemployment situation.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    5. Re:But CNN Said... by ultranova · · Score: 5, Interesting

      Economics isn't pseudoscience.

      Most of the time, economics is simply various economists or think tanks pushing policies advantageous to their patron's ideological or financial goals. So it's not even pseudoscience, but flat-out astrology.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    6. Re:But CNN Said... by tburkhol · · Score: 5, Interesting

      We will have self driving cars long before we have robots that write code.

      But we already have robots that write code. Almost no one actually writes machine code anymore, depending instead on assemblers, compilers, templates, or interpreters to do it for them. Those 'robots' have gotten progressively more complex and progressively better at figuring out what the programmer means by larger language constructions. The languages have moved closer to natural languages.

      Already, it seems like the difficult part is getting the managers to properly specify the desired functionality. It's not a huge leap to imagine that one might construct a formal language for program specification that would allow you to automate translation of the spec into a code skeleton.

    7. Re:But CNN Said... by phantomfive · · Score: 4, Insightful

      It's not a huge leap to imagine that one might construct a formal language for program specification that would allow you to automate translation of the spec into a code skeleton.

      It already exists, it's called UML. The problem is, the specifications typically turn out to be as big and complex as it would have been originally writing in actual code. People who try to implement ideas like yours are usually surprised to find that there isn't really much redundancy in the code to begin with, thus writing the spec requires quite a number of details.

      --
      "First they came for the slanderers and i said nothing."
  2. New jobs will be created. by Kaenneth · · Score: 4, Funny

    Well, someone will have to write the detailed specification, and list of instructions for the system to use to know what the humans want it to code. We could call that person a 'Programmerator' and the system a 'Compileatron'.

    1. Re:New jobs will be created. by siddesu · · Score: 3, Insightful

      No, this dream about the 'new jobs' isn't supported by a lot of evidence. New jobs will likely not be created in the numbers necessary to give jobs to everyone displaced. Actually, not even close, and that'll be true in all sectors. https://ir.citi.com/FItMGwO7Z6...

    2. Re:New jobs will be created. by Dutch+Gun · · Score: 5, Insightful

      Meh. I'd read this as:

      "Researchers and writers jealous of massive demand and high wages of programmers, predict doom and gloom for those that picked a reasonably lucrative career path". Or perhaps "You programmed all this shit that's taking our jobs away... you'll get yours too someday!" Of course, the article is paywalled, so I can't see how ridiculous and speculative it is for myself. Or rather, I wouldn't bother to pay.

      Most of the examples in the article covered things like writing passable articles on local sports stories. That's a little bit different than the work I do, thank you, which isn't copy-paste crapola or rattling out statistics surrounded by fluff. It's the sort of stuff I get headaches designing and thinking about for days on end, spend time rewriting and optimizing, and talking about with other programmer friends when I come up with a really elegant solution. It's trying to figure out how to do things that no one else has actually done before, and doing it with very demanding constraints of size and speed.

      Maybe some jobs can be automated away, but I'd probably have a hard time calling them real programming jobs if that's the case. A lot of programming is about creative problems solving, not just pure logic, which is just the means to an end. If a "robot" can do that before I'm dead, I'll eat my hat.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    3. Re:New jobs will be created. by itzly · · Score: 3, Interesting

      It's trying to figure out how to do things that no one else has actually done before, and doing it with very demanding constraints of size and speed

      The demanding constraints are constantly getting less, though. I remember spending days to squeeze the code into 1024 instructions into a small microcontroller. Nowadays, I can get 1MB flash for the same price, and use maybe 40kB of it.

    4. Re:New jobs will be created. by AchilleTalon · · Score: 3, Interesting

      You are about right. Considering there is actually many jobs even higher paid than tech and programmers' jobs, then why this exact rational from TFA hasn't yet been applied to these jobs since the savings will be much greater? Many diagnostics and prescriptions from omnipraticians doctors could be replaced by automated systems with higher success rate and lower error rate in prescriptions and much lower price than the average or even expert doctor these days. These doctors essentially measure a small amount of physical characteristics, pulse, blood pressure, temperature and ask few questions to finally reach a diagnostic. This can be automated for the vast majority of common diseases. And when the application cannot reach a diagnostic because the case is too complex it could even ask for more information, blood analysis, CT-scan, bacteriological culture, etc. Which a nurse can take a sample as required of the tissus needed or the blood sample to be sent to a lab for analysis and the results being returned back to the automated system for further analysis. If at the end, the program cannot reach a diagnostic with a high probability, then the case can be refered to human doctors and probably to a panel of experts because at this point it is very likely the regular average doctor will not be able to do better.

      --
      Achille Talon
      Hop!
    5. Re:New jobs will be created. by RabidReindeer · · Score: 4, Insightful

      They've been predicting this sort of thing for literally decades. Anyone here old enough to remember "4GLs"?

      Software development is a creative art, much to the frustration of those in management that want it to be unskilled labor. Every time we get more powerful tools, all we do is come up with more powerful demands.

      There are some areas where little new software development is being done, since we already have a glut of editors and accounting systems that work more or less well off-the-rack, but every business seems to have certain areas where only bespoke software will do for them. Either customizations on a standard product or a completely in-house designed product.

      The time to worry is when one of those "instant app" systems comes out that actually CAN deal with stuff like that. The hallmark of all of the very long line of "silver bullet" programmers-will-become-obsolete systems is that they can do a real bang-up job as long as all you want is to write the same program over and over again. But they all (so far) start breaking down the minute the end users say "That's wonderful. But can you just make it do...?"

  3. HA! by retech · · Score: 4, Funny

    Jokes one them. Uber's robot cares are going to put Uber drivers out of business.

  4. Nothing new by stephanruby · · Score: 3, Interesting

    This is nothing new. For instance, word processing consultants were put out of business by Word Perfect. If those former word processing consultants wanted to stay relevant, they had to retrain themselves. In software development, we're constantly trying to automate our own work and replace ourselves, until one day we're actually successful at it, and then we have to find a new problem to solve if we want to stay relevant on the open market.

    I'm not sure why those guys are taking a jab at Uber thought. Uber isn't replacing Taxis. It's meeting the demands of the open market during peak hours, which Taxis are incapable of filling by themselves (at least, not in places like San Francisco or New York where it's absolutely impossible to get a taxi during the time when you most need one).

  5. Article is Hype by PerlPunk · · Score: 5, Informative

    I read the article, and I'm not buying it.

    I can see programmers in some small, well-understood niche markets replaced by complex applications (which require more programmers to write!) and causing some programmers to go looking elsewhere for jobs. But new technologies for computer-aided software design are not going to cause structural unemployment any time soon in the IT profession.

    Some reasons include the cost of miracle software-building robots will be at a premium, which means only the biggest players would be able to afford them. And after they purchase them, they will only be able to work well within a limited number of tasks.

    1. Re:Article is Hype by Anonymous Coward · · Score: 3, Interesting

      What is happening is companies are farming our their dev to Indian agencies (while they are so cheap). What comes back is buggy, badly designed but mostly done. The company's dev start then bang it into shape. I've worked both sides of the Atlantic freelance and I'm seeing this outsourcing all the time, as have associates in my field. It's not as complete outsourcing like we saw in the late 80s early 90s, it's just bulk code generation. You would be surprised who is doing this, even very big names in finance are doing it. The next time you swipe your card, you are probably using dirt cheap code from an Indian code center.

  6. Software has been replacing coders for decades by afgam28 · · Score: 5, Insightful

    Imagine how many more programmers would be needed if we didn't have compilers. Or automatic code generators. And the whole point of machine learning is that you write software that teaches itself how to do something, rather than program it directly.

    Software developers have been quite good at moving up into higher levels of abstraction each time we multiply our productivity. There's so much work to do that I doubt our tools will ever "displace" us.

  7. That's the goal. by craigm4980 · · Score: 5, Insightful

    Any good software architect or engineer should have the goal of minimizing the needed code / work for a project. If it takes metaprogramming, then fine. If it requires creating general purpose run-times (such as auto optimizers, such as simple hill climbers or as advanced as large neural nets) thats fine too. If the general purpose runtimes can code and thus are meta programs, great.

    The idea of declarative programming for specialized run-times is nothing new. If you apply it to a general runtime that can do programming, you then have a system that makes functions that meet specs: programming moves to producing what ever declarative specs such a system consumes. Once again its just a move to a higher level language and abstraction. If (and thats a big if) its trivial to write in such a language, and all us coders no longer need skill or experience to develop new applications and we all become unemployed, well, thats the goal right: make developing your applications trivial?

    Every advancement we make, assemblers, higher level languages (like C), and all those language paradigms (OOP, functional, generics/templates etc) are supposed to help with this. So are libraries. We make software hundreds of thousands of times more complex than we used to because of these advances. Much of the software of today may become trivialized by the coming advancements just as much old software has been since we started programming. Maybe we will just keep making software more complex, or maybe well will create more different applications, or maybe we will just have time to catch up, optimize and fix all the broken shit? Or most of us could become unemployed because we have enough complexity, and new tools will make the work needed go down not up.

  8. Not until Strong AI by Bruce+Perens · · Score: 4, Insightful

    This is a "we'll all have flying cars" sort of paper by people who could not make flying cars but were convinced that they'd be here any moment.

    Strong AI is the first "computer program" that has the potential to automate the act of creativity. Everything less can be a compiler, a pattern recognizer, an Uber driver, and in general a tool that does what it is told .

    And we are not particularly closer to Strong AI than when it was first theorized.

    I would be more impressed with a paper by people who could actually make the software these guys theorize about, rather than sophomoricaly discussing it.

  9. Re:The problem is political by jandersen · · Score: 3, Insightful

    I'm not sure he will be laughing - he never said that Capilism was all-out evil, only that it will by necessity come to an end, because it causes growing instability. In his opinion it was inevitable that the gap between rich and poor will grow under capitalism, and that this will lead to violent revolutions, but now a days this scenario has got competition from things like resource shortages and the fact that we will eventually reach some physical limit on this planet. As he pointed out, a sustainable society is one where we move beyond the dogma of capitalism and address the limitations in that system. It may well end up looking like a form of communism.

  10. Dilbert Complete by Tablizer · · Score: 5, Insightful

    Let's see them work with PHB's and clueless users to nail down "requirements". Automating logic is easy, automating prediction of random idiots is not so easy because randomness is by definition not predictable.

    You have go to lunch with and sit in boring meetings with them to figure them out, and the robot will be booted out of the room because it will ask good but embarrassing, ego-shattering questions; and not get the design analogies that use Kardashian asses as reference points, asking silly questions in an attempt to figure it out. The business world is bunches of social institutions much more than it is think tanks.

    You are trying to replace humans, not Vulcans. Kirk ran the missions better than Spock because he could identify better with illogical and petty aliens.

  11. BS by Anonymous Coward · · Score: 3, Interesting

    The article does not have anything even worthy of consideration. It is just bloat with a snappy headline. The story goes like this: we know there is technical progress, software developers are in as high demand as never before, with wages 70% above other 'induatrial workers'. In the past, such high skilled workforce lead to investment into automation, and that's already happening. Case in point: standardized sports events are written by computers, not journalist. See? If you can replace journalists, sure developers are in immediate danger. After all, not much difference, developers and journalists alike type on keyboards and sit in offices and are good at exressing their thoughts in words. Developers beware!!

    Again, just plain and utter BS. Makes me wonder if that article was written by a bot, too.

  12. FTFTFS by fyngyrz · · Score: 4, Informative

    The solution to that shortage will be to figure out how not to need those hard-to-find human experts.

    The solution to that imaginary shortage will be to figure out how not to pay those easy-to-find human experts. We call part A of this solution "offshoring", and part B the "H1B Scam." And it's working just fine.

    FTFTFS.

    --
    I've fallen off your lawn, and I can't get up.
  13. Same old story by paradigm82 · · Score: 3, Informative

    This story comes up every few years. They are all written off the same template, like how this new generation of tools will allow everyone to write their own apps, and you don't need professional programmers, and here's an example of an 8-year old who made an app in two minutes etc. These stories are written by people who don't have a clue what the working day of a programmer looks like, and imagines something sitting isolated at his desk typing in code all day
    The programmer's job is to translate the requirements from other humans into requirements that a machine can understand. For very well-defined domains of applications, it is indeed possible for non-programmers to use tools that can achieve the same thing. That was the same with VB 1.0 or equivalents prior to that. I don't think the scope of possible applications that can be written in this way has broadened much in the decades after. Applications that is just a dialog with very simple logic can be written by drawing the dialog and copy-pasting and adapting small statements etc.
    Beyond that there's not been much progress in "auto-writing" applications. The reason is, that the current programming languages are actually fairly efficient and precise ways of explaining to a computer what it should do. The job of the programmer is to translate the "business" requirements into that specification.
    Even for a fairly trivial stand-alone program computers can't do this today. Even if that were to happen, consider that much of the programmer's time is not spent writing code within some confined, well-defined environment, just writing line after line. Rather, it is spent understanding the customer-specific requirements, realizing if they are impossible/inconsistent and working out a solution together with the customer, integrating multiple systems and many different levels in those systems using completely different interfaces and paradigms, and figuring out how it is all going to work together.
    My experience is that most automatic code-writing and analysis tool stop working when you add this layer of complexity. They may work well for a completely stand-alone Java application with a main() method, but how does it work when you have client code, native code, server code, 10 diff. frameworks, 3rd party libraries some written in other languages, external web services, legacy systems, end-users who think about things in different ways than the internal data models etc, implicit contracts/conventions, leaky abstractions, unspecified time-out conditions, workarounds required due to bug in other systems and difference in end-user setups? The complexity and bugs here is always resolved by human programmers and I suspect it will be that way for a long, long time even if computers manage to be able to write stand-alone programs themselves (which IMHO will be the point where we have something approaching general AI). While you can take individual aspects of these problems and formalize them, the amount of combinations and the diversity in scenarios is so big, that it becomes impractical.
    If you have competent programmers, most of the bugs are going to be in these areas, since it is also easy for a competent human programmer to write a stand-alone program that works well on one machine.

  14. Re:I have been predicting this for years by drrilll · · Score: 3, Insightful

    Yes, all of these things you mentioned have resulted in less software jobs. Oh wait.