Monday, September 17, 2018

How to Differentiate Yourself in the Job Market

Most readers of this newsletter can safely be classified as experts in the field of networking. This article is intended to provide advice on how to differentiate yourself in the field, and perhaps leverage your unique experience into a more profitable career. 

This post was inspired by the Seth Godin’s Akimbo podcast, specifically episode 12 . While the podcast episode is geared toward freelancers, I think we should all consider ourselves freelance network engineers. If you work for a consulting firm, you are basically a freelancer with a specific employer. Especially at the level of most CCDEs and CCDE candidates, it is the marketing of your personal experience and reputation which allows your consulting employer to find work. If you work for an end-user organization (ISP, enterprise, content provider), you may not be with the same organization for your entire career. It is quite rare for an individual to spend their entire career with a supportive, successful employer. You should do what is necessary to prepare for a move to another employer, even if you intend to stay in one place as long as possible. The best time to prepare for your next job is when you don’t need one.

There are at least one million active network engineers in the world. In the US alone, there are nearly 400,000. How can you stand out in the field? Getting certified is a big help! There are about 50,000 CCIEs in the world, and only about 400 CCDEs (many of which are reading this article). But that isn’t enough. To truly stand out, I suggest experts find a small networking niche and dominate it. The aforementioned podcast defines the term Minimum Viable Market. This is the smallest market which will support an individual freelancer’s business. Defining and owning a Minimum Viable Market seems counterintuitive; after all, why would someone want to narrowly focus their career? Isn’t it better to broaden your market so you can be open to additional opportunities? Surprisingly, no, it isn’t. The reason for this is “available time”. Once you’ve become an expert, your compensation is defined as the product of your time and your bill rate:

Hours x Rate = Income

Of these two inputs, the number of hours available is fairly static. For most, it is around 30 - 50 hours per week, or roughly 2000 hours per year. If you push yourself, you may get to 2500 or even 3000 billable hours in a year. And if you’ve tried working this many hours in a year, you’ll realize quickly that it isn’t sustainable. The range is pretty much fixed.

The actual variable in the equation is your Bill Rate. This is the lever you can push to increase compensation. The best way to do this is to become the world renowned expert in your chosen niche. The tighter you define that niche, the more likely you can stake out your position. Proving to the world that you are the best ISP engineer is difficult. You have a ton of competition, and the field is incredibly broad. It would be much better to work toward defining yourself as the world’s expert on DOCSIS 4.0 in suburban cable deployments. Rather than claiming to be the most experienced wireless access network designer, define yourself as the world’s expert in designing wireless access networks for open-air sports stadiums. IPv6 expert? Instead, IPv6 deployment for content delivery networks. I’m sure you can think of many additional examples. When determining your niche, look at your experience. We all have unique backgrounds; there should be something in there to leverage going forward.

Once you have chosen your niche, how do you stake it out? Writing books and articles will surely help. The more publicity you can generate specific to your niche, the better. Speaking engagements, especially in front of your target audience, are wonderful opportunities to define yourself to your market. You should attempt to focus your future work on opportunities in your chosen niche. This will build your reference file. I also highly recommend starting a website or blog and focusing it on the type of business you wish to work with. Name it something like “Stadium Focused Networking” and publish articles about the problems faced by these organizations. Be sure to include recommended solutions and links to other publications that address the same challenges. Your goal is to be the first person thought of when a new project in your niche begins. Rather than competing with the masses, you will be the go-to architect for you area of expertise. This makes rate negotiation much easier. Instead of competing for the opportunity, companies will be competing for your time (eventually.. hopefully).

Obviously, this sort of transition can’t be completed overnight. Like anything worthwhile, it will take work. But it is work you likely to do anyway; the goal of this article is to help you focus your work in a way that provides additional value over the long term.

By the way, I don’t recommend focusing on a specific piece of networking equipment or even a vendor. Companies generally look for experts in their field. It is better to define yourself from the business perspective instead of the technical side.

If you do decide to go down this path, I wrote an article once about Books or Blogs. I recommend reading it, as well as Scott Lowe’s well-informed reaction post. Scott’s point is valid; writing a book is quite different than writing a blog. If writing a book is something you wish to do, I recommend defining your professional goals in advance of the effort. Writing a technical book does not lead directly to profits; but writing a book to define yourself as the expert in a field is potentially worthwhile.

Wednesday, August 29, 2018

A Short Summary of Planes

A Short Summary of Planes (the network kind)

When the CCDE program was first developed, Cisco conveniently broke down the included technologies into five categories: Routing, Tunneling, Quality of Service, Security and Management. Cisco also provided an extensive resource list for the first four topics, consisting of RFCs, Cisco Press books and videos. The network management section was noticeably bare. I bought the one Cisco Press book listed in the category, Network Management Fundamentals. I'm sure I picked something up from from the book, but I still felt that there were gaps in my knowledge. One area I was especially unsure of was the difference between the Control/Data/Management planes. The following is my attempt to provide clarify in this area.

Let's start with the Data Plane (also known as the Forwarding Plane; they are both terms for the same concept). The function of the Data Plane is to receive packets and forward them according to a pre-programmed forwarding table. This table is known as the Forwarding Information Base (FIB). The Data Plane does not have intelligence; it is best to think of it as a hard-coded set of forwarding tables. With modern hardware, such as the Nexus 9k platform, these forwarding tables are distributed to the individual line cards. Incoming packets are classified by specific attributes, such as a layer 3 destination address and QoS marking. This information is compared to the FIB, and an outbound interface is chosen. The layer 2 destination address is updated and the packet is forwarded.

How does the Forwarding Plane get programmed? That is the Control Plane's job. The Control Plane is where routers run routing protocols. By exchanging control-plane messages, routers build a Routing Information Base (RIB). This RIB is translated into a Forwarding Information Base (FIB), which is downloaded to the Data Plane. The separation of the Control and Data Planes permits us to forward packets even when the Control Plane is unavailable, such as during an In Service Software Upgrade (ISSU).

Finally, how is the Control Plane built? That is the Management Plane's job. Whether you log into a router via CLI using telnet or SSH, or you push a configuration via SNMP or NETCONF, you are using the Management Plane to program the router. The Management Plane is also used to retrieve information from the device, such as interface statistics or the current running configuration.

I hope this helps clear up any confusion you may have had about these concepts.