A common question I hear from people just getting into the Cisco world is, “Kevin, what would you do if you were starting from scratch?” Sometimes, that question takes the form of, “Which track (e.g. Collaboration, Route/Switch, etc.) has the biggest job opportunities?”
For years, my response was the same, “If you get really good in any track, there are plenty of opportunities. So, pick the track that’s most interesting to you. After all, you’re going to be spending a lot of time studying that track’s technology. So, you’d better love it!”
While I still believe that advice is sound, I’ve got to admit my answer to that question changed a bit. The reason is, while there is certainly demand for IT professionals in all of Cisco’s certification tracks, a couple of technologies recently leapt to the forefront:
This blog post answers the question of what I would do if I were starting my career over, keeping in mind the emergence of these two hot topics.
Earlier this year at Cisco Live US, I remember listening to Chuck Robbins’ keynote, where he described the type of network engineer that was needed for the future. They would have to have traditional command line interface (CLI) skills in addition to programming skills. They could then merge these different skills sets, allowing them to write programs (e.g. Python programs) to configure network devices (often referred to as network programmability or Software Defined Networking (SDN)). He then coined a term for this new breed of network engineer, calling them hybrid engineers.
Thinking that network programmability would primarily be used with routing and switching technologies (in an enterprise or a data center), I chatted with a Cisco engineer about Cisco’s vision for the future regarding network programmability. He explained how Cisco envisioned a future where all of their technologies could be controlled by programming. For example, a Cisco Unified Communications Manager (CUCM) could be configured programmatically, rather than through the traditional graphical user interface (GUI). However, as you’re imagining this, please keep in mind that programs could either communicate directly with the network devices being managed, or they could communicate with a network controller (e.g. a Cisco APIC or APIC-EM), which then reaches out and configures the network devices.
Based on my conversation, I concluded that for any serious network professional, learning network programmability was a necessity, not just a “nice to have” on a resume. In fact, if you’ve read this blog for a while, you might remember my first post of 2017, where I declared it was time to make a career pivot and start learning network programmability. That’s when I started digging into network programmability, and it’s been my focus most of this year.
Another disruptor in the IT space is cyber security. Depending on which article you read, you’ll learn that by the year 2019 or 2020, there is projected to be 6 million jobs in cyber security, with a staggering 25 percent of those jobs (i.e. 1.5 million jobs) unfilled. That’s the biggest technology-specific job opportunity I’ve ever seen.
With these two statistical outliers (i.e. technologies with a disproportionate demand in today's marketplace) in mind, here's what I would do if I were starting over. However, please understand this is what I believe would be right for me. I don’t know your circumstances, learning style, interests, job situation, nor a myriad of other determining factors. So, what I’m proposing is not to be taken as what I’m recommending you personally do. Rather, it’s my response to the oft-asked question of what I would do, if I had to start over. However, I do hope you follow the logic in my plan and determine whether or not similar moves might be appropriate in your career.
Yes, I know. Routing and switching technologies have been around for decades, and they aren’t perceived as hot topics. However, I contend that no matter what track you find yourself going down (e.g. Collaboration, Data Center, Security, Wireless, etc.), packets need to be routed, and frames need to be switched. So, as a foundation, I believe in learning routing at switching at the CCNA R/S level.
Since network programmability is a necessary skill, regardless of the technology-specific track on which you focus, I would next learn fundamental concepts surrounding network programmability. These concepts include topics such as: Python programming, JSON and XML formatting, YANG data modeling, Cisco APIC-EM configuration, Cisco APIC configuration, Telnetting directly to network devices with telnetlib, connecting to devices with Secure Shell (SSH) using Paramiko and Netmiko, and configuring network devices (regardless of vendor) using NETCONF.
Next, I would get my CCNP R/S, not only based on my previous assertion about the pervasive need for routing and switching knowledge, but also because earning my CCNP R/S demonstrates I can learn concepts at a deep level. My belief is there is more reward for going deep in a single technology track (e.g. to the NP or IE levels) as compared to going shallow in multiple technology tracks (e.g. earning multiple NA-level certs).
With the overwhelming demand for CyberOps professionals looming ahead, I’d want to be conversant in cyber security topics and concepts. At the time of this blog post, Cisco only has a CCNA-level certification for CyberOps, but nothing yet at the CCNP or CCIE levels. However, I believe earning my CCNA CyberOps would be a valuable career move, regardless of whether or not I actually focus on CyberOps in my job role.
This step harkens back to my previous advice about picking a track you’re interested in, because you really need to love something to spend that much time with it. So, after building a foundation in routing and switching, learning fundamental network programmability concepts, and becoming acquainted with cyber security, I would then start marching down the certification track that most closely aligned with my interests. After earning the CCNA cert in that track (or the CCDA cert for the Design track), I would then proceed to earn the CCNP (or CCDP) cert in that track.
Preparing for a CCIE certification is incredibly challenging. I find the written exams to be super intense, and the corresponding lab exams an order of magnitude more intense. Personally, I have two CCIEs, one in Route/Switch and one in Collaboration. My first CCIE lab (which was in R/S) took me three attempts to pass. My second CCIE lab, in which I invested approximately 1,600 hours of study, took me two attempts to pass, and was the most difficult thing I’ve done in my entire career.
The point is, if you make the commitment to earn your CCIE (or CCDE in the Design track), it’s going to disrupt your life. Prior to passing the lab for my second CCIE, I studied every day from October of one year till my lab date in late March of the following year (with the exception of taking off Christmas Day). Going in, I knew my life would be out of balance during those months, but I’m blessed with a supportive family that allowed me the intense focus I needed. However, your situation might be different. If you’re an external thinker rather than an internal thinker (in other words, you do your best reasoning when discussing a problem with others), you’re at a disadvantage in the CCIE lab. If you’re a slower typist (e.g. you type at a rate of less than 60 words per minute), you’re at a disadvantage in the CCIE lab. While these personal characteristics (and others like them) have nothing to do with your knowledge of technologies, they can still derail your CCIE pursuit. You need to have a serious conversation with yourself about your readiness to take on such a daunting task. When having that self-dialogue, determine the level of desire you have regarding your CCIE cert.
Peak performance strategist Anthony Robbins points out the word desire comes from the Latin roots of de and sire, which mean “Of the Father.” That leads to my personal belief that if you have a strong desire for something, that desire came from somewhere, and you’ve been equipped to attain that thing you desire. This means I wouldn’t pursue a CCIE just because it might be a good career move. I would only go down that path if I had a white hot desire that wouldn’t let me do anything other than pursue my CCIE.
After reaching the CCNP level in my preferred field of study, or perhaps the CCIE level if I had that burning desire, I would then pick another track I had interest in and repeat the process. Learning is a lifelong journey I believe should never cease, but you must select wisely.
As an illustration, when I was younger, I’d go into a book store looking for bargains. Now, I go into a book store looking for the books that will move the needle the most in my life, understanding that our time here is limited. We’ll never learn it all. So, let’s choose wisely what to learn next.
Well, there you have it, the seven steps I would personally take if I were starting my career over. As a reference, the following graphic shows how I visualize the route/switch training and the network programmability training as being foundational. Then, independent silos of technologies stack on that foundation.
If you decide to adopt some of these strategies for your own career, I've personally created resources to get you through the first three steps:
All the best in your studies!
Kevin Wallace, CCIEx2 (R/S and Collaboration) #7945