Developers who are today children in primary school will be writing 70-character denunciations of node.js, which will be to be as old-fashioned as Ruby on Rails. This link-baiting intellectual dandruff, masquerading as deep thought, will constitute 100% of the HN front page.
Companies that sprung up to simplify Amazon Web Services will themselves become sufficiently complex that a new ecosystem of simplifier-simplifiers will spring up. You will be able to write code that runs at any one of the two dozen layers over cloud providers who layer over two hundred IaaS providers without modification. That's what the sticker will say, anyhow.
Github will have even more completely supplanted sourceforge. Good riddance.
99% of programming will be done in languages which are direct, legal descendants of the languages in which 99% of programming is done today.
Java will adopt features that C# adopted in 2013. And the Java people will explain that it takes time to get it right, and you shouldn't rush to do anything.
Microsoft will EOL PlatinumDusk, which was the end-all-be-all replacement for GoldenDawn (which itself was the end-all-be-all replacement for SilverLight). This is accompanied by WDE (Widnows Display Elements), which replaces WZR which replaced WPF.
And it will be the year of Linux on the Desktop. (Though, desktops will only account for 10% of web users or "webable device" sales).
7 years ago (2006), what was different? What new techs have come out in that span?
Ruby on Rails had already been out for 18 months, though it hadn't gained its current level of adoption.
Github hadn't been launched until 2008 but the first Git had.
These differences suggest that whatever new technologies will be becoming mainstream have already launched. I submit that if you traveled forward in time 7 years you would not only be able to pick up programming in the media of the time without any review but you'd be hard-pressed to find what had changed.
Even though I understand the overall point you are making, we had a few significant changes since 2006. The emergenc of iphone/ipad and the App Store/iOS programming.
2020 will see some new devices, but we won't be using our voices, LabVIEW-style icons, or a foreign character set to program these devices. I think in a number of ways it's reassuring that so little of programming skill itself is destined for obsolescence.
touch screens, voice to text, and input methods similar to the Kinect will be used, but not the extent that people expect. Keyboards will still have a big place. Voice is too ambiguous and slow for much of programming, and touch screens and kinect style interactions require you to move too much. However, expect that touch pads will be more popular, and that they will have screens in them.
simple user facing programming languages for different interfaces will be omnipresent, and their lack of unification problematic. Many things will be programmable, and user programmable, and while unification efforts for commonality in how you program your fridge/toaster/tv will exist, they will not be enough to keep things from fragmenting. Voice interaction to program things will not progress as much as they could given the capabilities of voice recognition, simply because of a lack of well formatted connections between devices.
More documentation will be automatically generated by expert systems.
Saving power will be a bigger focus for programs, especially in enterprise. In moble Batteries will still not last as long as you want, though e-ink and better chips will help. concurrency and networking will be very important, with the rise of always on connectivity, and the limits of moore's law.
That's my best guess.
The core concept for SwarmESB I call "swarming" that is a method to compose API's in a distributed system.
Swarming can be for SOA's orchestration what REST is for SOAP.