You can’t listen to an interview or podcast, an industry panel, or read a Q&A about the future of networking that doesn’t involve skill sets. The biggest question of them all – what skills should network engineers focus on so they don’t become irrelevant? If you really want to know what skills make sense, why ask, when you can do an easy search to see what skills companies are looking for these days in a variety of roles. Combine SDN with DevOps into your search criteria and the results may surprise you. They sure surprised me.
I don’t usually peruse the job boards, but I’m on LinkedIn daily, so I figured I’d put their job site to the test and see what skills are in demand by searching for specific products and tools. This is the best way to search, right? I did numerous searches using the following keywords: SDN, Puppet, Chef, Ansible, Python, Cisco, network, and CCIE.
Here are the results:
- There were only five (5) jobs available when searching for SDN, CCIE, and Python. Reminder, I only searched LinkedIn.
- The first was for a vendor as a “SDN Cloud Architect.” Not only are they looking for an expert level network engineer who can program and is up to speed on SDN concepts, but this person should also be familiar with public and private cloud designs. Then, there is one for a Site Reliability Engineer working at Apple and then two more for Service Engineers working at Microsoft.
- The last one was the only one relevant to the Enterprise space. It was for a Senior Data Center Network Engineer position for Wells Fargo. The position and description largely resembles that of a traditional network engineer. But, when you dig in and view some of the tools and knowledge areas they are looking for, you see things like: lead the development of SDN, familiarity with OpenFlow, Python experience preferred, experience with VMware, experience with OpenStack Neutron and virtual networking, Knowledge of NSX, Experience deploying VXLAN, Experience with Puppet to program network APIs. Whoever they hire for this is going to be a stud! This person better demand some real cash.
Okay, that search was a failure. Maybe companies are putting less value on the CCIE when advertising for jobs or not using “SDN” in job descriptions. The next search includes Python, network, and Puppet. Okay, wow – 211 results back.
- A good portion of these were for jobs that had “DevOps” in the title. That was an eye opener for me by itself- all I keep reading is that DevOps is more about culture and process, not a title; there have even been blogs about not having DevOps specific jobs and teams because you just create one more silo! That is beyond me at this point, but the point is, even in these DevOps jobs, you see things like “Architect, implement, scale server and network infrastructure to support high growth rates.” Same position calls for the person be an expert in configuration management frameworks (Salt, Puppet, Chef), and be an expert with the *nix command line.
- There are also positions that are titled Systems Network Engineers (as an example) that are a little more geared toward traditional network engineers, but with a slight systems twist. In these roles, primary duty is still network, but they are looking for at least knowledge of tools that include Puppet, Chef, CFE, Ansible, etc.
Realizing the term ‘network’ as a keyword may be too broad, I decided to do other searches with the keywords from above in a variety of ways. More results and general thoughts:
- DevOps skills and knowledge of config mgmt. tools is in huge demand – no matter how you cut it.
- Linux skills – huge demand.
- There are more DevOps roles that are asking for knowledge of networking than there are NetEng roles that are asking for knowledge of DevOps tools, etc
- There are ops teams calling themselves “TechOps” in that there aren’t silo’d ops teams anymore. Some of these are looking for network engineers on the TechOps teams. If you want to grow your skills, this seems like a good place to hone them.
- I performed 3 searches as such: Cisco+Ansible, Cisco+Chef, and Cisco+Puppet. I was trying to determine two things. What is the most common config mgmt. tool being used in the network space and what job roles were there for these (devops vs. neteng)? The results for each search, respectively, had 3, 49, and 78 results. Puppet is the sheer winner right now, but the bottom line is, “most” of these results were not necessarily for network engineers, they were largely for sys admin / Devops types.
- There are still plenty of jobs available that don’t require any new skills. These aren’t going anywhere.
- Since this article will likely get read by mostly network engineers, here is just one example where the traditional network engineer is demanded, but knowledge of new skills are desirable too: “Seeking an experienced and highly innovative Enterprise Network Architect to join our team. The candidate should be well versed in Cisco based routing, switching and wireless technologies. The candidate should have experience in progressive technologies supporting SDN, OpenStack and Open Networking. Experience with automated configuration management leveraging Puppet or Chef is desirable to enable our Private and Hybrid Cloud implementations.
- Generally speaking, if you add virtualization, Cloud, OpenStack, OpenFlow, programming, Linux, Python, Puppet, Ansible, Chef, etc. to your repertoire of networking skills, you’ll become more valuable. Is this really telling anyone something they didn’t already know though?
Foregoing features to foregoing networking skills? We’ll have to wait and see.
Over the past few years, I’ve talked about how a vendor who offers more agile infrastructure could end up being more valuable (to a customer) than a vendor with a product that has a billion features. Embrane comes to mind for me. So what does that have to do with skill sets? Well, it is also possible in some of these newer roles, an employer may be foregoing expert level network skills for someone who gets networking (and will continue to learn it), but who also is deeply intimate with how a DevOps mindset (think agile, automation, etc.) can be applied to networking.
And of course, on the large teams, I’m sure there will be super specialists and experts. I know if I didn’t say that, some of you would get upset at me! And as stated above, there is no shortage of traditional network engineering jobs out there.
So what is the question to ponder?
Are companies looking for network engineers that can fit into an existing DevOps culture and subsequently learn to script, program, and use tools such as Puppet, Chef, Ansible, etc. or are they looking for DevOps Engineers who can learn a thing or two about networking?
Maybe the real question is – does it have to be one or the other?
What do you think?
Thanks, Jason
Twitter: @jedelman8