So programming, almost by definition, always involved all tasks that are not automated yet. Programming gets easier and harder that way at the same time: Previous tasks (e.g. taking care for memory management) become easier or automated way, while harder tasks remain (larger, more complex applications, higher abstraction levels).
So I'd rephrase it that way: Engineers and programmers are effected every day by this "threat", but so far worked quite well for to their benefit, they just operate mostly on higher and higher levels, while still having to keep in mind (and having to fix) the lower levels.
Kind of full stack, with a growing stack, thinner and thinner on lower levels, but overall higher and higher.
For example, Squarespace, Wix, Shopify, et al have reduced the number of jobs for CMS and ecommerce developers. Zapier and IFTTT have reduced the number of integration jobs. The Grid was an experiment in creating whole websites automatically (most regard it as a failure, but the tech will likely catch up). There's research into using ML to identify and correct bugs in code. These are the low hanging fruit that will erode away at the jobs easiest to automate, leaving behind more niche work.
It's hard to imagine less work for engineers in the future because there's so much work to go around right now. That's likely the case presently because there's so many industries where manual labor can be eliminated, creating lots of new labor for engineers. Whole industries may be disrupted until corporations with automation emerge and take over. We'll likely see engineering work keep rising until there isn't as much left to automate and engineering supply catches up, at which point we'll hit "peak software engineering."
There will be engineers in the future just like there will be medical professionals in the future, but they'll probably be doing a different job and there will be a lot less work to go around. I like to think of that line of work as "escalation jobs," where when the machine fails, it goes to the human. Other work will likely get more and more scientific, theoretical and research-oriented.
1. http://www.cnbc.com/2017/02/24/americans-think-robots-will-t...
I like the concepts "peak software engineering" and "escalation jobs," where when the machine fails, the job goes to the human
In Year 2000 , I worked at a startup , we are 70 employees total out of which 50 are Engineers. We have
- one dedicated MS Exchange Mail sever admin
- 5 employee team, for running production servers and helping employee PC boxes etc.
- one Release engineer, whose job is to make Builds and ready for 15 day production release cycle of the code base
That is 7 employees which is 10% of 70. All of it today Replaced by the Self-service Cloud Infrastructure software
a) Github
b) AWS
c) Gmail Enterprise mail hosting/others
1/ Cloud Infrastructure software
2/ Saas Applications
These are two areas where most of the Job elimination happened in the last decade.
Then we got disruption ( more automation ) started at every Industry level, that created more jobs than lost
software engineer productivity doubled/tripled in the last decade as we developed more higher level Abstractions.
More than 1000 people are working on Amazon Alexa, so do at many other companies in the areas of ML and Deep learning AI . These are brand new jobs never heard of 10 years ago.
------ > For example, Squarespace, Wix, Shopify, et al have reduced the number of jobs for CMS and ecommerce developers.
> Zapier and IFTTT have reduced the number of integration jobs
For example, someone I worked with kept asking for a button to be "wider", yet rejecting everything the programmer did to the button. Eventually the programer asked them to draw what they meant, and it turned out they meant "taller".