Uyi Enadeghe graduated from the MS Program in Telecommunications at University of Maryland in 2010. He has worked with Qualcomm Inc and Apple Inc., among other companies, as a Network Engineer. TSAN presents an exclusive interview with Uyi regarding shaping a career in the computer networking industry.
TSAN: You have worked for Comcast, Qualcomm and Apple. Could you please define your role in each of the organization and what level of expectations do each of these companies have from a Network Engineer?
Uyi: Comcast: Worked as a
Systems Engineer managing Content Delivery Networks (Comcast Video on
Demand)
Touched a little bit
of the following technologies/areas: Unix/Linux, Scripting, Managing Servers,
Network Monitoring, Routing and Switching
At Qualcomm, I worked as a
Network Security Engineer for Enterprise Network Security. I touched upon the following technologies and areas including Network Firewall & VPN, Routing & Switching, Cyber
Information Security, and Risk Analysis, Packet Capture Analysis, Scripting,
Unix/Linux.
At Apple, I worked as Network
Engineer supporting Remote Access connections into Apple's Enterprise Network.
I worked on MPLS/Metro Ethernet, BGP, Network
Automation & Scripting, SSL/IPSec based VPNs.
The level of
expectation really depends on what level you are brought in as an Engineer. At
Comcast for instance at the time I was hired they had Engineer levels 1-5 and I
was brought in as a level 2 so the expectation is somewhere between entry and
mid level. If you start as a Senior Engineer then the expectation is higher and
you are expected to already have some hands on experience, you would still be
trained but it is expected that you grasp things faster and you take on more
challenging projects.
TSAN: Could you please
tell us how do you prepare for your interviews at such reputed organizations?
What special care do you take apart from studying about the skills
mentioned in the Job description?
Uyi: I start with my
resume. It is important to be able to defend everything on your resume. Some
interviews get put away as it comes across as exaggerated and you lose your
credibility. I revise the
fundamentals and areas that I am rusty on. It can be disappointing failing some
very basic networking questions. e.g Basic TCP/IP packet flow.
I try to reverse engineer the job description. Sometimes recruiters are looking for very specific skill sets and in those cases, I make sure I understand those areas in detail. e.g Part of the reason I got the Apple Position was that I was able to figure out they wanted someone who not only understood IPSec in detail but at protocol level (Ikev2) detail. Other times they might be looking for a specific skillset but someone with a very broad background/knowledge. The important thing is knowing this.
For telephone
interviews cheat sheets are helpful. Routing-bits handbook is a very good one
for Network Engineers and it covers almost any questions that can be asked in a
network engineer interview. I studied that handbook and could go to any page
in a matter of seconds if I got a question on OSPF I knew where to go. Just
don't rely solely on the cheat sheet to read out the answers word for word, you
need some understanding of the technology. Also, remember you can't use a cheat
sheet for an onsite interview.
I look up the team
that works on the position and see what their job description says. This gives
me an idea of their day to day activities.
I do my research on
the person (LinkedIn) and company (Glassdoor) that is going to interview me.
The more I know about the person the more prepared I am. e.g When interviewing
with Qualcomm, one of the interviewers was a triple CCIE with a dual masters
degree. While it is not all about qualifications, sometimes depending on how
eloquent and confident you are, you can brute-force your way by just talking.
When faced with someone very technical you need to know your stuff. Believe it
or not, not every manager is a technical manager but if I know I am being
interviewed by a very technical person then I plan to structure my answers to
align with the interviewer's expectations.
TSAN: What industry
certifications should an aspiring network engineer plan to achieve in order to
get a job at a good organization like Apple?
Uyi: There are so many
types/areas of network certification (VCP, CCIE, JNCIE, CISSP etc). Depending
on the area you find yourself take one that helps you in that area. Interest
also helps sometimes. If you don't know what area to focus on then I think the
Cisco routing and switching exam is a good place to start just because it
covers the fundamentals of any area in Network Engineering. Even a Network
Engineer who programs 80% of the time would benefit from it.
Certificates are good
at getting your resume noticed, especially for HR and keyword filters. It also
helps you stand out since you have something else others might not have and
that is a step ahead. Some entry positions require them, so in general they are
useful at the beginning of your career as a Network Engineer but later on in
your career experience is more meaningful. They are also NOT mandatory. If you
can do your job before the certificate and you can still do your job after
passing a bunch of exams, what is the difference? Certificates with out the
technical ability are no good, as a technical manager can differentiate paper
certificate people from people who study hard to pass the certificates or have
hands on experience.
If you pursue a certification because of the knowledge you want to gain from it as against the respect or
validation from HR that you have that certificate, then it is not as useful. The
more important thing is the knowledge gained from the certificate itself and
not the certificate itself.
Automation is inevitable. Why work hard when you can work smart? Any smart person would want to automate a task that is repetitive and structured. Understanding how to use APIs and how they interact with network devices is very helpful.
TSAN: With the industry
now moving towards SDN and NFV how according to you would the role of a Network
engineer change in the near future?
Uyi: I think the important thing is the ability to adapt. Any good network engineer should be able to adapt to any new technology. Technology would always continue to evolve and new buzz words will come out. NFV, AWS, Network Virtualization, White Box, Open Flow, Open Config, Open Stack, IOT, Container Networking etc Just try to keep up with the succeeding technologies and learn them as it applies to your environment.
Uyi: I think the important thing is the ability to adapt. Any good network engineer should be able to adapt to any new technology. Technology would always continue to evolve and new buzz words will come out. NFV, AWS, Network Virtualization, White Box, Open Flow, Open Config, Open Stack, IOT, Container Networking etc Just try to keep up with the succeeding technologies and learn them as it applies to your environment.
TSAN. Apart from core
networking skills, what automation and other skills are required in the
industry?
Uyi: Automation is
inevitable. Why work hard when you can work smart? Any smart person would want
to automate a task that is repetitive and structured. Understanding how to
use APIs and how they interact with network devices is very helpful. Every
modern network device now comes with some sort of programmatic interface and
knowing how to work with them helps.
Basic scripting - While you can pick anyone I am biased towards Python just because so many network devices (Arista, Juniper, NxOS, F5, Cumulus Linux etc) come packaged out of the box with it. If Vendors ship their product with it then it is an extra amount of work to incorporate a separate language e.g Expect/Perl/Ruby/Go with that device. Ultimately use what you are most comfortable with because at the end of the day they can all achieve almost the same thing.
Ansible/Salt/Chef/Puppet are doing very well in the automation space
now with Ansible & Salt being preferred in the network space.
TSAN: If you were to
hire a Junior Network Engineer (Fresh Graduate) for your team at Apple what
skills do you seek in him/her?
Uyi: Someone who has good troubleshooting skills and someone who understands networking fundamentals especially one who can learn fast, adapt to change and is willing to take risks. I will prefer someone who will challenge my decision rather than someone who says it works and better not change it. I am also biased towards someone with automation knowledge or at least has some overview interests on it.
Uyi: Someone who has good troubleshooting skills and someone who understands networking fundamentals especially one who can learn fast, adapt to change and is willing to take risks. I will prefer someone who will challenge my decision rather than someone who says it works and better not change it. I am also biased towards someone with automation knowledge or at least has some overview interests on it.
TSAN: ENTS now offers
courses in Cloud computing, SDN and IT System security along with other courses
like Network programming and Juniper Configuration lab. If you had to pick one
or two among these what would you pick keeping in mind their role in a Network
Engineers day to day work routine?
Uyi: I think they are all
very good courses and I wish I had the opportunity to do them during my time.
What I will say is try to pick a course according to what your interests are.
If you are looking to develop your hands on experience then I think the Juniper
Configuration Lab might be a good one. If you are interested in network
security there are a lot of options 629, 650, 689I and 689X seems ideal for
some one who aspires to get into information/cyber security management. 649B
& 649C sure look interesting to me. I would not say one is better over the
other because ultimately it depends on what the person's goals are.
TSAN: In this era of
cyber-attacks, how does security plays a role in the life of a Network
Engineer? What basic security tools and techniques are important to know?
Uyi: Security is very important. I cannot stress this enough. I believe a complete network
engineer needs to understand how security ties to his/her devices.
In terms of the right
tool, don't look for Swizz Army knives tools. Look for the best tool for the
best job. But if you want to get your hands dirty then Pentoo/Kali Linux are
both Linux distros that come inbuilt with network security tools. It is a good
place to start.
Also, I think as
students you can take advantage of technology conferences. A few really good
ones I know are Black Hat, Defcon, O'Reilly Security, RSA, NANOG, & SANS.
You can qualify for student discounts and you can get scholarships to attend
for free. Minorities and Females would benefit a lot from this. You get a
scholarship to travel for free, you learn more about security in the process
and most importantly you network with potential Companies when you attend these
conferences.
TSAN: What general
advice would you want to give to students who are seeking a full-time job as a
Network Engineer?
Uyi: Here are some general tips:
Follow RFC 1925 (The
Twelve Networking Truths). It will help you! Certificate exams
help when you are starting out. Search for
scholarships for Network/Wireless/Security etc conferences. An easy way to get
hands on is with emulators. GNS3/VIRL/EVE-NG are good resources to use to get
hands on experience. If you have a
Blog/Git Repo/Book where you write about computer networking, it will be great on the resume
as it showcases things you have researched or worked on in the past.
I would in no way advise a person to be a jack of all trades because you can't be an expert at everything. However, I do think knowing enough to be able to have a decent conversation in the areas that are relevant to your interest would take you a long way.
Lastly, no matter how technical you are, good communication skills and attitude are still very important!