Friday, October 3, 2014

Ask For Networking Grunt Work

I have had so many NOCling friends whine to me,"Why can't I move up?  What am I doing wrong?  I interviewed for the junior network engineer position but got passed over and they hired from the outside!  Whine whine whine."  I ask them,"What have you done for the networking team?" The response is usually a blank stare.

As I have said before,"You have to give to get."  You want to become a network engineer?  You have to prove you can be one.  What can you do to help the network engineer team? I can think of numerous ways you can help the network team by doing their grunt work.  You need to become so integral that they bring you on the team, maybe without even interviewing.

Learn how to make cables well and give them as presents to the network team

I have already written a blog post on how to make cables.  Now you need to actually make them.  You want to do a big favor for the network team?  Make them extra crossover cables, T1 loopback plugs, and rollover cables.  I have all three of these in my network bag in case I need them on short notice.  Sometimes my crossover cables get used in the network for a "temporary" fix and I have to make another one.  If I had a NOCling who would just make one and give it to me, I would notice them and let my manager know.

Ask for tedious grunt work nobody on the team wants to do or has time for

Does the network team need a cross-connect made between a switch and a server?  Ask to be one of the people who deploys that cross-connect.  You will be saving people-hours on the network team and in the process learn how to create and test cross-connects.  You will hopefully also learn how to neatly put cables in their place.

Does the network team need spreadsheets updated and changed?  Maybe the spreadsheet is horrific and you can improve it so that it is easier to input data and correlate information.

Does your company have routers and switches in the closet waiting to be (re)deployed?  Do they need someone to actually take the time to upgrade them to the right IOS and have the initial configuration files put in?  Volunteer to do the grunt work.

Do you have ports on a switch that have continual VLAN changes?  Ask to be the person who configures just the VLAN changes on that one switch.  Show them that you can actually touch a production device and can do it well.

How about updating DNS entries?  Ask for read-only privileges to the DNS server, then make change files for the network engineer to then cut and paste into the application.

How about showing you can administrate a network application?  If you have proven yourself otherwise, you should ask to have higher level access to something like Cisco ACS or a RADIUS application.  You can then add and remove people and devices, which can be a very tedious task.

Ask to come in during maintenance window hours to shadow / help the network team

I rarely like doing maintenance windows at 3am at the data center by myself.  If nothing else, I would trade my networking knowledge for a cup of espresso to keep myself awake.  It is always nice to have someone else to look over what I have done, or have someone who can help me troubleshoot cabling when a cross-connect is not working.

Blog has not been updated as much - sorry!

Right after I started this blog we found out that my husband got a new job and we are in the long process of moving.  The moving process has taken up a LOT of my time and this blog has been put on the back burner.  I hope everyone understands and I'm going to try to put up as many blog posts as I can while we move.

Learn How to Make Cables

What types of cables are there?

The most common types of cables are ethernet, fiber, and coaxial cables.  Every network engineer should know how to make ethernet cables.  If you can make fiber cables, you can earn quite a bit of money depending on where you live.  Making coaxial cables is optional but can still be important to create.

Why make ethernet cables?

It is easy enough to buy ethernet cables from Monoprice and run them.  However if you need to run very long patch cables, or "home runs" as they are called, you will need to learn how to make ethernet cables.  You will also need to learn how to make crossover cables and rollover cables in case you are connecting from switch to switch, or consoling into a Cisco networking device.

Why make fiber cables?

It is not required to know how to make fiber jumpers, but it can be a skill that can make you a tidy bit of cash depending on where you live.  On a personal note, when I was deploying a build out in New York City, I was told that fiber technicians can make up to $50/hour. Glassdoor shows some data points for fiber technicians, which goes from $17 an hour to 94k in salary.

It can be easy enough to buy fiber cables, but if you need to run very long patch cables in a data center, you will be buying spools of fiber.

Why make coaxial cables?

Cable companies still use a lot of coaxial in the home plus DS3 circuits connect with coaxial cable.

What other miscellaneous cables could I learn how to make?

DS1 loopback plugs are very useful to have around when troubleshooting circuits.

DS1 crossover cables are also useful when troubleshooting circuits.

66 block is a type of punchdown block used to connect multiple wires into a telephone system.  A 110 punch block replaces a 66 block and it is also used to connect sets of wires in a structured cabling system.

Have any suggestions to what other cables a network engineer should know or be familiar with?  Put it in the comments below!

Recommended Reading  / Videos

