Should you go for Cisco or Juniper?

Cisco and Juniper are the #1 and #2 networking hardware and certification vendors respectively. When embarking down a networking career, you are bound to find yourself at a crossroads as to whether you should pursue training in Cisco or Juniper.

In my networking career, I have worked in both completely Cisco based networks and completely Juniper based networks. I also have obtained multiple certifications from both Cisco and Juniper. And through my experience with both vendors, in this article I’m going to shed some light on the age old question Cisco or Juniper?” so you can have a better idea which path to choose.

Should you go for Cisco or Juniper? Juniper Network Engineers are paid on average 24% more than Cisco Network Engineers ($63K vs $78K) .  While at any given time there are more than 9,000 more job postings for Cisco Engineers than Juniper Engineers across the United States.

Most aspiring Network Engineers choose the Cisco path due to its notoriety of certifications such as the CCNA,  or due to the vast amount of available networking jobs requiring Cisco training and experience. But there is actually a lot more that should go into the decision making process when choosing a networking path, that many people do not know, or do not consider.

Choosing Cisco or Juniper

There are a ton of available Cisco jobs out there compared to Juniper. All over the United States, at any given time you can expect to see 20 or even 30 times more Cisco jobs than Juniper. In addition, the Cisco track means obtaining your CCNA! The Gold Standard in networking certifications.

On the other side of the coin, Juniper is still a BIG player in the networking space. In fact it’s the second largest player in the core routing space with up to 28% market share for core routers compared to Cisco’s 49% share. A far second, but still second nonetheless.

In addition, the Juniper networking path comes with its own certification track which includes the JNCIA certification which is the Juniper equivalent of Cisco’s CCNA.

So why would anyone ever choose the Juniper path when Cisco seems like the clear choice?

SALARY

  • Well for one, Salary… “Niche skills equal’s dollar bills!”In the United States, Juniper Network Engineers are paid an average of $78K per year compared to Cisco Network Engineers at $63K per year according to SimplyHired.Why is this?The pool of available qualified Juniper Engineers is a lot smaller than Cisco. When a company needs the skillset of a Juniper Engineer, they will need to pay a premium for that skill.

COMPETITION

  • Another reason you may choose the Juniper track is because there is less competition.Cisco engineers are a dime-a-dozen nowadays.Yes, there are a lot of Cisco jobs out there because most companies use Cisco hardware. This also means the competition for these jobs is more fierce because there are more applicants that have Cisco certifications and experience.Nowadays, just obtaining your CCNA certification is not enough to fill a Network Admin role when your competition has higher level certs like CCNP, a college degree AND prior Cisco working experience.If you are trying to move up from help desk or move directly into Networking role without experience, then you may find it easier in the Juniper track, due to there being less competition… But keep in mind, there are also less available jobs.

Internet Service Providers

  • Many Internet Service Providers (ISP’s), companies like AT&T, Verizon, Verizon and many others, have national backbone networks that are built on Juniper network equipment.Why Juniper? Because Juniper is designed for SPEED.From the start, Juniper built their routers with dedicated hardware that is made-to-order for high performance routing, which gave them the competitive edge to be able to handle all the traffic of Internet Service Providers.Because so many ISPs utilize Juniper equipment, if you are interested in working on the Service Provider side of networking then it may be beneficial to train in Juniper.

Certifications

Both Cisco and Juniper offer their own certification tracks. They begin at the Associate level and go all the way up to the Expert level in various disciplines of networking.

For Cisco you will often see:

CCNA (Cisco Certified Network Associate) -> CCNP (Cisco Certified Network Professional) -> CCIE (Cisco Certified Internetwork Expert)

For Juniper you will often see:

JNCIA (Juniper Networks Certified Internet Associate) -> JNCIP (Juniper Networks Certified Internet Professional) -> JNCIE (Juniper Networks Certified Internet Expert)

The most commonly held certification for both tracks and the first certification that most people obtain in each track is the Associate level Routing and Switching Certification. CCNA for Cisco and JNCIA for Juniper.

CCNA

The Cisco CCNA certification, while it is the first level cert in the Cisco track, it is still a very prestigious certification. So much so that many Network Engineers stop their certification training once they have obtained this cert.

