Welcome to Networkcareer!
Where do you work and what’s your role?
I work for a pharmaceutical company as a network engineer currently focused on network security. I touch a variety of technologies, but lately I’ve been very focused on network security and our global security posture.
What kind of roles and work did you do before arriving at your current position?
I’ve worked mostly for regional VARs though I also spent a year at a local university as well. Working for VARs meant that though I was focused on networking, “networking” was considered broad enough that I touched a variety of technologies. For most of my previous employers I was an implementation engineer working on infrastructure projects, core switch upgrades, WAN upgrades, collaboration projects, and quite a few wireless projects. I worked in the data center, small business networking, school districts, colleges, large manufacturing facilities, and even on one of the largest networks in the world.
Before I got into the technology field about 10 years ago, though, I was a high school English teacher, and I still teach a class each semester at a local community college.
What have you learned in your career so far that you would like to tell the younger you?
Learn programming early! I focused only on pure networking training for most of my career with of course some Microsoft and VMware thrown in, but I never spent the time to develop programming skills which I’m finding today to be something I need more and more. I’d also tell myself to not fear the big projects, the scary cutovers, and the technology tasks I wasn’t familiar with. Especially when I was working for VARs, I was thrown into projects that required me to learn on the fly. I stressed myself out so much at the time, but in hindsight that’s when I learned the most and had the most fun.
What are the most important skills you have picked up in your career so far?
I had a little writing skill before transitioning from being a teacher to working in IT, but in the last 4 years or so I’ve developed that skill much more especially in the context of technology. I really believe that an ability to write well has given me just as much opportunity for work and earning income as my technical skillset.
From a technical perspective, an important skill that I developed over the last 10 years is troubleshooting. Years ago I would start with asking around or calling TAC. Today, I’ve learned that a methodical process starting with the basics (and keeping your cool in a network down scenario) very often ends up with being able to fix the problem.
What’s your opinion on degrees? Are they useful for someone in the networking industry?
I started my professional life as a high school English teacher. I have a humanities degree and a Master’s degree, so I have an affinity for formal and traditional education. I value solid education, but I firmly believe that the greatest value is in one’s own ability to own their own education and incorporate it into a larger career and life strategy. I don’t believe that a degree is a silver bullet and automatic pass to a good job, great career, and comfortable life. So I feel traditional college degrees are certainly useful to someone in the networking industry because it’s a means to develop foundational knowledge, but I don’t believe at all that a networking professional can stop there which his or her education.
What about certifications? Are they losing their value?
No. I don’t believe certifications are losing their value despite seeing that in blogs from time-to-time. When it comes down to it, most of the calls I’ve received for a job opportunity were partly to do with my experience, and partly due to the long list of certifications on my resume. True, as a result of the interview process I’ve been turned down for jobs because I lacked some specific experience, but having industry certifications has nonetheless opened many doors for me and given me a very methodical framework to continue my education after college.
And therein lies the greatest value – certifications are a means to move forward with your professional development, not an automatic entryway into a new job, but nevertheless a very convenient means to learn foundational knowledge and very specific skills. In that sense, certifications are still extremely valuable for a networking professional who’s determined to own their own education.
Is the skillset of network engineers changing? What skills are important to have in the coming years?
Yes the skillset is changing, but not as much or in the way some would lead you to believe. Personally, I’m finding a need more and more to use sysadmin skills and programming skills to get my daily work done, and this seems to be common among many of my friends in the networking community. What I don’t think even for a second is that those skills are replacing networking skills.
I believe programming skills are being recognized as an important addition to an already developed networking skill set. Some are announcing that the concept of the traditional network engineer is being completely overhauled and flipped upside down, but I disagree with this. Just like a traditional plumber might learn Excel to better manage his plumbing business, traditional network engineers are learning programming (if they haven’t already) in order to be better network engineers.
What skills are important for Network Architects?
A deep understanding of the networking technology, of course, but also a strong understanding of technology outside of strictly networking. A solid Network Architect, in my opinion, needs to at least be familiar with virtualization, storage, very basic electrical engineering, Windows servers, Linux, application development, and even end-user computing. I don’t mean they need to be experts in these areas, but a Network Architect must be able to see the big picture – that the network serves to deliver applications and services to end-users. In addition, I’ve found that Network Architects should have the soft skills to work with project managers, the finance department, procurement, and across technology teams in a typical IT department. This includes writing project outlines, being able to craft solid documentation, write clear emails, and even create decent spreadsheets and network diagrams.
From a technical perspective, though, I find that solid Network Architects are engineers more than mid-level network admins. This means that Network Architects know the technology at a deep enough level to be able to create solutions rather than buy whatever solution our favorite networking vendors are pushing that quarter. I think this comes with a strong formal education and years of experience.
Will the need for networking experts go away? Is it better to be a generalist than an expert?
No – the need for networking experts won’t go away any time soon. I don’t believe it will during my career, at least. But as far as being a generalist, I don’t believe it’s necessary to actually be a generalist, but I do believe that having been a generalist earlier in one’s career is incredibly valuable to a network engineer.
I started my career in technology on a help desk and did that for about 2 years. We had no levels 1, 2, and 3, so I did everything. Eventually I transitioned into networking, but I had the foundation of understanding Windows servers, virtualization, storage, etc which has helped me tremendously in my networking career. So in that sense I don’t think it’s better to be a generalist, but I do believe that spending some time as a generalist earlier in one’s career is very beneficial.
What do you think of soft skills? Do we need them in the networking industry? If so, which ones are the most important?
Yes! We need soft skills in any industry and especially in networking. To identify which ones are most important is very difficult, because soft skills aren’t as easy to line up and separate. But I’ll name a few that stand out to me.
First, network engineers should learn to write. No, I don’t believe that we all need English degrees or the literary prowess of a seasoned novelist, but I do believe that communication within and among departments as well as with customers can make or break a project. That means the network engineers that really stand out can write decent emails, put together clear documentation, and lead lunch and learns for their colleagues.
Second, and this is a really hard one, network engineers need the self-awareness and social-awareness to be able to work with teams. Network engineers don’t typically crank out code for 12 hours a day with headphones in their ears day in and day out. Yes, we may need to do that to get a device programmed, but we typically have to interact with other network engineers, the storage team, the Windows team, the Linux team, the help desk, project managers, and of course our customers. I’ve worked with arrogant and self-absorbed network engineers who were utterly brilliant but impossible to work with. That means the project didn’t go well, but it was as a result of their inability to work with others, not their inability to configure BGP. I don’t know how this can be taught or developed – maybe it’s just more of a personality trait – I really don’t know. But I do know that the skill of interpersonal communication is so valuable for a network engineer implementing a complex solution or simply swapping out old switches for new gear.
Third, and I think I mean this more for myself than anyone else, network engineers need to develop patience. Is that a soft skill? Maybe not, but it’s still something we need. Let me explain. Once a network engineer really gets the networking bug a new desire takes over to learn, be challenged, get on the high profile projects, work with the latest gear, implement the most interesting solutions. However, jobs that allow us to do all of those things all of the time are rare. For me, this means I can get bored or frustrated easily at a particular job and either give up for a time or start to look elsewhere before giving my current job a chance. It’s important for us to be patient, then, and take those opportunities as they come and develop the small opportunities that we normally scoff at into a small learning experience. This is so hard for me, and I know is also hard for many of my friends in this business.
With SDN, orchestration etc. can we throw the “traditional” networking knowledge out the window? Why or why not?
No, we can’t throw traditional networking knowledge out the window. Traditional networking knowledge is still 100% foundational to what we’re doing. Please understand that I don’t count knowing CLI syntax as traditional networking knowledge, necessarily. What I’m speaking to is a deep understanding of protocols and systems and computer science. Whether or not configuration is abstracted, as is the case with SDN, orchestration, and intent-based networking, engineers still need to understand the underlying technology such as OSPF, BGP, spanning tree, how BPDUs work, what TCP window scaling is, etc etc.
SDN, orchestration, and network programmability don’t replace any of that technology or one’s need to understand it. They simply abstract configuration to one extent or another.
Should someone in the networking industry learn to code? Why or why not? What is your language of choice?
Yes, I think every network engineer should learn to code. Many already do, so I don’t think this is anything groundbreaking, but certainly it’s getting a lot of attention lately. In my experience over the last 10 years, networks, even smaller ones, have become more complex as far as the various services and resources the infrastructure provides to end-users.
Examples would be in the proliferation of wireless networks, the growing need for identity services for a mobile workforce, and the increasing size of data centers. The infrastructure, and in this case specifically networks, have become complex enough that routine changes, though not necessarily difficult, happen so often and across so many devices that human error is inevitable.
In my personal experience, most network outages I’ve dealt with were related to human error on the command line. Treating the infrastructure as code, and in this case I’m referring specifically to automation, allows us to decrease this human error (when done correctly) and decrease time to deploy services.
Just writing scripts is one thing, but looking at an entire infrastructure as pools of resources and a treasure trove of data allows us to increase efficiency, reliability, and truly understand what’s happening on the wire. Today, we’re hearing networking vendors talk about machine learning and taking advantage of the incredible amount of information available to us produced by the network itself.
Though I’m no expert in this area and am still learning, I’ve already seen how knowing simple things like how to navigate a Linux file system and write simple but functional Python scripts can be incredibly useful. That’s what I am working on now, and that’s what I would recommend to a network engineer interested in learning to code.
Get comfortable on the Linux command line and learn Python. There’s no rush, and there’s no secret. Just spend a little time every day starting with the very basics, and it’s amazing how quickly a newbie can create a functional and useful script.
What’s your best advice for staying updated in the networking industry? How do you stop the sipping from the firehose?
Personally, I read a lot of blogs and listen to a lot of podcasts. I also consume quite a bit of video on demand technical training, but I don’t feel that’s really a means for staying updated in the industry. That being said, VoD training does give me a better foundation for understanding what’s going on in the industry and what’s being talked about in podcasts.
Twitter has been instrumental for me, and so has writing my own blog. If nothing else, writing my own blog keeps my mind focused on what’s going on around me rather than succumb to my tendency to pull away from everything and get comfortable in my own routines.
The “sipping from the firehose” phenomenon is definitely real. At times trying to consume and understand everything is very daunting and ultimately very frustrating. For me, I listen to podcasts and read blogs and assume everyone knows all of this stuff. The reality is that no one knows all of the things going on in our industry let alone in all of technology, so it’s helpful to choose a topic and run with it.
For me this has meant focusing on routing protocols for a few months and not being distracted by other things. Then, after a time, I would spend a month going through a Code Academy course to start learning Python. Taken over the long term (as in years), we can develop a strong foundation in multiple areas and mitigate feeling overwhelmed with what’s going on in the industry around us.
Lastly, I’ve had to become more selective with my feeds in order to gain any semblance of focus. I’ve cut out several podcasts and blogs that were only occasionally useful, and I left several Slack teams to decrease distraction. Rather than help with sipping from the firehose, I feel this has just decreased the water pressure enough for me to manage what comes across my desk.
I don’t know if this is the best advice, but it’s what’s worked for me.
Before we close out. What would you want to give as a final piece of advice to the NC readers?
Regardless of your level in your career – starting out, mid-career, or decades in – own your own education. No one will care about your professional development as much as you will. Not your employer, not your teacher, not your friends in the networking community. Your technical growth has to be something you internalize and make a part of your life with no need for permission or explicit directive from anyone else.