How To Make RJ45 Network Patch Cables - Cat 5E and Cat 6  - The person is really annoying, but at least he's crisp and clear in HD.

How to Make a Network Cable - Step by step web page on how to make an ethernet cable.

I honestly have looked on YouTube and Google, and I cannot find a really good easy-to-read / watch instruction manual on how to make fiber (ends.)  I'm debating whether to make a video myself.

How to Install a Coax Cable Connector - This was the best of the bunch.




Thursday, September 18, 2014

It is Important to Network With People to Create Lasting Relationships

Why should I network with people?

You should people network for multiple reasons.

1.  Locating jobs (before they are posted to the Internet.)
2.  Advice you can't find via an Internet search.
3.  Mentorship.
4.  Trading favors.
5.  Helping fellow IT people.

Locating jobs (before they are posted to the Internet)

If you want to find an interesting networking job before it is posted to the Internet, you need to know people in the industry who can tell you about these positions.  If you see a position on a job board, it is always good to know people in that company, or to have contacts who know people in that company.

Advice you can't find via an Internet search

Not everything is Google searchable.  For example, let us say you want advice about using Extreme or Cisco switches in your wiring closets.  Instead of listening to the usual sales pitch from your vendors, you need friends who have these devices in production and can tell you from their experience which product they think is best.

Mentorship

If you are just starting out in the networking field you probably want someone who you can talk to about your hopes, your fears, your career trajectory, the politics in the office, etc.  The more people you know in the industry the greater the chance you will have in finding someone who can help you achieve your goals and help you overcome your hurdles.

Trading favors

You never know when you are going to need a favor. It could be 12am in Chicago and your core router failed to fully reboot on a weekend.   You don't have any remote hands, but you can ask your buddy who lives in Chicago to do you a huge favor by consoling into it.  In return you can send them a gift certificate to the nicest restaurant in the city.

Helping fellow IT people

The old saying is,"You got to give before you get."  If you are friendly and assist people in their troubleshooting, people will return the favor in kind some time in the future.  It also shows other people (e.g., managers) that you are mature enough to become a leader.

Everyone was a newbie at one time.  Making connections can also be about helping a new person in the industry become a better, smarter, more mature network engineer.  You never know if some time down the road they become important in your industry.

Who do you know?

It is a really good question to ask yourself.  Make a list of everyone you know.  Make a subset of that list of people who are in IT.  From that subset make another subset of people you know in the networking industry.

How big or small is your networking industry subset?  If you have a large pool of friends in the networking industry, you probably do not have a difficult time finding jobs, getting advice, and finding mentors.  If you have a small pool of friends in the networking industry, then you need to work on making a few more contacts.

But how do you make more contacts?

Make friends with people in your company

One of the easiest ways to make contacts is to help or train people outside of your networking group.  Many times you will be working/troubleshooting with other IT teams - Unix, telecom, database, applications, and help desk to name a few.  Having a good working relationship with people you work with will help you in the future when you leave the company for greener pastures.

Create lasting connections with customers

Another way of making contacts is to do your absolute best for the customer.  Being good to your customers can mean making a lasting connection with them, long after you have left the company.  The customer may like your how you solve their issues so well that they steal you away from the company you work for!

Group meetings - local, national, or international

One of the best ways is to meet people is to go to local, national, or even international meetings.  If you are a network engineer, you could locally look up a Cisco Users Group (CUG) in your metro area.  If you want to meet network engineer from all over North American, you could go to a North American Network Operators Group (NANOG) conference.  If you wanted to go to an international conference, you could go to RIPE, APNIC, or any other numerous meetings around the world.

Who knows you?

While reaching out and making contacts is great, one of the best ways to make contacts in your industry is to market yourself.  There are numerous ways you can promote yourself as an expert in your field.   You could publishing your writing on the Internet and have Google index you.  You can present at conferences in front of hundreds of people.  You could teach about technology through short YouTube videos.  You could become an instructor and teach classes on Udemy, Skillsfeed, or other online video classrooms.  The possibilities are out there for you to grab.

Recommended reading

Jeffrey Gitomer's Little Black Book of Connections: 6.5 ASSETS for networking your way to RICH relationships by Jeffrey Gitomer

Dig Your Well Before You're Thirsty: The Only Networking Book You'll Ever Need by Harvey Mackay

Wednesday, September 17, 2014

Writing Documentation is Good For You And Your Network Team

There are a number of reasons why you should write documentation for your network.  

You will not remember how things work

