Automation of IT Professionals
The question of automation has come up a lot recently. And it looks like everyone is feeling the pressure. It is hard to feel like your job is secure when automation threatens virtually every known profession.
I would say certain fields are much safer than others however, notable examples would be piping and horse shoeing. This is honest hard work, that seems to really require the human element. I can't imagine a world where we have machines that can really deal with the grime, and the vastly different scenarios.
But this isn't a new game by any stretch of the imagination, Software Developers have been in this game for decades now. In fact, the original definition of a Computer was "A person who makes calculations". As you can imagine now, this is a job purely for computers.
And while the public I am sure feels the pressures from looming automation, the pressures for Software Developers are at a high point as well. As a software developer, you invest years of study and training into various platforms and technologies, I personally trained in VB.net for years, and to my dismay the industry left that language behind. I've since moved on now, but that required additional years of training before re-acclimating myself to web development.
My point is, Software Developers have been knocking each-other out for decades, and I think that has really created a fantastic and nimble culture of continuous improvement. If the world is to determined by automation, Software Developers are in the best position to continually adapt and improvise. I have complete faith that highly creative and intelligent developers will continue thriving in this new world.
Stay safe out there, Joseph.
There is already a trend in software automation happening now. And it is related to hardware drivers. More and more often hardware drivers are not just written by developers but generated from hardware description.
If this trend catches up, then in some time we will not have any more regular developers that write software in today's languages. Instead we will have people who write specifications, people who generate code from specs and people who verify / test the resulting code against the spec.
Disclaimer: I am working on such a system :).