Being Good at IT Stuff

I’ve been meaning to write a brief entry about careers in IT.  After reading Ethan’s  CCIE vs  Experience and First Job articles, and remembering Tony’s Dare to be Stupid article, I thought I’d rudely insert myself into the conversation.  This is more of a rant than anything, so I may meander a bit…

I never finished my degree.  I wish I had, but not in IT.  Now that I’m older and looking backwards on the things I could have done differently, I would have finished a degree in anything but IT.  I’ll tell you why:  Even in IT, an IT degree is useless.  Unless you are graduating from MIT, or Stanford, or some other school of similar stature then get a degree in anything but IT.  Get a degree in business or education or some other engineering discipline… anything.

The very best folks in IT don’t strictly need certifications or degrees because, as a matter of fact, the curriculum for these things in most cases is never really current and doesn’t really teach you all the things you need to know to succeed.  Certifications are slightly more useful than degrees I think, they can help you get started.  Ethan covered some of this in his article though, so I won’t harp on it.  Where I will diverge from Ethan is that there is one other thing besides experience you really need to have to be successful in IT:  You need to “get it.”  Specifically, I mean you should be fairly auto-didactic.  You should be able to “figure it out” when you need to.

Look, the people that set themselves apart are driven to succeed in this field.  They think about it constantly.  They can’t *not* think about it.  Some love it.  However, they don’t all love it and sometimes they even wish they could walk away from it and never think about it again.  They tell themselves that this year they won’t work ridiculous hours as much or they won’t come home and listen to some silly website’s podcasts or read blogs or blow another $50 or $100 on some O’Reilly, CiscoPress, or Wiley book.  But they do anyways.  Knowledge and understanding mean more points of analysis.  Ultimately, there is supreme joy when balance is reached in the ant farm.  There is a sort of unattainable Nirvana that we grasp for where the Rube Goldberg contraption is perfectly balanced at every point.  When this kind of person gets a glimpse of that, it feels good.  And it keeps that fire burning.

You may not be driven that completely hard, but if I’m interviewing you, I’m not going to ask you about whats on your resume.  I’m going to see what you will do after you get hired to be a route/switch implementation engineer when someone asks you to work on a SQL database for the monitoring system.  Or if they ask you to try and stitch some open source tools together with Perl so you have some semblance of NetFlow collection in your network.  What will you do when path-redirection fails between a Callmanager and an Avaya PBX?  I don’t care if you’ve never troubleshot a VoIP problem before, you are being asked to now.  Sorry you didn’t get $10k in training for it… use the internet.  Figure it out.

Some people would say thats just not fair, but your answer to this will determine if you get to (a) grind through low-level projects and issues or if you get to (b) work multi-vendor, multi-discipline projects and issues that speak to the overall design and architecture of the network.

Degrees and Certs can round out the picture.  Unfortunately, I’ve sat through interviews with other “IE” level certified folks that just didn’t “get it.”  The passion wasn’t there.  I’ve had to work with folks that when asked to do something not in their job description would say stuff like “Not my job.”  Its not pleasant.  Sometimes it really isn’t your job or a good use of your time, but sometimes noone else is going to do it or even *can* do it.  If you really love technology, if you “get it” than you should be excited by these kind of challenges.

This is where Tony’s article really is a good one.  Read it.  Dare to be stupid.   If you get that “IE” the most important thing you should have learned is that you really aren’t an expert in anything.  You should have realized that networking, let alone IT as a whole, is vast and its just not possible to know it all.

If you have the passion, if you like the challenges, than for the love of all that is holy… don’t get a degree in IT.  You will teach yourself infinitely more that is infinitely more relevant soon enough.  Besides you never know when that business degree will come in handy.

So where to start though?  How do you get that snowball at the top of the hill on the ground and rolling?  Wherever you are at, find something and become the “go-to” person for it.  ANYTHING.  There is always something, even if its not strictly related to what you were hired to do, that is neglected in the network.  Maybe its DNS.  NMS.  Maybe its the SNA stuff that is never going away.   It could be a database, a collection of scripts… who knows.   Find these thing(s) and learn them.  Think about ways to do it better.  Document it.  Own it.   Learn how it relates to the business and the rest of the environment.