You may think you will always remember how your network runs, but as your network scales up, the less you will remember every single part.  If you start documenting everything you have deployed, changed or upgraded, you will not have to remember everything in exact detail.

You will not have new engineers asking as many questions

It saves you time and effort if you have documentation for new engineers to read.  They in turn will usually only ask you questions that are either not in the documentation, or they will ask questions for clarification purposes.  These types of questions are great because it creates a better repository of documentation.

It is 3am, their is an outage in the network, and you are sound asleep!

Being sound asleep is a great thing.  Being asleep means you have written the network documentation so well that the on-call engineer does not need to call you.  The on-call engineer also will not have to waste time trying to understand the part of the network that is having the outage because they have read the documentation.

Your management will think highly of you

Managers enjoy documentation because it helps them understand what you have done, especially with project-based work.  Management loves it when outages are resolved quickly because the documentation explained everything. You can then use your documentation as proof you have done a good job when you have your yearly review for a pay raise.

Recommended reading


Handbook of Technical Writing by Gerald J. Alred et al. 

Monday, September 15, 2014

Learn the C / C++ Programming Languages

You may think to yourself,"Why C/C++ as a programming language?  There are so many other languages that are hot/cool/interesting, like Ruby or Python.  These languages are better tailored for my needs."  These are good reasons, but you still should learn C.

Compiling open source applications from source

Not every open source application has a binary package.  Quite a number of them still need compiling from source to work correctly.

Porting an application from BSD or Linux to _____

Unix is not just BSD or Linux, there are multiple other flavors:  OS X, Solaris,  AIX, and HP-UX to name a few.  If you are tasked with deploying network applications on these different Unix flavors, you will be using your C programming skills to port these applications from the source code.

Open source network operating systems

Quagga, Bird, Vyatta, XORP are open source network operating systems used by multiple companies.  These programs are in C/C++.  If you need to troubleshoot these applications, you are going to need to know C.  For example, you understand that a certain type of packet crashes your router.  By reading through the source code you discover the bug has to do with a heap allocator.

Software Defined Networks (SDN)

If SDN become a major part of networking, network engineers in the near future will have to know a programming language.   This person will need to have in-depth and wide knowledge of network engineering as well as knowing a C-like language to program the SDN controllers and related components.

Shout-outs

Thanks to Reddit's /r/networking users, ArghCisco and Snowbirdie, for indirectly helping me with this blog post.

Recommended Reading

The C Programming Language, 2nd Edition by Brian W. Kernighan et al.

C: How to Program, 7th Edition  by Paul Deitel et al.

Thursday, September 11, 2014

Scripting: A Great Tool on Your Networking Belt

As I wrote in the blog post, Learn Unix and Stand Out From The Rest, the biggest reason you write scripts is to automate tedious tasks. But what scripting languages should you learn?

Unix scripting languages

Graybeards are going to grumble at me for my opinion!  For learning Unix scripting I recommend whatever shell dialect you feel best suites you.   If that means you become an expert in bash instead of sh or tcsh, more power to you.  :-)  

Two other languages you should learn are sed and awk.  These two text processing programs are very popular in the Unix world.  Sed is for editing streams of text and is commonly used for substitution programs, replacing one block of text for another.  Awk is also a text processing program, but it can do other things that sed cannot, including automatically opening and closing files, reading records, and breaking records up into fields.

Windows scripting languages

For Windows, the latest technology is PowerShell.  I will admit I have never used PowerShell, but I have read many posts by Windows systems engineers and it has been a huge benefit to them.  If you are already comfortable writing in .NET then PowerShell is very easy to learn.

Other scripting languages

The other two most popular scripting languages for network engineers are Perl and Python. Both of these languages work on Unix and Windows.  Unlike plain shell scripting (in Unix), Perl and Python allow you to do other things that plain shell scripting cannot, like writing scripts to contact devices on your network.

Regular expressions

While learning any scripting language is important, you also need to understand how regular expressions (abbreviated regex or regexp) work.  Regular expressions are a sequence of characters that create a search pattern.  These search patterns are mainly used for pattern matching with strings, e.g.,"find and replace" operations.   You will use pattern matching for BGP AS-Path access lists.

Recommended reading

Books:

Learning the bash Shell: Unix Shell Programming by Cameron Newham

Mastering Regular Expressions by Jeffrey E. F. Friedl

sed & awk by Arnold Robbins

Web sites:

Cisco: Regular Expressions by Cisco.com

Linux Shell Scripting Tutorial (LSST) v2.0 by Vivek Gite

Sh - the Bourne Shell by Bruce Barnett