For quite awhile now, I have kept a file that has random blog ideas that I have thought of here and there. I just took a peek at the file and realized that it has built up quite a bit, but it is mostly with things that don’t necessarily warrant their own post, so I haven’t taken the time to actually write about them yet. Let’s see if I can correct that. 🙂
Preamble: Since getting this job, my perception of things has changed quite dramatically from even just six months ago. I’m still studying for the CCIE. However, I previously viewed that pinnacle moment of passing the lab exam and receiving my CCIE number as the gateway to ultimate satisfaction and the things that will follow it. That may very well still happen, but in the past several months I have come to appreciate so much more what other people have been saying for years: the CCIE is not about the destination, it’s about the journey. Likewise, that the CCIE is a marathon, not a sprint. As I study for the CCIE, whether or not I ever actually even take and pass the lab exam, I know the journey is making me a better network engineer. Every passing month, I can feel that I am more knowledgeable in my field than I was the previous month, and it just keeps building.
With that in mind, I believe that if I dedicated myself 100% to the CCIE and focused completely on the syllabus and did not venture outside of it, I (like others in the past) could pass the lab exam within a year’s time. But that approach no longer makes sense to me. This is one of the ways my perception has changed. I do believe I will be a CCIE in the future, but for me, the goal is to be a better network engineer, not to just have a shiny plaque at the end. This is why my studies revolve around the CCIE, but are not always directly related.
On that note, random thing one: One of the things I’ve noticed over the past few years of studying is that I can immediately feel the difference between studying for something I’m truly interested in, and studying for something that I feel is important for me to learn, but that doesn’t quite hold my interest. As I study, I take notes on just about everything, and it’s kind of funny to review my notes sometimes because I can clearly tell when I was really interested in something and when I just wanted the studying session to be over as quickly as possible.
Random thing two: What I really enjoy about networking is that when viewed from 50,000 feet, the whole thing is kind of like putting a big puzzle together. As a network engineer, it is my job to make the pieces fit and work together. Most networking protocols are deterministic, which means that if you set things up a certain way, you should have predetermined results. I like knowing that I can expect repeatable results based on the input I provide. That’s not really the case with server administration (or so it seems from what I have witnessed across the aisle). In both this job and my last job, the people in charge of the servers were constantly stressed and running around putting out one fire after the next. Every change they make seems to have some sort of unknown cascading failure. Network engineering is generally not like that. If your network is designed well, it will handle failures gracefully. If you have good troubleshooting skills, it will not take long to put out the occasional fire.
Random thing three: In the past, when I studied, I pretty much just focused on one subject at a time. If I started a video series, I dedicated myself to the whole thing. If I read a book, I usually read it [virtual] cover to cover, and did not take in much else outside of other people’s blog entries. I found myself getting sick of the material after reading a chapter or two, and would need a decent break before I could continue. Earlier this year, I tried an experiment where I set up the notes I wanted to take for five or six different books. After every chapter, I rotated books and kept reading. I found that I was able to take in more information and read for longer periods of time by doing that. The next thing I need to learn how to do better is to not read entire books, but pick out the things that are important. My issue with that is I am afraid of missing something important or valuable. Luckily most of the texts I’ve been reading lately are at an advanced level, and sometimes over my head still, but I am finding that happening less and less with time (which is a good feeling in itself).
Random thing four: Sometimes I get caught in a trap when I am studying where a section of what I am studying may be particularly challenging, and sometimes it prevents me from moving on until I can wrap my brain around it. I am still learning to let that go and move on and come back later. When this happens, I try to keep in mind Jeremy Cioara saying something about learning new technologies and how he doesn’t like them at first, but as he revisits them more and more, it becomes easier and more enjoyable. I know that if I just take a break from the topic and come back with fresh eyes, I will have a better understanding. Sometimes, though, I forget about this fact. I have definitely experienced this many times, especially with regards to IP multicast routing.
Random thing five: Speaking of multicast, I recently finished reading Developing IP Multicast Networks. This book was published in 1999, and is considered ancient in terms of technology. Many of the protocols and standards discussed in the book were still under heavy development. For example, IGMP version 3 was very briefly mentioned because it was in the very beginning stages of development, yet it is now considered an older standard in today’s networks. The book also discusses different multicast technologies that never took off and are considered deprecated in today’s networks. But I found this book really interesting because it goes into tremendous detail and definitely serves as a great historical reference. In fact, the part I enjoyed the most by far was the author describing why there is an overlap in multicast Ethernet MAC addresses. From the book (author Beau Williamson):
There’s an interesting story as to why only 23 bits worth of MAC address space was allocated for IP multicast. Back in the early 1990s, Steve Deering was bringing some of his research work on IP multicasting to fruition, and he wanted the IEEE to assign 16 consecutive Organizational Unique Identifiers (OUIs) for use as IP multicast MAC addresses. Because one OUI contains 24 bits worth of address space, 16 consecutive OUI’s would supply a full 28 bits worth of MAC address space and would permit a one-to-one mapping of Layer 3 IP multicast addresses to MAC addresses. Unfortunately, the going price for an OUI at the time was $1000 and Steve’s manager, the late Jon Postel, was unable to justify the $16,000 necessary to purchase the full 28 bits worth of MAC addresses. Instead, Jon was willing to spend $1000 to purchase one OUI out of his budget and give half of the addresses (23 bits worth) to Steve for use in his IP multicast research.
So that’s why we have a 32:1 overlap of multicast IP to multicast MAC addresses even still today.
Random thing six: Reading older textbooks sometimes provides a history that is often lost with newer textbooks. I’ve talked about this before, but as I get deeper into protocols and networking in general, I’ve noticed that new textbooks can lead to a false perception that common protocols are complete and always have been the way they are now. For example, TCP has undergone different revisions since its first (non-DoD) release in 1981, such as tweaking different aspects of how the protocol behaves, but most textbooks gloss over those details. When I first started seriously studying to be a network engineer over four years ago (even though I didn’t realize at the time that that was what I was doing), nearly every book I read was directly certification-related. Over time, as I’ve tried to become a better network engineer, I have read (and will continue to read) many books that take on subjects all their own, instead of being geared as a digest of text for a particular exam. This is how I discovered that certification books will usually leave out the extra (and usually interesting) details that you don’t specifically need to know for the exam. I think it’s kind of a shame that people just getting into networking won’t know or realize these kinds of things, because certification books pretty much just present things as they are at the time the book was published, and rarely go into any history.
Random thing seven: Somewhat related to many of the previous random things, I’ve discovered that I very much like the journey I am on with learning protocols deeper and deeper. For example, I first learned about the Multiple Spanning Tree Protocol while studying for the CCNP over two years ago (has it been that long already? LOL). However, the CCIE goes MUCH deeper into the details of how it actually works. I’ve found that having the basic understanding presented in the CCNP very much helped with going to the deeper level of the CCIE. This pretty much applies to all of the protocols that were covered on the CCNP that are also covered on the CCIE. The CCIE has no formal pre-requisites, you can just dive right in if you want to, but I strongly believe it would be much more difficult to do so. Which brings me to…
Random thing eight: Attempting to study for things at a level I’m not ready for yet. This has happened many times over the past several years. There are things that I hold an interest in, but I don’t have enough foundational knowledge to make what I want to learn be useful and meaningful to me. This is something, though, that I am finding to be happening less with time as I gain more knowledge overall.
Random thing nine: I’ve learned that by using some of these technologies in your house every day, it can help to make you a better engineer. Do I need to run a VMware vSphere server in my house? Not necessarily; I could probably do most of what I do with a desktop hypervisor and a few external hard drives. But, by using the technology, I’ve encountered situations that have helped to make me better at what I do, because quite often there are things you can try with the different technologies in your house that you cannot simply try out on a production network.
Random thing ten: This was three different notes in my blog file, but all three are pretty much related to each other, and by combining them, I keep my post at a nice psychologically-satisfying number of ten random things. I used to carry a very strong sense of urgency with me; the thought that I was not progressing fast enough, that I should be much further ahead in my studies, I’m not putting as much time in studying as I could, etc. Though I still deal with these kinds of feelings occasionally, I find they are getting less with time and experience. The reason is because I always used to compare myself to the accomplishments of other people. I’ve learned that doing that only serves as negative reinforcement for me and does not help. Since getting this job, I’ve come to realize that I’m on my own personal journey, and that I do not need to compare myself to others to feel good about how much I have accomplished so far. In my grand vision of things, I still have a very long way to go. Some people might not believe that, but it is true. Network engineering and architecture is a never-ending field, and you can go deeper than you can even imagine.
But that sense of urgency and the feeling that I’m not moving fast enough is leaving me as I progress in my career. Right now I am at a point that I could not have conceived of only two years ago. I’ve reached a point where I have realized I can only go forward. If for some reason I lost this job, I know that it would not be very difficult to find another one that is just as good, if not better. I’ve learned to trust myself more, and believe in my knowledge and experience. This allows me now to post career-related things that I would not have had the courage to do before, because I was afraid that having a public record of me evaluating my own progress may be seen as weak by a future employer. I’m past that point now. I can admit to not knowing everything about everything, but I can probably find you a pretty reasonable answer if you give me some time! It’s a good feeling knowing that I now have enough base knowledge that I could be presented with pretty much any networking-related technology and, with time, figure out how to make it do what it needs to do to support the business. I’ve already experienced this a few times in my current role, and it is a tremendous feeling to go from never working with a particular technology to quickly solving issues with it.
I noticed I kept mixing up first and third person, as well as overlapping my random things 🙂 Thanks for reading.