It struck me this morning that one of the few constants in life is the importance of fundamentals. I can well remember my junior high and high school basketball coach drilling the importance of fundamental basketball into our young heads - dribbling, proper shooting technique, passing - he was all about mastering the basics and we practiced them for hours at a time, 6 days per week. It was much the same when my mom dragged me to church on Sundays - learn the fundamentals and they will stay with you throughout your life they told us. So, we focused on memorizing the Ten Commandments, speed drills on finding specific verses in the Bible, and so on.
When it comes to network engineering and/or network management, the same philosophy applies. So many of the problems that we face in our jobs maintaining networks rely on a sound understanding of the fundamentals of networking that it's amazing to me that so many people try to do this job without mastering them. I've seen it proven time and time again - when all else fails - go back to the basics and sure enough you'll usually find the problem.
So, in typical Head Geek fashion, here's my Top 7 List of the Network Fundamentals that you quite simply can't do without.
Top 7 Network Fundamentals
#7 - Understand and be proficient at making standard cables. If you can't take a roll of Category 6 cable, a crimper, and some RJ-45s and make me a set of ethernet cables, cross-over cables, and a cable to use when connecting to the serial port of a Cisco router you're probably not going to pass any interview that you'll be in with me.
#6 - Learn to type. Yes, it's possible to get through a career without doing this but I suppose you could also have your buddies tie your shoes for you for the next 30 years. There are a lot of applications you can download to help you learn to type and once you learn the basics it's all about practice - which we all get plenty of - so just do it. Don't agree that this is a fundamental? Go hire someone that doesn't know how to type, work with them for 6 months, and get back to me.
#5 - Be comfortable in Cisco IOS. You don't have to memorize all the commands but you need to be comfortable enough in it to get the job done.
#4 - Understand basic network management protocols and functions. I'm talking about SNMP, NetFlow, ping, traceroute, Syslog, and Telnet.
#3 - Connect. Be a part of a social network with other people in the networking field. Whether you use Thwack.com, LinkedIn, or Facebook- you're never going to know all the answers. Connecting with other people via an online community should be a key part of your success strategy.
#2 - Master IP Addressing. You need to understand IP (version 4) addressing, subnetting, and the concepts around them. IPv6 is still above the "fundamental" level (for now), but if you can't break a /24 into four /26s you need to hit the books.
#1 - Understand the OSI model and at which layers different devices and protocols operate. This is why I listed the "Top 7" vs. the "Top 5". If you don't understand the OSI model and how to determine at which layer problems are occurring you better read a book or buy a clue. This is the most basic skill that you need to work in this space.
Alright, so I wanted to do a Top 7 but I really can't close this post without at least mentioning protocol analyzers. Look, you need to be able to use Wireshark (or another packet capture/analysis tool) to capture some packets and you need to understand the data that it's showing you. Sadly, this is a skill that many people consider to be above the "fundamental" level these days, but I disagree. You can download Wireshark for free and I promise that there are plenty of packets flying around to sniff at.
Follow me on Twitter