Join the digital transformation that’s changing the world. Today, everything is programmable, even the network. Build your software skills to automate networks and create new cutting-edge innovations.
What you’ll do
Build software applications as part of a team; design code to make networks automated, trusted, and secure.
Sample job titles
Developer, Software Engineer, Applications Developer, Automation Engineer, Cloud Developer, Associate Site Reliability Engineer (SRE), DevOps Engineer, Test Development Engineer, and more.
Required Networking Skills:
Layer 2 Protocols
Layer 3 Protocols
Transport Technologies and Solutions
Infrastructure Security and Services
Required Programming Skills:
Infrastructure Automation and Programmability
Data encoding formats
Automation and scripting
a EEM applets
b Guest shell
b i Linux environment
b ii CLI Python module
b iii EEM Python module
a Interaction with vManage API
a i Python requests library and Postman
a ii Monitoring endpoints
a iii Configuration endpoints
b Interaction with Cisco DNA Center API
b i HTTP request (GET, PUT, POST) via Python requests library and Postman
c Interaction with Cisco IOS XE API
c i Via NETCONF/YANG using Python ncclient library
c ii Via RESTCONF/YANG using Python requests library and Postman
d Deploy and verify model-driven telemetry
d i Configure on-change subscription using gRPC
Bringing new skills to the table
Another trend is for network engineers to expand their skill sets to succeed in this new era of programmability. As with the growing prevalence of the DevOps methodology, in which IT operations teams and application developers work more closely, networking engineers can benefit from learning network programming skills.
Being able to scale and automatically roll back changes is another reason to dip a toe into the realm of network programmability. I’m frequently asked, “Do I need to be a developer to learn network programmability?” The answer is no. Start small and build code to test in a sandbox.
With its free labs and training videos, Cisco DevNet is a good place to get started. These labs teach networking programmability to engineers from the beginner to expert levels. DevNet labs consist of various platforms and demonstrate the value of a programmatic approach, and it has always-on sandboxes available to test code.
Engineers shouldn’t fear network programmability and network automation should not be feared. They are simply methods of configuring devices in ways that promote efficiency and scalability in the network, conditions that are beneficial for business ROI.
You do not have to be an application developer to learn network programmability and network automation. Businesses can realize ROI rapidly through speed of deployment, better network uptime and better ability to manage network complexity without hurting the business. Ultimately, the ROI comes from reducing thehuman error rate and leaves the business in a great position to focus on its strategic direction.
Gooley, J. (n.d.). Network programmability and network automation bring business ROI. Cisco Blogs. https://www.cisco.com/c/en/us/solutions/enterprise-networks/network-programmability.html
Preston. H. (2018). How Do I Get Started Learning Network Programmability?. Cisco Blogs. https://blogs.cisco.com/developer/how-do-i-get-started-learning-network-programmability