It seems to me that the problem from a programmers standpoint isn't that their job will disappear but that the definition of their job will change quite a lot.
I always think of the example of supermarket cashiers. Formerly a fairly skilled job but now merely providing cheap meat-robot manipulators for a scanner. The person is still there but has a job concentrated down to the few things a person does better, and those things aren't always the fun things.