And while there are no required prerequisites to take this exam, it is by no means an easy exam. The exam itself covers a vast amount topics ranging from networking principles, troubleshooting, subnetting, switching and routing all the way to routing protocols and IPv6.

As it stands right now, you can obtain your CCNA in either a one part or two part exam. In both ways you will still obtain your CCNA, but many choose the two part exam because it breaks up the material.

JNCIA

The JNCIA is the Juniper equivalent to Cisco’s CCNA. It is also a very prestigious certification for an Associate level exam.

Similar to the CCNA, there are also no prerequisites required to take this exam. And unlike the CCNA, the JNCIA exam is a one part exam, not two.

The JNCIA covers many of the same topics as CCNA such as Networking principles, troubleshooting, and subnetting… But since both exams are Vendor specific, they each cover the specificities associated with the respective vendor like the commands, hardware, and other nuances.

Which Exam is more difficult?

CCNA

The CCNA is more difficult, hands down. The amount of information and the depth in which you need to know this information is significantly greater.

The two-exam path makes obtaining your CCNA a little easier, but still it is rather difficult to retain all the necessary information needed for the exam no matter if it’s broken up into two parts or just one.

The CCNA exam consists of around 60 multiple choice questions in which you have 90 minutes to complete. A portion of the multiple-choice questions are simulations where you will actually need to troubleshoot a scenario on virtualized equipment in a virtualized network… and answer questions about the scenario.

The thing that makes Cisco exams so difficult is the way they word their questions very specifically to try and throw you off. Rather than identifying the correct answer, you are often trying to identify which answer is MORE correct.

JNCIA

Though, the JNCIA is no cake walk either.

There is only a one-exam option for the JNCIA, which can make it seem more difficult because you don’t have the option to spread out the information over two exams, but there is less information as a whole on the JNCIA which makes it easier.

There are also no simulations on the JNCIA exam. There are just 60 multiple choice questions on all the information shown in the exam objectives which you have 90 minutes to complete.

Unlike CCNA, the JNCIA does not touch Routing protocols such as BGP, OSPF, and RIP. Instead the JNCIA focuses on Routing Policy and Firewall Filters as it relates to Juniper equipment. And in my opinion this makes the exam difficult.

Without going into detail explaining what these are, I will say that it covers things such as Import and Export policies, policy match criteria, firewall filter concepts, and Unicast reverse-path-forwarding (RPF).

And while these are important concepts to learn, as a network engineer who has used both Juniper and Cisco extensively, I can say that learning and understanding routing protocols is far more valuable. Yet only Cisco decided to include routing protocols in their Associate level Certification exam.

The other thing that makes JNCIA exams difficult, is there are less resources for studying than Cisco CCNA.  There are still plenty out there, but because more people go for CCNA, there are more resources for the CCNA.

When I studied for my JNCIA, I used CBT Nuggets course only, as well as practice exams found online and my own home lab that I built…. So it can be done with few resources.

Which is better to use, Cisco or Juniper?

This is an odd question, but one I think needs to be answered. Because while both these vendors are the #1 and #2 Network hardware vendors out there, there are little nuances to using each… in fact one nuance in particular that can make the life of a Network Engineer who manages the equipment a lot easier or harder, and nearly NO ONE takes this into account. So before you choose which path you go down, first read the below.

Every network engineer has had that big “Oh crap!” moment… Where they were making a change, usually in an attempt to fix a problem, while in the process broke something else even bigger!

How you recover from these mistakes makes all the difference, and having built-in… I’ll call it “mistake correctors” is a great feature to have in networking equipment.

Now both vendors do have ways to recover from a bad or misconfiguration, but one of these vendor’s built-in method FAR exceeds the other.

CISCO

Cisco uses running-config and startup-config as a method for recovery from a mistake. How it works is, if you are making changes on a network devices, after every command you type, once you hit enter that command is committed to the running config and immediately being used by the network devices whether the device is in production or not.

If you make a mistake in your configuration, you will know right away when something stops working. You could try and reverse the changes you made manually OR what you can do is reboot the device.

After all your changes, if you do not type the command “copy running-config startup-config” or “wr” then after a reboot of the devices, all the changes you made will be gone. And this is by design as a failsafe in case of a mistake.

