top of page

How I Passed the Cisco NPDESI 300-550 Exam

What’s good LabEveryday family?

Recently, I passed the 300-550 Cisco Designing and Implementing Cisco Network Programmability Exam v1.1. This exam not only provided me a new certification, but it also recertified my CCNP R&S.

In this post, my goal is to help you begin your network programmability journey, while providing feedback on the exam, along with resources and strategies to help you pass the exam.

Before we begin, I would like to send a huge thank you to my family, Erica Cooper, Ron Aarts, The #LabEveryday Community and to the Cisco Learning Network! With starting a new job, buying our first house, and expecting our 4th child, life has been challenging to say the least. On top of all of that, I failed this exam twice with my CCNP expected to expire within 3 days of my passing attempt.

Talk about pressure! I definitely could not have passed this exam without God and the support of everyone I mentioned. So, again I say, thank you!

Let’s Face it!

1. What are the perquisites for the 300-550?

Any CCNP or CCDP certification or any CCIE or CCDE certification can act as a prerequisite for this certification. The actual certification that you obtain is the Design and Implementation Specialist. Another thing to note, is that this cert is only valid for 2 years. There’s also the 300-560 exam that seems to cover the same info and it re-certifies your CCNA and CCNP.

Bonus: The 300-560 does not have any perquisites. So, anyone can take this exam.

2. Where do you start?

You should always start with a vendor’s certification exam topics. This certification is no different. The Cisco Learning Network is where you will find the 300-550 exam topics. {Pause} Ok, I need to make a confession. I failed this exam twice, because I did not take my own advice. Usually, I download the exam topics and upload them to OneNote, making each topic section its own page. From there I take that section's subtopics and create an outline. Once everything is in an outline format, I begin watching videos and reading while taking notes and adding them to my OneNote outline. This process allows me to know when and if I have covered all the information that I need to know to pass the exam.

Finally, on the third attempt, I went back to this strategy!

3. What does the 300-550 exam cover?

I have to be honest. When I first started this exam journey, I was like WTF! Everything seemed so broad and all over the place. “You mean I have to learn, Python, Linux, ACI, YANG, NETCONF, Ansible, Git, REST, OpenDaylight, OpenFlow, and DevOps?” If most of these terms are foreign to you, then you are starting at about the same point I did. But truthfully, I was blessed to have been learning and writing python scripts in production for 4 months prior. I also went through a week-long DevOps course and became DevOps certified through the DevOps Foundation (I will talk more on this in a future post).

4. What is Network Programmability and Orchestration?

This is a broad term. Think of Network programmability as configuring and managing the network in a programmatic way. Let’s say you had to verify that several switches have the correct hostname, ip address, vlans, 802.1x, trunks, device serial number, and image configuration? How long would it take to do this for each switch, let alone several hundred? Being tasked with this exact project, is how I learned to automate.

Now what is orchestration? If you have ever used Cisco Prime? That’s more of an orchestrator. You manage multiple devices from a single location. The same goes for the Cisco APIC. It’s a single point of management for Cisco’s ACI (Application Centric Infrastructure).

5. Do I need to know python?

The question is not do you need to know python. The real question is, do you want to standout and be the best network engineer possible? Technology is changing at a far more rapid rate than when I started 20 years ago. Python is used to automate everything from monitoring up-links to standing up ACI.

Embrace the automation path towards full blown network orchestration.

Once you begin this journey, another question you will ask yourself is should you learn Python 2.7 or Python 3. I started with Python 3, but found in my new position that everything was written in 2.7, including the acitool kit. But that’s something we can talk about in another post.

Here's a great resource to learn the basics of python:

I absolutely love this course. When I started writing scripts all I wanted to do was implement them in my environment. I didn’t care anything about learning Python. Then I realized how much I needed to understand English before I started writing blog posts. Writing in Python can be painful if you don’t start with the basics.

6. What resources do you use?

Throughout this post I have been sharing different resources. Here, I will list everything!

This is a list I used to not only pass the exam, but also to improve my automation skills as a network engineer.

  • Books:

