Why I gave up Networking for Software

Posted by Dave on 25 August 2014

It's now been 3 months since I transitioned from Networking to Software. This is a retrospective piece on my reasons for giving up on Networking.

Introduction

You might be reading this thinking:

"another networking guy moving to software... network engineering is doomed".

If you are, stop thinking right now. There is one important thing about my story that is very different. I've been writing software for longer than I have been doing networking albeit not in a professional capacity. Software Engineering is where my passion lies right now and let me explain why...

My Reasons

1. DevOps

DevOps for Networking is still, very slowly, becoming reality. Elsewhere DevOps is very much in full swing. Tools like:

Vagrant, Packer, Puppet, Chef, SaltStack, Ansible, Fig, Docker, Jenkins/TravisCI, Dokku, Heroku, OpenShift (the list goes on)...

have redefined how I work and being in an environment where I can build things with them day to day is a dream come true for me.

I get gersburms just thinking about building Continous Integration/Continous Delivery Pipelines, Automated creation of Dev/Test environments and Configuration as Code.

2. SDN

Software-Defined Networking was the turning point in my career. It enabled me to make the switch in career paths that I coveted. As a software engineer I can be an active part of building the next-generation of networking solutions rather than just commenting on developments from the sidelines.

3. Open Standards

When I was at HP, I tried to get involved in the IETF. I went to meetings, I listened and I occasionally participated. My biggest issue was that I am not an academic - I'm a practical kind of guy. Therefore any value I could have in the Open Standards space would come from implementing a protocol and sharing my experiences with the community in terms of clarification questions, errata and suggestions for improvement.

4. Pace of Innovation

Let's be honest about Networking... Things move about as fast as an asthmatic sloth with a broken leg and a ketamine addiction. New protocols and technologies are normally a long time in the making and take years to get adopted. One of the things that attracted me to software is that there seems to be a new framework/technology/language every five minutes... and thanks to GitHub it's usually easier to discover than having to trawl the web for an obscure academic paper.

5. Sharing

One of my "big issues" with Networking is just how much information comes under NDA/CDA. You can know a lot but be forbidden from sharing it. This culture of secrets is really unhealthy IMHO and I am a big supported of the "Open Source Way". Being in a position to write Open Source software and to be actively encouraged to share information was another dream come true for me.

Conclusion

I haven't really given up networking... I like to think of it as approaching it from a different angle :)

Network Engineering is not doomed. As I've said before... Stahp it with the Network programmer FUD already. It's definately still relevant and while DevOps and SDN will change some of the fundamental practices I think that it will change the profession in a positive way.

The best piece of career advice I ever received was to "follow your passion". That's exactly what I'm doing here.

@dave_tucker