Where do you work and what’s your role?
LinkedIn, as a part of the global architecture team. I primarily focus on future looking network solutions, as well as security.
What kind of roles and work did you do before arriving at Linkedin?
I started out building small networks on a lot of different technologies in the USAF, primarily Banyan Vines and Novell Netware, over Token Bus, Thicknet, and other technologies. We implemented a fiber backbone, and I helped replace the old physical switch telephone system main frame with a modern (at that time) SS7 based design. After this, I worked for a small Value Added Reseller around New York City, and then the ASME as a network administrator, then at BASF in the Advanced Technology Group. At this point my wife and I moved to Raleigh, and I started at Cisco TAC in the hardware team. From there I moved to the Routing Protocols team, then Global Escalation, and then into engineering in various roles around Cisco IOS Software and XR. After Cisco, I moved to Verisign Labs, where I primarily focused on security in a more research oriented role, then to Ericsson, working on IPOS, and now LinkedIn.
What have you learned in your career so far that you would like to tell the younger you?
Don’t waste so much time; focus on learning basics more, and command lines less.
What are the most important skills you have picked up in your career so far?
Communication skills, writing and presenting, are, by far, the most underrated skills out there. Learning how to do real research, not the kindof/sortof stuff of slapping together a little white paper to justify something that has already been decided, is another important skill. A third thing might be to be to learn how to learn. You cannot build a broad set of skills if you do not know how to learn.
What’s your opinion on degrees? Are they useful for someone in the networking industry?
I think every engineer should get a degree at some point—even if it is not in engineering proper. The engineering world tends to treat people like machines; if it is not useful to advance my career, then it is a waste of my time. As you get older, you start to realize there is more to life than advancing your career, and you start realizing you have missed a lot of opportunities just to be a human by focusing so strongly on a career. Taking on a degree can help you learn to broaden out—if it’s the right sort of degree—and to start thinking more holistically about life.
What about certifications? Are they losing their value?
Certifications are a learning road map into a specific technology, or set of technologies. Many people treat them as something you should get once you are an expert, but I consider them a path to expertise, instead. Again, like degrees, we tend to treat certifications as either having an immediate impact on our salary, or just a waste of time. This is a false dichotomy; if you choose certifications that teach you skills, rather than vendor configuration, and you focus on the certification as a learning path put in place by people who have a lot more experience, then you can take useful things away from the certification process without getting trapped in the “this is all that matters, I need more” mantra so many engineers are trapped in.
Is the skillset of network engineers changing? What skills are important to have in the coming years?
I think so. I tend to think the engineering world is going to split into multiple pieces. There will be administrators, who focus on vendor relations and business problems. There will be architects, who focus on matching the business to a technology. And there will be engineers, who will build systems, whether at a vendor or not, based on a smaller, more raw, level of component than the appliances we see today. Each of these will need a different skill set. For the engineer, a good understanding of applications, business, technologies, algorithms, and development process will be crucial.
What skills are important for Network Architects?
Network architects live at the edge of the business and the technology; research, a broad understanding of the problems and solutions in the networking space, and communication skills are very important.
Will the need for networking experts go away? Is it better to be a generalist than an expert?
No, and it depends. 😊 Network experts will always be needed, because connectivity will always be important. As for a generalist; the market for generalists will likely always be larger, but the market for specialists will always pay more. The generalist will need to constantly learn about new things to remain general, while the specialist will always need to specialize in something new to keep up. I tend to think the best thing to do is start as a specialist, and move towards generalization as you gain more experience.
What do you think of soft skills? Do we need them in the networking industry? If so, which ones are the most important?
All communication skills are critical. Being able to relate to people is very important, but—network engineers are not salesmen, and won’t ever be.
With SDN, orchestration etc. can we throw the “traditional” networking knowledge out the window? Why or why not?
Nope. First, the need to connect things is still going to be around, and the solution space that can provide the required connectivity is actually much smaller than most people think. If you have focused on the basics, you can transfer most of your knowledge about appliance based network to things like SDN. If you’ve focused on the CLI, well… Then you’ve not really learned network engineering in the first place. 😊 Second, I don’t think the ultimate solution is not going to be a pure play SDN. Such solutions will be found to be just as complex as purely distributed systems, and hence will fail in the same way (although this might take some time). Ultimately, what will be needed to build the networks we really need is a sort of hybrid, which means “traditional” protocols will still be in the mix.
Should someone in the networking industry learn to code? Why or why not? What is your language of choice?
Yes and no… To start, scripting is not the same as coding, although the two are often confused, and the lines between them are blurry. What is important is like anything else in network engineering—to really learn the tools and processes, rather than focusing on in depth minutia of individual languages. Knowing the coding world is important, being able to kick out 10k lines of code in a week is not.
What’s your best advice for staying updated in the networking industry? How do you stop the sipping from the firehose?
Before we close out. What would you want to give as a final piece of advice to the NC readers?
The fear of missing out is the most powerful force in network engineering. I am constantly gripped by the concern that maybe I’m not learning enough, that I don’t know enough, that I am not learning the right things, that I am not gaining exposure in the right places, that my blog does not get enough hits, etc. I think this is such a counterproductive habit we get into the habit of in our world—and I know that if I struggle with this, others must, as well. It is important to focus on what you are doing, rather than what you are not doing, to map out your learning, and to stop worrying about this so much.