In my opinion, this book is where you should begin learning network programmability. It does a great job of giving you a brief overview of where SDN began and how it has evolved. Since tech is moving so fast, some of the information is a little dated and I did find it hard to read from front to back. The best way I was able to approach this book, was by reading the specific topics that I wanted to learn about. Again, this book is more of an overview.

This book is interesting. I actually purchased it about a year ago and ended up giving it away on YouTube. The information at the time was over my head. Fast forward to me failing the exam twice, I was googling for legit study materials, and I came across this post. I immediately purchased the book and read all 300 pages in a weekend. S/O to the authors for making this book very readable. Another thing that helped me was the fact that I was configuring and managing ACI and Nexus everyday on my job.

Again, it always helps when you #LabEveryday the material you are preparing to test over!

  • Videos:

S/O to David Bombal. This course was my first introduction to network programmability. If you have seen anything by David, then you know his work is always professional and well put together. Plus, you cannot beat $10 on Udemy!

Automating Network Devices with Python and Netmiko:

by Greg Mueller

This course by far is my favorite course on YouTube, ever! It is straight to the point and easy to follow. If you are looking to begin automating in your homelabs today, then this course will have you using NetMiko in no time. I have to mention though before you automate in your live environment, be sure you talk to your management and lead. Some organizations have code review and stringent change control policies in place. Automation is a tool. You have to know how and what to hammer before you begin swinging!

If you are working towards the NDESI or if you want to learn ACI, APIC, GIT, Nexus, REST, RESTCONF, and NETCONF, this is the best course you will find. Quick note: If you are attending Cisco Live and will be attempting a certification exam, one perk you will receive is a free one-month Cisco digital library subscription. S/O to the Cisco Learning Network for proving me this awesome resource. There are some other valuable takeaways from this course. Along with videos, it also has the written material and quizzes after each section. It also has actual labs to test everything that they cover. For example, when you are in the section on the Cisco APIC, they give you a Sandbox that has Ubuntu and access to the Cisco APIC. From there you can use Postman, write python scripts and more. I told you this course is loaded!

For those of you looking to dive deeply into learning Python as a Network Engineer, this course may go the most in-depth. Chuck Black did a great job here. The thing I noticed about this course is that it covers Python 2.7. Again, most of Cisco’s tool kits are written for 2.7 but with it being no longer supported soon, I think we will see a huge shift to Python 3 in the next few months.

Here's another great course by MIT. It goes in-depth to help you understand computer programming. S/O to my friend Kwasi for this plug. It has helped me tremendously!

  • Labs:

Labbing to learn network programmability is FUN! You don’t need anything but a laptop and an internet connection. From there you log on to Cisco DevNet, download Cisco Anyconnect and begin going through their many learning labs. It’s that simple! I love the team at Cisco DevNet. They are all about helping to build the next generation of engineers and developers. Check out my interviews with Susie, Mandy, and Hank here:

7. Do you need a homelab?

CCNA, CCNP, CCIE Homelab Mr. Bates Homelab

Have you seen this homelab? Well, Mr. Bates has an entire datacenter in his basement which has helped him to achieve two CCIE’s. He told me that he now only needs Cisco Virl. I love my lab and in my new home, I have cat 6 at every outlet, just so I can access my lab from anywhere.

What are your thoughts on this topic?

8. Summary of the NPDESI

This exam for me was like getting my CCNA all over again. The CCNA changed my life, because it introduced me to a new world of technical opportunity. I believe Network Programmability will do the same. Although I failed this exam on two occasions, I am thankful for the extra work, knowledge and experience that I gained. This will make me a better Network Engineer. My goal is to one day transform an organization’s operations from being reactive to proactive, by using automation and orchestration, while sharing my knowledge to help others change their own lives!

I hope this information has been helpful and will assist you with passing your NPDESI!


6,663 views1 comment

Recent Posts

See All

1 Comment

Great information .

Thank you .

Looking forward to follow your tracts 👌

bottom of page