This week I’m continuing my DevNet Professional journey and discussing the DEVCOR exam topics I reviewed this past week: 2.0 Using APIs.
The topics in this section really makes you dive in and think about how users access your application, whereas the topics covered in 1.0 Software Development and Design mostly cover the architecture of applications. To many network engineers, these topics may seem overwhelming and almost unrelated to your current job of designing and building networks… because it is… However, the whole point of the DevNet certification track is to show how network engineering and monitoring can change in the future through automation and software development practices. You must keep your mind open to these new software development concepts.
The surprising thing I found is that you can learn these DevNet topics like you did when you studied for the CCNA. I remember studying for my CCNA a little over 3 years ago and thought how overwhelming the information was about each networking topic. From learning about MAC addresses and layer 2 operations (STP) to layer 3 and routing protocols (EIGRP, OSPF, BGP), I remember thinking, “How does anyone learn all of this and remember each detail?”. Over time, I’ve learned that network engineers do not remember each and every detail, but know where to look and have the intuition to troubleshoot an issue. You can take this same concept when studying for the DEVCOR topics. Yes, for the exam, you will be expected to recall details about each topic. However, the goal of the exam is to allow you to understand the intricacies of an application’s architecture and have the ability to make proper decisions when building or troubleshooting an application in the future. With that being said, think back to your CCNA days, that exam gave you the ability to identify the intricacies of each layer in the networking stack (OSI layers 1-4), and provide the ability to make proper decisions when building networks in the future.
Week 2 Topics
For reference, here’s a screenshot from Cisco’s website of the topics covered under 2.0 Using APIs:
As you can see, these topics pivot away from consuming an API and focus more on constructing an API. There is a section (3.0 Cisco Platforms) that focuses more on consuming Cisco APIs, but I’ll get more into that next week. These topics felt like they were a stepping stone to the DevNet Associate and ENAUTO API topics. In those exams, you learned how to construct an API request and use Postman or a small Python script to make the request. DEVCOR builds on that by introducing a new authorization method (OAuth2) and proper error handling for REST API requests/responses ( HTTP Error Code 429 and other control flow techniques). These topics takes your “one-off” scripts and teaches you how they may be handled when integrating them into a larger application. For example, you can’t feed data into a function or method and just expect the output to be clean. When first starting out, the “blast radius” is somewhat small. You make one API request and receive an expected response. Once you begin building out a more complete application, you’ll need to add in error handling so that your application doesn’t crash.
Along with error handling, these topics also cover REST API operations, such as pagination and HTTP caching. Pagination is important because it can control the number of results that are returned, which leads to a better user experience. For example, no one likes to view websites that keep going on and on and on. Personally, if I see a tiny vertical scroll bar, I just hit CTRL+F and hope I find the information I’m looking for by using a keyword. HTTP caching is interesting and can enhance your APIs performance and make it operate quicker, which also leads to a better user experience. As you can see, all of these topics can be related back to enhancing the user experience.
My Week 2 Impressions
I definitely felt different while studying this week. At some points, I had to remind myself that this was not a traditional Cisco networking exam. This was the first week that I felt like I was in the software development world. Learning about APIs and the different components to consider when building or consuming one pulled me away from traditional networking. Besides bandwidth and delay considerations for the API’s user experience, I didn’t consider any other network-related topics. I didn’t think about routing convergence, spanning tree, or any other related technologies/protocols. I’m not discounting their importance – I just didn’t need to apply them in my studies, which felt odd when you realize you’re studying for a Cisco exam. Understanding the different components considered when constructing a RESTful API have been challenging, but exciting. I’m really beginning to understand API concepts from a developer’s point of view, instead of only from the consumer perspective.
These posts may be shorter than my normal posts, but I wanted to convey my experiences and impressions without rambling too much. Next week, I’ll be covering the exam topics found under 3.0 Cisco Platforms. This section of topics should be interesting because they relate back to the APIs of Cisco products, which I learned about when studying for the DevNet Associate and ENAUTO exams. As always, if you have any questions/feedback, please hit me up on Twitter (@devnetdan).
Thanks for reading and stay tuned for next week’s post!