I’m a Cisco SE based in Tel-Aviv, Israel. In this role I am constantly meeting with customers to create real-world solutions. Recently, I was meeting with the CIO, infrastructure manager, and network engineer at a major enterprise to discuss an innovation solution that can accelerate desired business outcomes. As always, questions are raised and we find ourselves on a detour covering several linked topics.
When we reach the portion on automation, I see the network engineer starting to move uncomfortably in his chair. We discuss how the solution can both reduce cost and reduce risk for the company, and we seem to strike a chord with the CIO who’s showing increasing interest. As the CIO’s excitement increases, so does the network engineer’s restlessness and, not a moment too soon, starts a parade of objections:
- “automation might break the entire network at once”
- “we can’t tailor the process the way we want it to be”
- “you’re talking the control away from our experts”
This network engineer is not alone and this is far from an uncommon situation. There are still network engineers who will try to block automation initiatives. Perhaps perceiving them as a threat. It’s a shame, as the reality is quite the opposite. Far from being a threat, automation is today’s great career enhancement opportunity for network engineers.
Digital transformation is here, and it’s here to stay
Across industries, companies are in a constant pursuit of the latest technology, that becomes a critical core of the company’s strategy – and for a good reason: Companies who master digital will not only drive more revenue but, will on average be 29% more profitable than their peers. This is critical and urgent, as 40% of incumbents are at risk of being displaced.
How does this concern the network engineer? Surprisingly, even in 2020 95% of network changes are still being done manually, and 70% of policy violations are caused by… wait for it … human errors!
As IoT devices are introduced to the enterprise networks (Gartner expects more than 15 billion IoT devices will connect to the enterprise infrastructure by 2029, other predictions aim for 50B), manual configuration of a network will no longer cut it. Automation will become a mandatory skill for every network engineer.
Network engineers who embrace this innovation will be considerably more efficient, and able to position themselves as a strategic asset in the company’s technological future. Those who fail to understand automation will, eventually, become redundant and irrelevant to the industry.
A quick look in LinkedIn job posts reveals that the job titles are changing from “network engineer” to “network automation engineer.” Thinking about a network engineer role at Facebook? Guess what – Python, Perl, Ruby and shell scripting are strongly preferred. JP Morgan? Shell/Python Scripting, and Splunk. Perhaps Bosch? Python again.
Since 75% of the average network engineer’s time is spent on troubleshooting (“keeping the lights on”), and automation can reduce this time consumption significantly, network engineers will actually have the time to invest in learning new skills such as programmability and automation.
Convinced but not sure where to start?
I personally self-learned network-oriented Python programming, and wrote my first API request in Python less than 5 hours later using Cisco’s DevNet. There are many other resources to learn from, for example: CodeAcademy or LearnPython.
What I loved about Cisco DevNet is the orientation to network engineers, as opposed to general Python training. DevNet got me up and running very quickly with the focused knowledge and tools a network engineer needs. In addition, DevNet is much more than a website; it’s an interactive developer community, with
- Curated lists of learning content – for people new to programming, or those ready to take their skills to the next level.
- A networking resource center – where you can learn about Cisco network automation technologies and platforms
- Developer sandboxes – so you can actually practice your code on actual solutions without breaking anything or affecting a production environment.
- Guided study groups to help you prepare for Cisco certifications
I am sure the day when the network engineers actually advocate for automation is not far off. (Many, of course, already do!) Until then, we will take one objection at a time.
We’d love to hear what you think. Ask a question or leave a comment below.
And stay connected with Cisco DevNet on social!
Twitter @CiscoDevNet | Facebook | LinkedIn
Visit the new Developer Video Channel
If the 3 job postings that you reference in your article are representative of the majority of postings for Network Engineers, with Python appearing in the JP Morgan, Bosch, and Facebook, that would potentially answer the question that I was going to pose, “What do you see as a priority skill that Network Engineers should acquire?” I will ask this question, when you make reference to shell scripting, are you by chance talking about Linux shell scripting? One final question, did you have any programming knowledge and/or skills before you began self-learning network-oriented Python programming? Thanks for entertaining my questions in a box that was labeled “Comment”. Oh, by the way, great article!
Thanks a lot Trevor, That’s a great question.
I will try to provide a general answer as opposed to relate to a specific posting. As a network engineer (system/security and IT in general) I think three important skills are:
1. Basic programming skills: basic Python is probably a must-have. Ansible, Nornir, pyATS, Napalm and many other tools out there will require Python to begin with.
2. Understanding the concepts of model driven programmability (YANG, NETCONF, RESTCONF).
3. Source code management and CI/CD concepts: Git, being the obvious.
Regardless to the certification itself, the DevNet Associate blueprint provides a concrete STRUCTURE of skills and capabilities you should look into.
https://learningnetwork.cisco.com/s/devnet-associate-exam-topics
It helped me organize a learning path, while I was trying to learn too many things at once – one it “clicks” you’ll want to consume too many tools/technologies at once in an overwhelming manner.
I should have a blog post on the Cisco Learning Network soon (next week I believe) about how I got started. My “programming background” was a Pascal class I took in high school in the late 90s.. so basically none.
I think you have a typo in one bullet
Good blog Oren,
I think that time is with us now – it’s certainly becoming much more required than ever before and a sea change for all older network engineers (pointing at myself here).
Interesting times with some rapid changes in the industry.
Thanks for sharing.
I believe we have way to many paths to get confused with! it be nice if a questionnaire was available to better assess your current skills and current status.. for example I have my CCNA and I have 3 years of networking skills. I use to utilize Linux primarily as my OS of choice have tons of computer skills that i have I don’t use anymore.. I work in the Enterprise and use to work at The Service Provider level.
what Path could I take to leverage. the way its setup I could accidentally start working on IoT path but it might not be useful gain career wise.
and if I take security path Well I have nothing base background to support it. I need to know where I am in this vast transformation so I can start a path that will provide me some growth. I would be nice to not see millions of options.
Dear Anonymous 🙂
You are right about getting confused. As I started my journey into network programmability I reached a point where I was trying to learn too many things at once – but didn’t get to the bottom of any of them. The variety is endless and it’s easy to get lost.
I honestly believe we’ll be seeing (already seeing) automation in every field: Networking, SP technologies, Security, DC, Cloud, etc’. That’s why the foundation is more important than the specific area.
With regards to skill assessment, I think you can start with Nick Russo’s free assessment on Plurasight to get an understanding on where you are (https://www.youtube.com/watch?reload=9&v=bqz5O3hGJxw&ab_channel=NicholasRusso).
With regards to a learning path, that was one of my reasons to go for the DevNet Associate certification. Whether you choose to take the exam or not – the blueprint can focus your learning efforts and bring order to what seems as chaos.