I work for a major US network provider in the Managed Services organization focused on network and security services. My team service thousands of corporate clients, securing and maintaining their layer 2-7 networks across the globe and around the clock. I have seen the challenges that entail executing changes across multiple devices around the world that need to happen within a minimal timeframe and also witnessed the disaster that some "Automated confirmation" tools can deliver. I have used and tested some many tools over the last decade I have worked in this industry, and I feel that custom solutions will always outperform off the shelf options. There will always be a critical feature missing, or if the software allows script integration, it is riddled with bugs or only allows fixed "find and replace" tags.
Automation.
With the introduction of SDN (Software Defined Networks), the networking world is finally starting to catch up with that of the platform arena. Virtual machines have been around for many years now and been remarkably successful at optimizing and maximizing profits from a single bare metal server. Us hardcore oldskool network guys have always chuckled at VM's as a neat idea but not something that will impose into our world. Well, it has been a long time coming, and with all the SDN offers around (Cisco ACi for example), so does the API and coding. Cisco ACi is a wholly automated enterprise solution that requires no configuration to be executed on individual devices (switches, virtual firewall or load balancers). All configuration is added to a controller via a web-based interface OR by passing JSON values directly to an API directly to the same controller. SDN is a complete paradigm shift and if network engineers do not embrace API's and coding they will have a very short career in my opinion. SDN is no longer "coming soon", it is here and here to stay just like cryptocurrency ( I had to mention crypto in my post).
The Networks Choice.
Networkers love python (version 3) as it includes all the tools we could ever need to automate any task that can be performed manually. There are a plethora of prewritten tried and tested modules ready for download and use by even the most entry-level coder. Engineers spend far too long working mundane tasks that are screaming "Script me." The most significant vendors offer python SDK's that do all the work for you as all that is needed is to import the various classes on offer, grab user input via any means required, manipulate the variables into a JSON payload and fire off an HTTP REST request to your device.
Automation does not stop here though as all the major ticking systems also support REST API', this means the script can even update the case for the engineer. In testing, we managed to execute a task that would take a human 25 - 30 minutes to perform, not because they were incapable or slow, it was due to all the paperwork that needs to be completed to meet the strict ITIL change & incident management processes in place. ITIL considers automated tasks as pre-approved, so the need for peer reviews gets removed speeding up the time to execute considerably.
The Fear.
So automation is fast, efficient, effective and accurate first time, but is this taking away jobs from humans. I say no, adequately designed automation becomes an assist to your team, not a replacement. It also gives the ability to offer your clients self-service portals removing the need for highly skilled individuals to perform the more straightforward tasks that, let's be frank, bore them to tears.
The fear factor behind automation is clear and present, and I get it, but it really is not at the stage where we will see bots completely replace humans. Once we see quantum computers running serious machine learning and AI algorithms as commonplace setups, I may change my mind, but until then chill out and embrace the code. Automation will replace you if you fight it but, adopt and develop it and it will secure your future for many years to come.