Monday, August 3, 2015

Don't fear the command line...

Many of us grew up on Windows.  It's not like we chose Windows, it's just what was there.  While I really don't care much for Windows anymore, I will admit that there are some convenient features in the operating system.  I can't think of any...but I'm sure there's one or two...

Anyway, Windows has turned us all into GUI-babies.  Everything we use has some sort of interface where we just point and click on options.  We don't really have to tell the program what to do, we just choose from some canned, square-shaped choices.  It's easy, and easy is good.  After all, computers aren't supposed to make our lives more complicated, they're supposed to make them easier.

The first time I really had to work with the command line was when I was taking a C++ class.  Most of my coding, compiling, debugging, etc. was done through a putty interface, connected to a remote linux host.  I cut my teeth on very basic commands, like moving through directories, creating folders and files, and changing permissions so I could just get something to run!

Over time I picked up a few more skills, and started forcing myself to use VIM instead of GUI-based text editors.  VIM stands for VI improved.  I don't know what VI means.  Eventually I was able to navigate proficiently through linux operating systems, creating and modifying files with ease.  I thought I was becoming a proficient linux user.  Ha...

Then I started working here.  I was introduced to things like 'grep', 'awk' and 'cat'.  I learned how to parse through documents using only the command line.  I learned out to launch and use applications without a GUI, like nmap.  I started writing code and configuring servers all inside the terminal window.  Even after all of this, I still feel like a newborn when using a linux machine.

That's not to say I'm not confident in my abilities to use linux or the command-line, but I've come to realize that there is just so much to learn!  The key is not to be intimidated.  There are still times when I spend way longer than I should trying to figure something out, which is fine.  That's how you learn.

As frustrating as it can be sometimes, I've gotten to the point where I think I'd rather use the terminal window than some fancy GUI, and that might sound silly, but I like it this way.

CBT Nuggets

A common first step for most new jobs is some kind of a training plan.  While employers will obviously expect you to show up with a baseline foundation of knowledge, they can't expect you to know everything on the first day.

I'm pretty fortunate in that the folks I work for have gone above and beyond to develop an onboarding program, and to insist that I not be overloaded with responsibilities before I'm given the opportunity to learn some of the basics of our trade.

The training program includes a series of lab exercises, all of which to be conducted against a fully-functioning lab network comprised of physical and virtual machines.  The exercises are designed to help me develop skills that will be directly applicable to the consulting work we do.  For example, one of the lab exercises covers nmap, a popular (if not the most popular) network discovery scanning tool.  The lab goes over basic commands, arguments/options, output formats, and how to analyze the results with command line parsing tools.

While these exercises will help me perform assessments, they've also purchased a subscription for me for the computer-based training website, 'CBT Nuggets'.  CBT nuggets has a plethora of extremely useful courses.  So far I've taken courses on basic networking, to include IPv4 subnetting, DNS basics and configuration, and network topology.

The instructors for CBT Nuggets are very enthusiastic and knowledgeable.  I can't say that I have ever been a fan of computer-based training, and I still have a little trouble after lunch (Zzzz...Zzzz), but CBT Nuggets is about as entertaining as it gets (comparitively speaking).  Not only that, but learning via CBT nuggets is very self-paced.  If I have 8 hours to allocate to training, I can go through as much content as I want in that time.  If I feel like I have a handle on something then I can move on, or if I feel like I need more time then I can just rewind.  You can even speed up and slow down the videos!  I find that I'm able to watch most of the videos at 1.6x the normal speed and still process the information.

I'm not entirely sure how much we're spending for the CBT Nuggets subscription, but I can attest that it's well worth the money.  Anyone struggling with any area of IT, and has a desire to learn and get better, should definitely check out CBT Nuggets.

https://www.cbtnuggets.com/