Software skills: An essential part of modern-day network teams

Abstract

Marketplace forces are demanding that the network behaves like the cloud. Both the consumer and enterprise market expect on-demand services. Organizations will need to change their approach to the network. Networking professionals will have to shift from device-by-device management and utilize software systems to create, manage, and orchestrate the network.

Organizations will need to invest in 2 key areas if they hope to remain relevant in the twenty-first century. First, They will need to upskill their existing employees in basic software engineering and DevOps paradigms. Second, the organization must bring software professionals into the networking team.

Background

Back in the early dot-com era, networks were painstakingly created, one device at a time. Each device required a skilled engineer to log in and configure it via some preparatory command-line interface. The device-by-device process was time-consuming for an organization, as each piece of the network puzzle was slowly brought online.

At the same time, selecting network equipment also generally meant vendor lock-in. Network technologies of the time were largely standards-based. However, each vendor had their take on the networking standards with little concern for interoperability between themselves and their competitors. The risk of interoperability problems kept most companies locked into a single vendor for their networking needs. Let's face it; networking equipment manufacturers had little incentive to provide programming interfaces to their equipment.

That has continued to be the state of things. Virtualization and cloud technologies have allowed organizations to rapidly deploy new applications or services. Businesses can now scale up or down the infrastructure efficiently. The network has remained a device-by-device management paradigm.

Problem Statement

Software has always been an essential part of networking. Networking equipment needs software to run, after all. Like desktop computers, the operating systems that network equipment runs are proprietary and profitable for companies. Cisco's Integrated Operating system (IOS) propelled the company to dominance in the 90s and became the defacto method for configuring network devices. While IOS was a proprietary operating system, its interface was copied by the entire industry.

On the other side of the spectrum, some network engineers did develop their software tools to help ease the burden of various tasks they need to accomplish. In much the same way, a Unix system administrator would write utility scripts to manage their systems. These utility scripts from network engineers are often specific to engineers' needs and written in whatever language or format the engineer is familiar with. If the engineer left, the team was often left with a file folder of scripts they knew little about and without any actual documentation. Not a lot has changed with this approach to software for its network infrastructure for many organizations.

The network is going to have to behave more like the cloud.

The rise of virtualization technology for data centers, and ultimately what we know as the cloud, has a lot of executives asking why the network seems so much slower and harder to adjust to business demands. Networking teams are constantly under pressure to meet the growing needs of security, new products, and keeping operations online. There is no sign any of these pressures will slow down. The only way for the networking team and the organizations they support to survive will be through more automation. And automation means introducing more software to manual and time-consuming processes.

This change, of course, will not be easy for many long-time networking engineering veterans. Many will have concerns about their jobs. Many will simply resist the change or be overwhelmed at the prospect of learning new skill sets.

Suppose you look at what happened to engineers in the voice and video industries as they were forced to transition from analog networking to the ethernet technologies of today. Many of these engineers were left behind. These organizations invested little to prepare their most knowledgeable and experienced employees. A lot of these organizations, which were once industry titans, ultimately became less relevant.

How can organizations prepare for the following significant change in networking?

Solution

Upskill workers

First, organizations need to invest in the existing employee base they have. Not all will embrace new ways of doing things.

One of the significant shifts for the network engineering teams will be an emphasis on team collaboration. Networking engineering currently is still very much a solo endeavor. While there might be a team, the concepts of code review or the dreaded PR request are still a novelty for many.

Network engineers are CLI-driven animals, so starting there. Introduce the basics of Unix/Linux, git, and other CLI-driven software tools. These will come naturally to most network engineers.

Then move into introducing programming languages like python, code repository tools, collaboration tools, and continuous integration pipelines. They just need the basics of these items; the key will be to have your engineers start to think like developers.

Once this baseline is established, it should be evident which team members embrace the new way of operating. The organization should then invest in learning more advanced technologies. Ansible or Puppet for network automation, tools like GNS3 or EVE-NG for network simulation, and orchestration systems like ONS or Open Daylight. Whichever of these toolsets the organization has chosen for its evolution.

Part of the investment in these employees will require the organization to make space and time for them to learn. It also requires the organization to understand that people learn in different ways. An organization will need to be flexible with employees so long as that employee meets them halfway. The investment in those employees who show a desire and aptitude for this change will bring an immense amount of experience and knowledge to the organization's evolution efforts.

Hire a software engineer into the team

The second part of this team evolution is introducing a software engineer into the team. After all, upskilling the existing team is needed. Still, an organization cannot expect a network engineer to gain the same experience and proficiency as a software engineer with ten-plus years of experience.

The most significant benefit of introducing a professional software engineer to the team will be mentoring existing team members who are making the change to a more software-driven world.

The next most significant benefit will be collaboration; software engineers are accustomed to more agile methodologies of producing their work product. This agile approach requires a lot more constant communication with team members. Things like daily standups, maintaining documentation, and code reviews, to name a few. They can help the team develop new ways of collaborating efficiently.

Because networks have primarily been vendor-locked in the past, network engineers typically have only a few solution choices. Contrast that with the fact most software engineers have a nearly infinite set of options to solve a given problem. A good software engineer has to learn the ability to select the right tool or tools for the mission. An embedded software engineer can help the team filter out the noise and direct the team to the correct solution for the objective.

And, of course, let us not forget that an experienced software engineer can create practical tools and systems for the organization. They will make the team more productive overall.

Conclusion

Change is coming, and there will be great rewards for organizations that make the shift. Agile organizations that invest in their networking teams will gain the ability to adjust to rapidly changing market forces. These companies will innovate in their given industry and remain relevant for years.


Critical Infrastructure Vulnerability Scanning
An Overview