And who will write the spec? And why will it be any easier to write the spec than the program?
Sure, there will be people at the top of the command hierarchy dictating what needs are being met. That doesn't mean that spec-writing jobs will provide gainful employment for as many people as are employed fulfilling specs these days.
As for why it will be any easier to write the spec than the program, it already is. "Plain language" is exactly how people spec things out all the time these days, it serves me quite well when I'm getting work assignments ("The Fizzle button is making the back end Furble on Tuesday nights, fix it!", or "Add a coupon code field to our order page and an administration tab to add codes to the database - just make sure the same code can't be used more than once").
Idealistic people try to write legal contracts in plain language, but it doesn't work.
People tell their lawyers in plain everyday language what they care about achieving with a legal contract, and the lawyers fill in the blanks based on what they know. Similarly, normal people tell their programmers what they care about achieving, the programmers fill in the blanks. Sure, we can't automate that filling-in-the-blanks super well yet, and yes, there often has to be some back and forth to figure out what the person really wants (this is, IMO, on of the most important things missing in a lot of machine learning approaches, as human thought - especially language processing - involves a lot of feedback between systems and backtracking), but to me it's not hard at all to imagine all of that being extremely successfully automated once we have thirty years more NLP research under our belts and laptop computers that would put the most expensive Hadoop cluster you could construct today to shame...
Then again, I'm one of the weirdos that thinks that the "problem" of intelligence can be solved by a much less sophisticated algorithm than the one that our brains implement, under the theory that typically evolution only ever seems to do one thing well: create highly complex solutions to medium difficulty problems.
Sure, there will be people at the top of the command hierarchy dictating what needs are being met. That doesn't mean that spec-writing jobs will provide gainful employment for as many people as are employed fulfilling specs these days.
As for why it will be any easier to write the spec than the program, it already is. "Plain language" is exactly how people spec things out all the time these days, it serves me quite well when I'm getting work assignments ("The Fizzle button is making the back end Furble on Tuesday nights, fix it!", or "Add a coupon code field to our order page and an administration tab to add codes to the database - just make sure the same code can't be used more than once").
Idealistic people try to write legal contracts in plain language, but it doesn't work.
People tell their lawyers in plain everyday language what they care about achieving with a legal contract, and the lawyers fill in the blanks based on what they know. Similarly, normal people tell their programmers what they care about achieving, the programmers fill in the blanks. Sure, we can't automate that filling-in-the-blanks super well yet, and yes, there often has to be some back and forth to figure out what the person really wants (this is, IMO, on of the most important things missing in a lot of machine learning approaches, as human thought - especially language processing - involves a lot of feedback between systems and backtracking), but to me it's not hard at all to imagine all of that being extremely successfully automated once we have thirty years more NLP research under our belts and laptop computers that would put the most expensive Hadoop cluster you could construct today to shame...
Then again, I'm one of the weirdos that thinks that the "problem" of intelligence can be solved by a much less sophisticated algorithm than the one that our brains implement, under the theory that typically evolution only ever seems to do one thing well: create highly complex solutions to medium difficulty problems.