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."

42 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 Aighearach · · Score: 2

      If there are no driving jobs, or cleaning jobs, and the robots harvest all the food, they can always become hospice workers for the starving unemployed masses.

      Or just have less work to do, but CNN is probably talking about US jobs, not European ones.

    4. 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.

    5. 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.
    6. 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.

    7. 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.

    8. Re:But CNN Said... by tmosley · · Score: 2

      Actually just the opposite. This looks more like a Rorschach test than anything else, and I can see why the computer would say those abstract images look like what they look like. They just haven't been trained to identify abstract things yet.

      If I can see why the machine labels those images the way it does, it means we have similar neural nets. If that doesn't excite/terrify you, I don't know what will.

    9. Re:But CNN Said... by currently_awake · · Score: 2

      I think something different. Being poor is only a problem if you need money. So what happens when we design an economy that doesn't need money?

    10. 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."
    11. Re:But CNN Said... by david_thornley · · Score: 2

      Fundamentally, it will always be necessary to take somebody's ideas in imprecise thought and language and turn it into something precise and formal. I don't care whether what's precise and formal is raw machine language or a UML specification, the transition is where the programming is.

      It's been getting easier for non-programmers to do things for decades. Whenever that happens, there's a demand for programmers to do new things they couldn't do before. I can't really predict how long that will last, but I think it will be quite a while.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  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 Registered+Coward+v2 · · Score: 2

      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!"

      I think it is more like "don't think because you learned a reasonably valuable skill that that skill can't be devalued through, or replaced by, automation." It's a pattern that has repeated itself throughout history as machines replaced human labor.

      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.

      I also think that is a more likely scenario. Many programming jobs are little more than glorified assembly line work where some basic stock code is adapted to a specific job. That's why a lot of it is outsourced since it really doesn't require a sophisticated level of skill, merely the ability to generate the same stuff over and over. The real code writing, as you point out, still will require skills humans possess. In some ways, it's how manufacturing is returning to the US. Instead of an assembly line full of people you have a bunch of robots overseen by a much more skilled technician.

      As for the newspaper articles case, that is a bit different. There, good enough and cheap beats out better and more expensive. In such cases, humans will be replaced by machines. That's why we have those damed "Touch 1 for ..." systems instead of a human answering the phone. It also means that many devices, once they reach a certain level of good enough will see less and less improvement and thus less demand for programmers.

      --
      I'm a consultant - I convert gibberish into cash-flow.
    6. 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. Re:Bwahahahaha by Anonymous Coward · · Score: 2, Interesting

    The robot doesn't have to debug anything. All it needs to be able to do is write code like:

    try { /* Whatever code throws the AbstractMethodError exception. */ }
    catch(AbstractMethodError exception){}

    Problem solved!

  5. 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).

  6. 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.

  7. 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.

    1. Re:Software has been replacing coders for decades by pitchpipe · · Score: 2, Interesting

      There's so much work to do that I doubt our tools will ever "displace" us.

      I find it so strange when otherwise seemingly intelligent people use the word 'never' regarding artificial intelligence. If our brains operate according to the known laws of the universe, then why would you suppose that the piece of meat between our ears could never be improved upon. Really?! Never?

      --
      Look where all this talking got us, baby.
  8. 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.

  9. 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.

  10. Anything that can be automated will be by msobkow · · Score: 2

    Anything that can be automated will be. An awful lot of programmers are already doing nothing more than running macros and "smart commands" with IDEs like Eclipse to produce the bulk of their code. Given a sufficiently detailed application model and an appropriate rule engine, the need for that "skillset" becomes obsolete.

    Eventually only the highest level functions will need to be coded "by hand", themselves driven by the application models instead of class and structure definitions.

    Throughout my career as a programmer and even after I retired, programming has consistently and constantly evolved to higher and higher levels of abstraction. It's only a matter of time, effort, and the question of who will be first to market.

    But it will happen.

    --
    I do not fail; I succeed at finding out what does not work.
  11. 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.

  12. two responses are inevitable by cas2000 · · Score: 2

    the first, due to happen right now, is a bunch of smug posts claiming that programmers are too smart and talented for anything like that to happen to them. obsolescence is for the merit-less poor, people doing crappy non-programming, non-geek jobs - people who actually deserve to be treated like shit. it could never happen to them, they're far too important.

    in a few years, when it is actually happening to them, there'll be a bunch of whining posts about how unfair it is that programmers have to compete with machines for their jobs, that was never supposed to happen to the super-smart, super-talented entitled rich white dudes...they'll all be crying something like "Google, why hast thou forsaken me?"

    even then, these stupid entitled fucks will cling to their idiotic libertarian beliefs and refuse to believe that the owner class, the 1%, the bosses, the venture capitalists don't give a fuck about them and never have - if they think of programmers at all it's with resentment that they currently need some people who are difficult to replace....all worker units are meant to be slot-in replacements for each other, and they'll invest large sums of money to make sure that's the case for everyone.

  13. They'll get rid of bad coders by Karmashock · · Score: 2

    A lot of coding is busy work. And I'm sure the AIs can do a lot of it. But who hasn't been sitting there doing it and thought "I'm too smart to be doing this stupid job."... because that happens all the time for a lot of people in a lot of jobs. And yeah... a computer or a monkey could do those jobs so long as they were taught how to do the trick.

    But the nifty problem solving that only humans are still capable of doing? That's a different matter.

    Rather then getting all upset about people losing jobs they hate to machines rejoice that the jobs of the future will be more interesting because the only things you'll need humans for will be more interesting work.

    Here someone will say "but there are a lot of stupid humans that can't do interesting work!"... yes and no. A stupid human isn't going to do anything that requires high level human intelligence. But even low level human intelligence is actually very useful if properly applied.

    At some point, low human intelligence is going to be a barrier to entry to the job market. But really, it is already a huge problem for someone if they're stupid. Lots of jobs simply are closed to them and that is likely going to get worse going forward.

    Anyway, I'm not worried about it. I'm just looking forward to the expert systems that I can use to help me cut out the busy work in my coding. Sounds like fun.

    --
    I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
    1. Re:They'll get rid of bad coders by wierd_w · · Score: 2

      I wish I had your optimism.

      From where I sit, the world is driven by one thing, and one thing only. The shameless desire to appropriate ever greater of material goods and or physical pleasures, by those with the means to appropriate them, at the expense of everyone else.

      Take for instance, the cellphone industry.

      The trend there is not to create an adaptive, versatile phone that manifests true quality of workmanship and forward thinking-- Such a device would be sold once, and would stick around far too long, reducing potential future sales figures. Instead, the devices are marketed with currently popular gimmick technologies, and are basically just hardware wrappers for ephemeral software products which can be artificially obscoleted, and thus force the consumer to keep buying, so that the operators of the cellphone manufacturing industry can continue to make money. (which may or may not be for the purpose of enriching investors, whp's only contribution is putting up some of their own financial power to fascilitate this collection of wealth, with the promise of getting their money back with interest.)

      At no point in this process is it ever considered that 100% automation will destroy this cycle, as no return flow of currency into the market will happen after that point. When people arent employed (or even employable!), they don't get paid any money, and thus they have no money to spend to buy the prodcuts produced. Money only works when it is widely distributed amongst many hands. 100% automation would effectively transter 100% of all money to only a very few hands.

      I hold a more prosaic view about the worth of people than is held by most people who are driven by the profit motive. As a contrived example, let's look at the case of the "not too bright, but friendly" person. In this post automation landscape, this indivudal would be completely unemployable. They aren't very bright, and all work that they are able to do is better performed by robots and software algorithms. Quite litterally, it is not in the interests of any employer, anywhere, to ever employ them, period. This person is not retarded or anything, they just aren't the brightest, and wont be winning any scholastic or academic achievement awards any time soon. In this paradigm, they are consigned to either horrible poverty and death from systemic institutional neglect-- or, living on the dole, to the chagrin of the profit motivated elite. (See for instance, Mitt Romney's rather famous quips about supporting wellfare recipients.) There isn't anything physically wrong with them, they just arent inclined to have the few remaining skills left that are in demand, and so, are simply not employable--- As the current verbiage goes, they aren't "Qualified Applicants". They will NEVER be employed, even if they want to be.

      However, unlike our friend Mr Romney, I do not consider this person to be a drain on society. With money, this individual is capable of doing things in the community that improves the human condition intrinsically-- Such as helping to combat the spread of infectious diseases by being a volunteer relief aid, or providing counselling services. (Even the power elite need counseling when their mental health suffers a decline.) This person is valuable, and needs the opportunities to thrive to properly demonstrate that value. The value they represent cannot be distilled into a simple financial metric.

      No person, rich or poor-- Clever or thick, is without intrinsic value. The value they represent simply cannot be easily quantified, measured, and exploited. Without opportunities to thrive, people languish, and potential is wasted.

      The current tradjectory of mankind is not toward a post-scacity utopia, where financial power is what is eliminated-- It is toward a sick form of neo-feudalism, where humans simply arent worth anything to the power elite, because they have robots and AIs for everything they could possibly want, and they have the resources to make it happen.

  14. yes, but unfortunately... by Press2ToContinue · · Score: 2

    ...laser printers are never out of work. :(

    --
    Sent from my ENIAC
  15. Re:Bwahahahaha by Aighearach · · Score: 2

    So, the model is proven. Score that one for the robots.

    As long as they remember to program them to demand wages and spend the money, everything will be alright...

    Otherwise, the economy will be hosed and they'll have to think of something new.

  16. I've seen the future 25 years ago by Tablizer · · Score: 2

    Back in my FoxPro days I cranked out smallish biz apps like lightning with 1/4 the code I use now. The multi-layered client-server and then the HTML/CSS/JS/foo++/SQL stack gummed up that and turned CRUD into a mini bureaucracy.

    Blow up the HTML stack and create GUI and CRUD-friendly browsers and markup, and database-integrated table-driven languages, and many internal biz coders will go gone. (No, MS-Access didn't integrate the database and code side well. I don't count it.)

  17. 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.

    1. Re:Dilbert Complete by prefec2 · · Score: 2

      Normally people are not irrational, they just do not know what they need. Therefore, it is ITs job to dive in the realm of the customer and learn their language and domain. The task is called domain engineering and requires skills in sociology, phsychology, and computer science. It works that way when working with engineers as customers in the same way as with business people, however, the meaning of words totally different. The engineers are even more complicated. We were developing a domain specific language for a specific type of embedded systems and wanted to know what they do the most and what they would like to be covered. The answer was, that they will program in any language they were ordered to use. So we needed to approach that differently ;-)

      So yes, you are right in your conclusion, but the bitterness speaking out of the words "clueless users" is a little bit misplaced. It is like an undertaker who complains about dead people being always so uncooperative. "Why can't they wash themselves? They did it all their lifetime."

  18. 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.

  19. 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.
  20. 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.

  21. 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.