Are you interested in software-defined networking (SDN) jobs, but your employer isn't ready? Consider working for an SDN vendor. One of SDN's pioneers, Nick McKeown, professor of electrical engineering and computer science at Stanford University, offers his Top 5 list of skills engineers interested in developing new SDN tools, products, infrastructure and applications should acquire:
- An understanding of how to design and build distributed systems will be the key differentiating skill much sought after in the next 10 years. Any designer with demonstrated experience and skill creating distributed systems will be in very high demand. Some network engineers will use SDN to program their own networks. However, most companies will buy software solutions from third parties for quite a while. Those third parties will need lots of skilled network programmers with great networking skills.
- Network engineers need to free themselves from the blinkered mindset that engineers adopt when writing legacy network software. Developing SDN products requires a developer to think beyond protocols, and instead think of programmatically controlling a network from a logically centralized vantage point.
- SDN jobs will demand a great knowledge of network virtualization. In the future, it will be commonplace for virtual network instances to be quite independent of the underlying physical network. Understanding why this is, and how virtual networks are created, will be critical. Just as a computer software engineer today must know how computer virtualization works and how to exploit it, the future networking engineer needs to know how network virtualization works.
- Network engineers will need the ability to think outside the box. Today, network control and management is dictated by equipment vendors who don't own or manage large networks. This "inside the box" thinking has led to networks that are hard to manage and troubleshoot, unreliable, and overly complex. The next generation of networking engineers will think about the network operation first, and then they'll consider what they need to programmatically control the forwarding devices.
- One of the big advantages of SDN is the creation of open interfaces. Until now, standards have taken years to emerge from standards bodies. In the future, open de facto standards will follow from popular working deployments -- just like in the software world. Developers with a clear understanding of the software development process -- particularly how open source projects function -- will have a clear advantage.
Read more about the SDN skills job-seekers should consider acquiring.