Not long ago, I needed to put a script together for a simple task, so I wrote something very brief in Python. When I say “wrote”, what I mean is I copied and pasted parts of scripts others had written and created some new monstrosity to get the job done.
After that, I kept going back to tweak it. Then, instead of moving on to the next task, I looked for things I could do that required I write another script. I became kind of hooked on getting better writing Python. I’m still pretty bad, but I’m spending quite a bit of time every day trying to improve.
At the same time, I’ve been studying for the CCIE on and off for almost three years, in earnest for the last year. There’s very little more satisfying to a network engineer than configuring a solution, testing connectivity, and getting back !!!!!
But lately, putzing around with lines of Python code until I finally get it to run without errors has been almost equally satisfying.
The thing is, when I go to work every day I’m seeing practical examples of how knowing how to write a simple script is as helpful to me as deep networking knowledge. My experience has been that once BGP neighbors relationships are formed, OSPF adjacencies are in the Full state, and traffic takes the correct path across my WAN, I’m not wiggling those proverbial wires much any more. Instead, I find myself incorporating sysadmin skills and simple programming to get day 2 and beyond tasks done.
I don’t work for a VAR anymore, so I don’t have the opportunity to finish one big WAN project then jump to the next for a different customer. Instead I have to find a way to add value with what I have in front of me, or in other words, make the network (and network security in particular) more robust, easier to manage, and automated.
About 18 months ago I chatted with Jon Langemak about this very thing. He explained how it was difficult for him to shift from a CCIE focus to his current focus in the automation and DevOps world, but how it was needful because it was how he could add value in the context in which he worked. Basically, he looked around and identified where he could be most useful, and then he went for it. That conversation has stuck with me ever since.
I’ve reaped tremendous rewards and seen incredible opportunities as a result of earning a variety of technical certifications, most of them from Cisco. But for some reason, the opportunities that present themselves to me nowadays don’t lend themselves to going from project to project configuring ASRs or replacing switch stacks in IDFs. I’ve done that before, and a big part of me really wants to do that again. Instead, the opportunities that come my way have less to do with configuring boxes and more to do with automation, creating better workflows, and aligning technology with business.
I’m not sure what to do with all this right now. In my mind, the natural progression for a network engineer is to get the next level certification, which for me is the CCIE, and then work on bigger and more complex technical projects. I know that’s still the natural progression for many engineers out there, but it’s not what’s happening in my life right now, even though I want it to be.
I’m not commenting on the industry here, and this isn’t another blog post about how network engineering is changing. These are the observations of my personal journey with the CCIE and with my current dayjob.
So where can I add value, and what opportunities are right in front of me that will help me grow? Well, for me, that means finding ways to automate tasks, collect large amounts of information from the network, find meaning in it, and use whatever methods I can to make network devices and the security posture of my organization more stable and consistent.
It also means creating professional writing, casting long-term vision for the area I’m responsible for, and being an available resource that can speak to the overall picture of the network rather than focus on one router at a time.
Though I’m still going through CCIE labs regularly and taking breaks to re-watch an INE video on various topics, I’m also spending just as much time improving my ability to write in Python using resources like Code Academy and Learn Python the Hard Way.
This doesn’t mean that my networking knowledge is now useless. In fact, it forms the foundation for everything I’m working on. I believe that the CCIE is still extremely relevant, and many of my friends in the networking community are working on higher level networking projects daily that require that sort of knowledge. But that’s simply not what’s been happening in my life lately, no matter how much I’d like it to be or how hard I try to make it happen.
So I feel I’m at a crossroads – probably how Jon felt a few years ago. Maybe it’s more of a transition or career evolution, I really don’t know. At first, it was absolutely terrifying to confront. But now, rather than continue to kick against the goads, I’m open to what seems to be developing naturally.
Fully agree with this. I’m effectively keeping my CCNP/IE Study going purely to maintain a certification which means enough to a non-Industry-savvy HR Rep, in order to get my foot in the door; but in practice, I find myself using multi-vendor skills, and Coding (be that Python, PHP, EEM, TCL or whatever works to do the job) is the glue that allow me to do my job.
Given the direction everything is taking with Whitebox/SDN/disaggregation/Cloud/etc, it wouldn’t surprise me at all if the CCxx Program were to disappear entirely, or diminish in significance – to such a stage that a non-involved HR staffer removes it as a pre-requisite of applying for a Network/IT/DevOps position.
I get where you’re coming from in this post.
I started as a professional developer and moved into the networking field through various twists of fate.
Now, as a manager of a networking & telecommunications team, I find my programming experience invaluable for keeping up with the demands of the job.
Deep networking knowledge helps with the design and implementation of sane networking projects, while programming experience helps with all sorts of tangential tasks (especially at scale).
Some particularly interesting examples (all done in Python):
I’ve written a program to review phone billing from multiple providers across thousands of numbers in order to plan system changes and verify invoices.
I’ve written a system to review WAN outages and compare them to provider SLAs for credit reimbursement.
Built a ticket review system to better assess the team’s tasks and find points for process improvement.
So yea, I find that programming skills are a force multiplier that can help me automate-out the boring stuff and focus on the high leverage work. (and like you mentioned, getting a program to work properly is very satisfying and fun)
Food for thought.
LikeLiked by 1 person
Scripting will make your everyday job must easier as you discovered. At some point you will get to the point where you can accomplish the high value automation tasks that you need. (for me is was mastering regular expressions then I could automate any task that was worth doing). After you hit that wall you can either spend more time on CCIE ish stuff or you may find that AWS or some other thing. While I have been a CCIE approaching 20 years, I still study technology (I have 4 VMware certs for example). You are doing the right thing, go where your interests take you, you will get more done and like it more.
Fred P. Baker CCIE#3555
LikeLiked by 1 person
I found myself in the same crossroad two years ago and I decided to play hard and move to a project/company which has not any physical network device, everything is virtual and leverages in Public Cloud infrastructures.
During these 2 years I’ve learned Coding Python (not only scripting, full development with testing, etc.), Virtualization/Containers, Linux Kernel, Continuous Integration and Deployment, Immutable Infrastructure and Networking related to upper layers.
My network background is still needed to build global network solutions over hybrid scenarios and create the best architectures over dynamic infrastructure, but I’ve to admit that extending my scope has become really enjoyable! (and I’m also consuming CCIE material even I don’t want to become CCIE certified)
So, go for it!
LikeLiked by 1 person