It is a big shift for many IT folks
Think about the traditional split between development and systems work. Both have their share of very deep specialist knowledge and siloing, but it usually breaks down like this:
- Developers write code on their own machine or VM, package it up and send it to the systems guys to implement, not knowing or caring how the code operates on real (virtual) production hardware.
- Ops guys are typically developers of automation tools, and that's pretty much it. They focus on keeping the tower of messy stuff developers write functioning.
Now that traditional hardware is being abstracted away, it seems to me that these groups need to meet somewhere in the middle. There's going to be either less work for hardware or data center experts, or it will move to service providers who will squeeze salaries to make their margins work. Similarly, developers will have to learn a little bit about the systems their stuff has to run on to remain useful in the world of offshoring and H-1B replacements of staff. The salary squeeze is definitely happening at both ends, and cloud seems to be the driver. Developers aren't commanding massive salaries anymore for knowledge of a small set of web frameworks (except in startup-land) but developers with a broad base of knowledge will always do well. Similarly, the "EMC guy" or "Cisco guy" or "Windows Server guy" is seeing less of a premium for extremely narrow sets of skills.
I definitely see less of a role for deep specialists on the systems side with software-defined everything coming down the line for most environments. The thing that has to calm down is the hype around DevOps. There are so many tools, frameworks, orchestration layers, ALM products, etc, and so much breathless chatter about it that the core message sometimes gets lost.