Alumni Interview with Uyi Enadeghe, Network Engineer at Apple Inc.

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?

UyiComcast: 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?

UyiI 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?

UyiThere 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?

: 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?

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?

UyiI 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?

UyiSecurity 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!