Use Your Networking Knowledge to Design Automation Solution

I’m getting plenty of emails from not-so-very-young networking engineers trying to make career transitions. I got this one from a CCIE in his mid-40s:

Would you think the SDN and Data Center paths would be suitable for a long standing engineer?

Absolutely. It's just networking, although it's sometimes disguised a bit.

This article was initially sent to my Network Automation mailing list.

For example, when you start deploying VMware NSX at multi-gigabit scale you need ECMP between Distributed Router and a group of Edge Services Routers, and it becomes a pure routing challenge.

I'm not passionate about programming though I learned a few languages (obsolete now) at university in 1987-1992.

Don't believe "we're all becoming programmers" mantra. You do need to focus on computational thinking and automation though. For example:

  • Split the things you're doing in smaller tasks;
  • Describe each task in well-defined steps;
  • Figure out how to verify each step (or each task);
  • Figure out how to verify that the whole procedure succeeds (= testing);
  • Develop error handling (= fallback / rollback / graceful degradation) plans.

After you've done the heavy lifting (and only someone intimately familiar with networking and having significant operation experience can do it for a large-scale network), any whizkid with Python, Ruby, or whatever skillz can turn it into a script, and will usually do it much better than you would. Why should you do that?

Will I have a niche working on SDN but avoiding full on programming? I'm keen to still work with the tangible things like hardware, designs and implementations.

Of course. While I hope we'll start using cookie-cutter approach to building small networks (yeah, sure), and a lot of undifferentiated stuff will move to the cloud (I'm amazed at how fast the migration of email to Office 365 is taking place), someone will still have to design large networks, test the whole stuff, and prepare the template configs to be deployed by an automation solution.

However, it helps if you know the tools and understand how they work even though you won’t use them yourself. That’s why I created a series of webinars and online courses that should help you make the transition from a traditional networking engineer to an engineer familiar with network automation:


  1. Great overview! Im trying to spearhead the network automation push within my team. Im finding most people are willing to work with you to make life easier they just cant think of ways to go about it.

    My appraoch has been all the troubleshooting notes and list of commands you use to gather facts lets build that into playbooks.

    Or whatever you do repeatidly (hourly, daily, weekly) lets look through that and see where Ansible and tools can help.

    After they see those things in action they get the idea and more start flooding in. Its all about starting slow
  2. "I'm not passionate about programming..."

    Are you passionate about math? I'm pretty sure you're already using math to design and maintain networks. Programming is another tool that you should have available in order to perform your job.
Add comment