Second, you need to learn how to become an “expert” (realizing that you never really are) in anything as quickly as possible using the internet, books (Safari is great when you only need the two paragraphs from that 900 page $90 book), and whatever resources you have available to you.  Learn how to read standards.  Learn how to look at packet captures from multiple points in the network so you can see what those standards look like in action.  Teach yourself the basics of programming and a scripting language or two.  You may never use the ones you pick initially, but once you get the hang of it then learning other languages as required won’t take as long.   Learning how to learn…  learning how to think takes time.  And humility.

Develop a “spidey-sense” for when things aren’t right.  This will take time, but you’ll get there.  Some people I’ve met… I swear they are witches.  How they can intuit stuff borders on ESP.  You should be driving towards that.  You know what helps *tremendously* here?  Learn other vendors.  You know what I’m talking about.  It doesn’t matter what your SE or that distinguished engineer tells you… it *does* help to know about other vendors.  Especially if you are driven to understand technology.  You will start asking all kinds of new questions when you go down this path…

Eventually as you progress in your career, your experience and your resume will start to speak for itself.  When you speak, people will hear that you are the type of person that can assess a situation and can intuit technology.  When I start asking you off-the-wall questions that have nothing to do with OSPF (I don’t care if its your favorite protocol, nobody aside from Russ White or Jeff Doyle really knows all the bits and fields in every packet type), you’ll be able to speak to how you would tackle that kind of problem and where your entry points are for gaining an understanding of it.

Its this kind of drive that shows me that when something weird in the network does break (you know.. the thing you did get hired to keep passing packets) you are more likely to understand the problem with the resources available to you and fix it.


