Every (networking related) event or conference out there has at least some talk about automation - with the audience divided into people who are politely interested, because they have been doing it for years... and the others who never wrote one line of code in their life, watching with desperation in their eyes yet another presentation they don't really understand heralding the end of their careers as they know it. There's a lot of FUD (fear, uncertainty and doubt) out there and it's driven by the "expert tech journalist" mouthpieces and non-stop marketing machines, but as with all things the noise has an effect on people. And not a beneficial one. So as a network admin, operator, engineer, architect, what are you to do?
Tools of the trade
Looking back at my own history and the companies I worked with, their IT environments, and their processes, most places had a shell built around the enterprise standard (approved hardware, software, processes etc.). And chiefly amongst these are the outdated, slow and overloaded Windows laptops, with restricted accounts and PuTTY (or SecureCRT if you're lucky), Outlook and Office. I wrote about this in 2015 and not much has changed since, at least not in companies which see IT as a cost centre.
Therefore how can you learn, experiment and improve your workflows if you cannot do it at the place where you spend most of your day? And when your tools of the trade are by design working against this?
Some people will use their spare time at home, get their hands on a Linux VM somewhere, or use a second personal laptop. For many these obstacles will mean they choose to watch TV or browse the news instead.
Having been locked into a vendor's way of doing things manually for so many years and on a machine that's not really built for engineers has turned many out there into network operators. Operating a network doesn't imply deep understanding of how something works.... Or the ability to iterate and improve tools, processes, and reliability. I'm using the term "operator" here in the same way a driver "operates" a car - they understand enough to use the car, but they have no deep knowledge of the inner workings of the engine, brakes, or their real detailed performance (or indeed don't need any, as road-rescue/TAC is there to help... eventually).
Curiosity as a state of mind
Anyone that learned and used a Unix/Linux based OS has been forced to use the CLI, to dig deep when that stupid alsa sound system didn't work, to build short bash scripts to fix things or to automate tasks at regular intervals. Some maybe also went on to write more advanced stuff in perl or python. But the language doesn't matter, it's the activity and the state of mind. Call it tinkering or curiosity. Call it valuing one's time or even laziness.
Over many many years now, the fact that I devoted hours and hours (of my own time) to learning Linux as a user and administrator has given me a much wider skill set. I've never been a true software developer, but I started coding from a young age and that has been an invaluable skill allowing me to easily pick up (and even teach) whatever new scripting language is the current flavour of the year/decade.
Scripting in anything industry standard on Windows used to be incredibly awkward, as was using any tools that server admins were building (apart from Microsoft specific stuff that had little applicability in the networking world). And guess what, *nix servers massively outnumbered Windows ones, but conversely it never was the year of Linux on the desktop.
It doesn't have to ever be that year anymore. Microsoft has had a major change of heart (good riddance Ballmer) and they are embracing the industry and its tools. You can run a Linux environment almost natively in Windows 10, I never thought I'd live to see the day. And even that aside, you can run a small Linux VM, buy a 30 quid Raspberry PI or a cheap 3 EUR per month VPS in the cloud. This stuff used to be for the most technologically privileged people out there, but not anymore I'd say, as the economics of it are making it easier and easier to get started - and a bunch of people are actively working at tearing down barriers (me included so stay tuned!).
The bottom line
Get out of your cocoons - don't wait for the enterprise standard to change (we're talking decades)! There's a wealth of knowledge and experience out there and a lot of it is freely available.
Dónal's For Network Engineers, Cisco DevNet and the freshly released NRE labs from Matt Oswalt and Juniper are just two examples of great free introductory resources with built-in labs that are meant to tear down obstacles to getting started.
You can also find a lot of great quality training, from the Network Automation courses I teach together with the Network to Code gang, the superb online training by Nick Russo, and the huge library of material by Ivan Pepelnjak.
But, most importantly, reach out to your local community (NOGs are amazing). Find a mentor, find someone willing to point you in the right direction and explain things when you're stuck. Those of you that know me, will agree that I'm a huge fan of building and strengthening local community. But it's not only that... there are many others out there, be it within the global RIPE community or the one built around the Network to Code Slack for example.
And, as always, thanks for reading.