Some engineers worry that automation will replace the Network Engineer. I believe that it will not replace the Network Engineer, but it will completely reshape how we do our jobs. Like other technologies, if we want to stay relevant, we need to modernize. With the wildly growing and fast-paced changing landscape that is IT, it makes sense that we move to automation, programmability, and infrastructure as code in the network.
Today, we can still buy networking gear, and SSH and the CLI are still the de facto ways to access and manage the gear out of the box. If we want to use APIs, we have to enable them and even do some lite configuration to make use of REST, NETCONF, and maybe even on-box python scripts. There will come a time, however, when we, as Network Engineers, will have to use the API to enable and use SSH out of the box.
Don’t Get Left Behind
In my role as a Senior Network Deployment Engineer at a Value-Added Reseller, I work with many different networking teams of various shapes and sizes and deploy networking solutions into their networks. I love to ask them all the same question: “What do you know about network automation?”
Here are some of the responses I’ve received:
- “What is network automation?”
- “We’ve heard of it, but it doesn’t apply to us, and we don’t see the value as we only have just a small network.”
- “I’ve heard about it and I’d love to do some automation, but my co-workers don’t seem interested.”
- “We’ve heard of it, but we’re just too busy right now to be able to take the time to learn something new.”
These are all excuses. There, I said it. Excuses. If you’re not at least starting to think about picking up some automation skills, you will get left behind. It will be difficult for you to get your next Network Engineer position. Hiring managers are already asking about Python and API skill levels in interviews and we’re starting to see it more and more in Network Engineer job descriptions.
The beautiful thing about network automation is that it scales. Why not learn and master it on a smaller network now so you’re ready to do it on a larger network later?
Successfully adopting programming and automation is going to need a culture change for sure. If the whole team isn’t on board, it’ll be difficult at best. But don’t let that stop you. You could still automate and script things that you are responsible for and do. Then, you can be the catalyst for change! When your co-workers see the success you’re having, they’ll want to jump in and do it too.
Learn at Your Own Pace
And lastly, I can certainly understand being busy. However, saying you’re too busy to learn automation is like saying you’re so hungry you can’t find anything to eat. It’s a vicious cycle that’ll only get worse. Automation can help! Break the cycle and start learning automation today!
Now, just a few years ago, Python was all the rage (and it still is with good reason) and everyone was saying “Go learn Python!” And while there were plenty of resources for learning Python, not many showed it to you in the context of networking. Well, today that’s a whole different story. Here are some great resources for starting your Network Automation Journey!
- Cisco’s DevNet – Cisco has completely gamified the learning process here. They have broken everything down into snackable learning modules that you could easily spend part of a lunch break working on.
- YouTube – There are tons and tons of great videos on getting started with various automation programmability topics. Here is a couple that I recommend:
- David Bombal Python programming for Network Engineers
- Nick Russo DevNet Associate learning plan – This video is great, even if you have no intention of studying for this certification, as this learning plan builds a foundation and goes up from there if you’re looking to get started with Automation and Programmability.
- Full-on video courses on sites like Udemy and Pluralsight.
- Great books such as Network Automation and Programmability and Mastering Python for Networking
- My very own two-part (Part 1 & Part 2) blog article on starting your Automation Journey with Ansible!
- Check out this awesome four-part series from John Capobianco on the BlueCat Networks blog – Part 1, Part 2, Part 3, & Part 4.
- Network to Code Slack is a great place to get support from the community whether you’re getting started or you’re currently working on an automation project.
I highly recommend Ansible as the place to start. You need only a little bit of Linux knowledge to get started and no programming background is needed. You can get going very quickly and it’ll only whet your appetite for wanting to go deeper and learn more. You could build a virtual machine or even run it on a Raspberry Pi – it’s that easy!
Conclusion
If you still do not think that automation and programmability add value, let me share a quick story with you.
Just earlier this year, I was working on a project where we had to upgrade over 100+ network devices at nearly 50 sites for an organization. We worked with the customer to understand their network and some new things they’d like to implement, including DMVPN secure overlay, TACACS+ for authentication using Cisco ISE, and some additional changes. We were able to templatize the config for all of the branch routers and switches, and we used Ansible to generate these configs for all 100 devices in a matter of minutes. Then, all that the deployment engineer had to do was arrive on-site and apply the Ansible generated config to the devices.
Lastly, there’s a great hour-long roundtable discussion coming up on September 15th at 1pm ET hosted by BlueCat Networks. Join the conversation as industry professionals, Ethan Banks, John Capobianco, Jon Macy, and Pheobe Goh, and more discuss Network Automation and how it’s affecting our industry. Also, if you’re not already in the Network VIP Slack, join ASAP to see the roundtable and to chat with me and others in Networking.