Should Software Engineers Seek CCNA's?
kernel2 asks: "I'm in the software engineering profession and some of my friends are about to enroll on a CCNA (Cisco Certified Network Administrator) course and are egging me on to join as well. I'm trying to decide whether I should do the course or not. On the one hand it might help me understand networking (especially in bigger corps) better and that is something I love (networking). It might also help me diversify and improve my chances of landing a job in these strained and difficult times (and that's primarily why my friends are doing it). But wouldn't it look odd on my CV? I mean why would someone highly interested in software (with a Software Engineering degree) do CCNA?"
Think of it as an opportunity to better understand the platform your applications will be operating on. Understanding the network infrastructure would probably help you when building applications that require High Availability or exotic network requirements.
Not every programmer has a myopic world view, and I think that the ones who can think broadly are the ones who succeed most often. Take a look at Larry Wall's background for an idea of what a diverse background can produce.
Why can't I moderate something "Wrong" or at least "Grossly Misinformed"?
Cisco Certified people get the top dollars in the industry. Their top-notch certification (CCNP, I believe, for Network Professional, but I might be wrong) easily fetches $80K+ around the United States and $100K+ in big cities. That's not pocket change.
Cisco Certified people, assuming you're through with the certification and actually get it (dropout rate is quite high, lots of hard-working hours must be invested), you're sitting on the money bag.
For example, in Ukraine a Cisco certified expert gets a paycheck of $25K yearly. That's Ukraine, where the average salary is $200 and anyone in software development is expected to make $500-700 max. The catch? Only 13 Cisco-certified experts (their top certificate) for entire freaking country of 50 mil. people.
If you have a chance to get free education, go for it.
The CCNA certification covers a rather broad, albeit not very deep (IMHO) range of networking concepts and technologies, protocols, etc., as I'm sure you've read in the course descriptions. I don't have any of the CC* certifications myself, but I have been working in networking since about 1998, and I worked at Cisco for about 3.5 years.
:)
I think you should go ahead and take the course. Let me give you a couple reasons why.
1. If you're not knowledgable about networking, you should be. Networking and the Internet in general, as we all now, are increasingly critical technologies for software engineers in almost all businesses. You should have at least a high-level understanding about how and why they work; the more you know, the better you will be.
2. At Cisco, CCNA's weren't really considered very useful... you were expected to know or learn whetever you needed to know for your job, certification or not. However, many companies encourage or require that their network administrators and other IT folks get CCNA's, which indicates to me that they place some value in the skill-set implied by having such a certification. Personally, if I'm the hiring manager and I care about your networking knowledge, I'm going to quiz you on networking anyway, and not trust that the CCNA means anything in particular.
Having a CCNA can't possibly hurt you. Even if your work isn't related to networking, it shows that you have a diversity of skills and interests, and that you have sensitivity to issues outside of your core skill set. It also means that I might be able to use you on networking-related projects, which increases your value to me as an employee.
3. Hell, you may find, as I did, that networking is really fun stuff and that you'd like to persue it further. No loss there either!
Let me close by saying that passing the CCNA test only means that you knew a certain set of material on a particular day. It doesn't make you a networking expert. If you don't use those skills, you'll lose them, just like anything else. Keep reading about new technologies, and, if you can, fiddle with networks from time to time. Keep up your intuition and troubleshooting skills. Knowing how to debug network problems comes in handy at the strangest times
On a whim, I took a COBOL class in college (1989). I learned one critical fact during that class - that I *never* wanted to do COBOL programming again.
It never showed up on my resume, and very few people know about it.
However, I passed up on some $20k/year salary increases by *not* listing it on my resume during the late 1990s. It was a conscious choice - and one that I was glad to be able to make.
By adding networking to your skill set, you could become the IT person at a small company. Imagine being the fifteenth guy to work for Microsoft, for example. Big bucks.
More opportunities (if you like doing that work still, once the class is over), or knowledge that you want to avoid the field like it was the plague. Hmmm. . .
Chivalry is not dead, it's just frequently misspelt. - M. Langley
In the past few weeks, I have tried to get my CCNA twice. I have experience one major problem, though. The curriculum that I took a course on is not properly aligned to the test. So, when I took the test, I was not adequately prepared for it. I took the version 2.2(I think) curriculum, and most of the stuff on there is on the test, with a few huge exceptions. One thing to watch out for: zero-subnet. I had no idea what this was, and it seems like the new (v3.0) curriculum doesn't fix this. It has a short section on it, but it fails to say if it only affects the first and last subnet, or just the first one, and their glossary fails to cover this subject. ** sigh **. So, let's describe to you my misery. The CCNA is scored out of 1000 points, with a 849 to pass (or a little below 85%). So, I went in to take the test, and somehow managed to get a score of 847. I don't know how I did it, and it seemed astronomical. Then, two weeks later, I went in to take the test again. The computer that I used was much faster, and I was sure that I fixed some of my problems, and found out (I think) what zero-subnet is. So, when it came time to reveal my score, I stared in horrible mortification: I got the same exact score.
... and then I think that somebody is trying to tell me something.
Yeaaah.
I have until early-to-mid December to pass the test before it changes for the new curriculum, but I am afraid to take it again because I might get the same score
That's my story -- has anybody else had any similar experiences?
- - - - - - -
Orppf urp mf y.ppcxn. yflcbi otcnnov C am yflcbi yr n.apb Ekrpatv (Dvorak -> Qwerty)
CCNA stands for Cisco Certified Network Associate not Administrator. There's a big difference.
I'm a mish-mash person. I know a fair amount about networking, a fair amount about operating systems, and a good deal about programming. Getting a certification in another displine related to your main discipline can't hurt. Never will.
Do you have any idea how many programmers don't know jack about the network that they program on? It's absurd really -- but they can STIll do a good job! I have seen damn good rock solid programmers (well -- good enough for the job at hand) that didn't know you could open an FTP client to an address that started with "www.".
Some don't know that latency is a problem when doing network programming. The idea of removing client/server communication chatter is just plain odd to them. It doesn't cost CPU, in fact it's sometimes faster, so why would you NOT want to chatter back and forth?
And these people can be darned good programmers in corporate environments. They sometimes need guidance though.
Get the CCNA, it shows that you kinda like networking. If you're going for a software engineering job lay it on there down at the bottom of your pile of other tech skills. If it comes up just play it off at interview time, "Yep.. I got that. I've fiddled with networks so much in the past that I figured I should just get it. It was a breeze and I already knew it anyway. It's not my primary focus, but I realized long ago it's something I should have knowledge of so I got the certification for the heck of it."
If they want to you to take up a networking job that you don't want you can play that off too. "Yeah, I have a CCNA and I dig networking and such, but I consider myself more valuable as a programmer. It's my main discpline and I work far harder on that than I do networking." Well, shit, if you got a CCNA on a whim you must be a good programmer!
Walking in there with a resume that will "rock their knob" in every discipline can't hurt. Toss shit in that doesn't apply but make sure it's not considered your main discipline, unless you want them to. "Yeah, I've worked on projects that emphasised parallel processing batch systems to get the most out of our hardware but what I really dig is high-repsonse clustered environments that scale up horizontally. They're much more fun for me and I feel far more comfrotable working with them." Shit like that -- but it has to be true. Flip it around the other way if you have to take a 2nd interview.
Every interview I walked into wanting that job I got. I've had some where I was less enthusiatic about the position that I didn't get and I walked away knowing I didn't want the job. If I wanted it, I got it. Know your shit, be honest, and don't be afraid to talk down some of your skills that aren't important to the job. If they think it's impressive that you have X cert when the job really requires cert Y just talk down cert X. It's a toy thing to you. What you really dig is discipline Y.... and that's where you rock.
If they have "router monkeys" at the place without at a CCNA and you play that down because you're a far better programmer than a network guy you just plain look better. You don't have to be king shit at everything, but if you have enough in your bag to impress them in one area you give yourself the power to talk yourself up in another area while maintaining that "I'm a better coder than networking guy" air.