Chapter 5. Network Developer Environments

As a network engineer, you probably know how important it is to have an optimized working environment. In the physical sense, this might include things like having the right keyboard, sometimes using multiple monitors, and maybe even a standing desk to give you room for stretching out during those long troubleshooting sessions. You may have a bookshelf close at hand so your platform or protocol references are never too far away. This extends to the digital world too: you might have bookmarks to online references, or your network controller’s UI. Maybe you have your favorite terminal emulation tool, set up with scripts and shortcuts to get CLI access to all your network devices quickly.

In the same way, software developers often rely on a series of tools to not only stay productive, but also facilitate the development and eventual deployment of the code they write. Many of these tools are just as useful in a network automation context, and we discuss a few of them in this chapter.

Before we get started, it’s important to talk about some of the benefits you can expect by investing time in building a proper development environment:

Functional validation

One of the main reasons it’s important to build a development environment is so that we know the code we’re writing actually works. Professional developers don’t simply write code in Notepad and hope it works. They build using a variety of tools that not only provide feedback on their code ...

Get Network Programmability and Automation, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.