In Cisco IOS, the “running config” is the active configuration that the network device is using. When you make changes to the device you are by default making them to the running-config. When the device boots up, it always will load the “start-up config”. The start-up config is ONLY the same as the running config when you MANUALLY tell the network device to Copy the running config to the start-up config. If you do not, if you reboot the device… any changes you made since the last time you copied the running config to the startup config will be gone.

Now this sounds like a good solution, but in reality it is sometimes not practical.

Imagine you are working remotely from the comfort of your own home like Network Engineers often do.. And you are logged into a router that is in production in the middle of the day trying to resolve a minor issue….

You are making your changes, and all of a sudden you lose connection to the router… One of the changes you made inadvertently made you lose your remote connectivity to the device. If you cannot connect to the device, than you can’t resolve the issue…

So what do you do?

You have a couple options…

  1. You can drive into the office, console into the router (this means physically connect to the device with a cable from your laptop to the router) and reverse the change that made you lose connectivity, and then work on resolving the initial issue.
  2. Call someone at the office to reboot the router so that the changes you made revert back to how they were before you lost connectivity.

Option 1 will work, but it will require a lot of time to drive into the office, and console in. It’s also not very efficient and defeats the purpose of working remotely.

Option 2 is not great either, because even though it sounds like an easy fix… You would need to have someone in the office who is knowledgeable and trustworthy enough to be able to reboot the correct device… Your average Joe from accounting who has never been in the Data Center is probably not the guy you want to trust to reboot network equipment.

On that same note… how feasible is it to reboot a production router during the day? Sure it may revert the changes so you can resolve that problem… But while it’s rebooting, EVERYTHING that uses that router will be DOWN. Therefore, rebooting the device is rarely a viable solution.

JUNIPER

Juniper has a better solution built into their JUNOS.

Unlike Cisco IOS where when you hit enter after every command, and the running config is immediately changed…. Juniper uses what’s called a Candidate Configuration. Basically what this means is, that when you are making changes on the device, you are making changes not to the running configuration, but rather to a completely separate configuration called the Candidate Configuration, which will only be committed to the running-config when you type “commit”.

You can hit enter all you want after each command, and the running config will never change. Only the candidate config will change.

In addition to the “commit” command which will make the candidate config the running config… There is a “commit confirmed” command which IS A LIFE SAVER…

What the commit confirmed command means is…  make the candidate config the running config, just for 10 minutes. If within that 10 minutes I do not type “commit”.. then immediately revert the running config back to how it was BEFORE I type commit confirmed.. And it does all this WITHOUT the need to reboot.

Let’s revisit our earlier example of working remotely on a router when we lost connectivity… When working with Juniper equipment, you make all the changes you think are needed to resolve the issue. You can then type the “commit check” command to have the router verify if the changes you plan to make have any errors (another great feature of JUNOS). If all checks out, you can type the “commit confirmed x” command where X is a digit you would type to indicate number of minutes. For example,  “commit confirmed 15” would commit the changes in the candidate config to the running config for 15 minutes. If within that 15 minutes you do not type “commit”, the changes will revert back.

So once we make all our changes, we will type “commit confirmed” (if you do not indicate minutes, it will default to 10 minutes)… So even if I lost connectivity due to my changes, the router will revert back in 10 minutes because I did not type commit.

Once it reverts back, I know that the changes I made broke connectivity, so this time I will make the necessary changes on my candidate config that WON’T make me lose connectivity, and type “commit confirmed again”… Within those 10 minutes I will very that all looks good, and the initial issue is resolved.. When I am confident the changes are good, I will type “commit”

All without the need to drive into the office, or reboot the device… Very mistake proof. Juniper JUNOS can really help alleviate some of these stressful scenarios Network Engineers often find themselves in.

Which do I recommend, Cisco or Juniper?

I recommend learning Cisco FIRST if possible, to get your feet wet with networking… Once you have a little networking experience, study for and pass your JNCIA.

Because there are a lack of candidates that have Juniper experience or credentials… Having your JNCIA, even with Cisco hands on networking experience is often more than enough to get you a good job in a Juniper shop.

In addition, because the Cisco networking track covers more in-depth networking topics, when you do transition to Juniper you will be more prepared.