You won’t be escalating with Cisco’s TAC for months trying to get multicast to work again… hopefully.


  1. Anonymous says

    You’ve summed up brilliantly the difference between real IT people and users and where never the twain shall meet.

  2. says

    Welll, most of this post makes sense. The really great people will excel no matter if they go for a degree or not. There are brilliant people that barely finished school and there are also brilliant people with degrees and certifications. It’s not black or white.

    Somebody attaining a CCIE or JNCIE or a degree for that matter show that they can gather information and apply it. This is the most important skill for someone working in IT. That does not guarantee they are better than a guy without the certs but it shows ambition.

    It never hurts to know a bit of programming but to be honest if you really want to be the best at something then you can’t divert into too many areas. I’d rather be an expert in routing and switching and designing networks than hacking scripts.

    Yes, it is important to have a good view of other stuff like DNS and DHCP and those protocols that definately involve us network guys. If you work with load balancers you need to understand HTTP etc.

    It all depends on your job title though, are you supposed to be a jack of all trades or are you supposed to be an expert in one or few areas.

    I think it’s good that people write about IT careers since many on the outside are whondering. My advice is to not follow these blindly. Go your own way, find your path. If you have the ambition you will get there, no one path is the other alike.

    For me getting a degree and certifications has been very successful. In just 4 years I have moved to a network consultant/architect position. That does not guarantee that others will do so. Find your own path, be it with degrees or not.

  3. says

    I gain two things from this post. The first is based around the ever ongoing discussion on whether to generalise or specialise in IT and finally somebody has come out and said what I’ve always believed i.e. do both.

    Specialising allows you to be an expert in a particular area, whether its’s security, VOIP, R&S or basket weaving. It brings in the moolah and makes you the go to guy for that particular area.

    Generalising makes you useful for a different reason. It means you can be given more scope in projects as you can complete more tasks without relying on others. It makes you more marketable than your specialism alone would give you (we don’t require any basket weavers in the current climate). Your ability to troubleshoot will be far above mere mortals.

    I’ve recently moved from a long term career as a Microsoft engineer to networking with a heavy bias on Cisco. I hope to specialise in this field but at this stage am unsure in what area so am building a solid foundation in R&S, which I think all network engineers should have anyway. Perhaps I’ll stick with R&S and delve as deep as I can or maybe I’ll head down the security route.

    Regardless, my previous roles have given me a great coverage in a large number of technologies which will always come in useful.

    The second thing I took from this post is that I learned what auto-didactic means. I was previously unaware of this term, but my appetite to learn something new led me to Google it….oh the irony! 😉

  4. Joe C says

    Great article! I myself have a degree, which was/is useless in Comp Sci, but I also moved through the cert tracks, firstly with CCNA then CCNP, CCIP to CCIE SP. However, I did the cert to prove my knowledge, maybe fine tune it a bit too, instead of doing a cert to learn! This way they were like an achievement license, like you would get on XBox and PS! I believe wholly on being multi-vendor and multi-tech and a “can do” attitude, most importantly!!

  5. Minimal says

    Regarding “Not my job”.  In the real world this is actually a valid response and I wouldn’t look down on anyone for saying so.  It is one of the fastest way to get nothing done.  I used to be that guy, would help anyone with any issue and tackle things that had nothing to do with my job description.  People will love you, and who wouldn’t, you keep solving other peoples problems, but you’re actually hurting your own career.  I see others doing this in my new job and these guys are usually always behind in their projects because they don’t know how to say “no”.  I’m interested in a lot of different area’s of technology, and I pursue most of them on my own time but when it come to my job I don’t want to fall into the “jack of all trades master of none” mentality.

    • Mike Kantowski says

      I think you missed the essence on this part of the post.  It’s not helping everyone else do their job… It’s taking the initiative to fix/improve/document/own something that needs some love.  Use political skills so you aren’t perceived to be stepping on toes, of course.

      There is always something that isn’t up to snuff.  People that ID it and fix it stand out over people that ignore it and hope they aren’t asked to do it.

  6. Mick says

    Perhaps I’m the exception, having taken my degree over 25 years ago, but I still use some of the fundementals I learnt when taking my degree. The problem I have found is that far too many people have their knowledge defined by certification and the arcane practices of the places they have worked. Lacking the fundemental knowledge of why a particular decision is made they propagate populist policies without understanding which leads to poo IT solutions.

  7. says

    What you have ignored here is that IT is not limited to the tasks that are carried out by a network engineer. For those planning to be a lead software dev or one of the R&D guys at Cisco/Juniper a degree comes in pretty handy.

  8. Asd says

    Walk into your job, ask yourself “Would X Skill save me/my team Y Time”.  If X<Y by at least 1 magnitude, do it.

    I taught myself Batch scripting 2 years ago; never stopped using it; now it's a daily skill I use and I've been, slowly, learning VBS, Powershell, and learning about Windows API's.  That knowledge then speeds up the troubleshooting process and enables me to do more with the time I have.   

    I've saved people massive amounts of time with these scripts, mostly myself.  We've got to do PC Refresh at work; I run one script that took 4hrs to build that pulls the data off the users machine and onto the new box as they're using it, I used a 2nd script that took 10hrs to build to tell me all their environmental data.  I get their logon, copy their data into their account, go to their desk, and in 30 minutes I have it setup exactly the way they like it. 

    I could work on 20units at a time this way and get major amounts of deploying done, if that was my job.  Instead that 14hr investment has paid me back 40hrs at least.  Previous job I built a ghost image and chain-loader; same thing.  Saved at least 2hrs of point and click per machine; built out at least 100 of the suckers.  Took me maybe 24hrs to build plus another 12 to learn batch.

    Next job where they say "use the win7 image build process" I'm going to show them that chainload, add 15 or so lines of code to turn off UAC/run everything under an temporary admin account, and they will go @p3Sh!t over it as the complimentary scripts for psexec to deploy msi files to remote systems plug into that chainloader so both get updated with the same modules at the same time.

     Expect at a job interview, the question "Name a time you had to learn something and how much timemoney did you save by doing it?". 

  9. Dave says

    I put it another way. I know just enough to be dangerous at most IT disciplines. Learning new technologies is challenging and rewarding. It does not compare to what I consider the most difficult part of IT. The human element. Most of my difficulties are “layer 8” problems.

  10. Michael says

    Have never seen the point of the if then else deal of IT, as in you’re either this or that else a jack of all trades master of none. I am a master of what requires mastering. For example a master SQL install will help no more than an adequate SQL install for your network monitoring. And becoming adequate in installing and configuring SQL will not hinder your ability to memorize the DSCP values, but it will do wonders for your access control, and monitoring capabilities. Scripting is really helpful in automating repetitive tasks, that’s really the goal of scripting. So who really cares if your script isn’t a master’s work, as long as it works and it’s documented? Great article, very helpful!

Leave a Reply

Your email address will not be published. Required fields are marked *