A new job type which has recently started to appear in job searches is a Network Automation Engineer.
The big question I get asked all the time is
“What does a Network Automation Engineer actually do?”
Network automation engineers are just performing the same tasks that network engineers do every day but using tools like Ansible, Salt, Chef and programming in Python. Network changes and deployments are not being done on the command line but via the network automation tools
Most network engineers today are still configuring networks the same way they have done for the last 20 years. Using console cables and CLI, configuring one device at a time with configuration files saved on laptops with random naming conventions depending on what mood they are in.
Things are changing, network configurations are no longer being saved with random names they are being version controlled in Git.
Network changes are being approved with pull requests and implemented via CI/CD pipelines with automated testing in virtual environments before being pushed to production.
There is a new breed of network engineer, the Network Automation Engineer!
Search Google for ‘network automation engineer jobs‘ and you will see more and more companies recruiting for this job type.
They are using all the tools above to help get the job done.
For a full review of all the tools above check out my post on
Network Automation Tools
Network automation engineer jobs description
Experience of automation/orchestration using any of the following: Chef, Ansible, Python, YAML. The role will be allow some working from home, between 2 – 3 days onsite each week – API/REST – Automation, Network Automation, Wireless, LAN/WAN – WiFi – Scripting, Coding & Automation of Networks
Network & Automation Engineer – Ansible, Python, API, LAN/WAN Network Engineer with automation/orchestration experience, using tools such as Chef, Ansible, Python, YAML. This role will involve implementing a new office LAN, rolling out Catalyst 3650/4500, Nexus & Juniper Switches and automating. Experience deploying automated Cisco & Juniper switch configurations.
If any of the above appeals to you and you understand that Chef is not a cook and Python is not a snake, then you could be a network automation engineer.
If it means nothing to you, read on and it will all be explained.
Network Automation Engineer Salary
The salary of a network automation engineer is not going to be much different to that of a senior network engineer or consultant. However as time goes on any network automation engineer who can show skills in Python, Ansible, API’s, software development and network engineering will be a valuable asset to any company. So get your resume ready!
Network Automation Engineer Skills
The main skills that a network automation engineer needs to know in 2020 are a good grounding in software development tools like, Python, Git, Golang, VSCode. With also some real world experience using tools like Ansible, Saltstack & Puppet.
Now you don’t need to be a Python developer with 10 years experience, but a good understanding of Python concepts and being able to use it for network automation tasks is a must.
Network Automation Tools
The current tool of choice for network automation is Ansible and for good reason, firstly it’s free. Secondly it’s written in Python it is enabling network engineers to start automating networks with very little knowledge of Python.
All that’s needed is some basic Linux knowledge (Ansible can only be installed on Linux) an understanding of YAML and a task that you would like to automate.
Most people start with something simple like configuration backups or vlan creation or just some very simple changes like updating the NTP servers across all the switches in your environment.
So if all this sounds like something you would like to get on board with then get yourself a Linux machine, install Ansible and start automating your network.
Check out my Ansible Network Automation Course
What does Network Automation mean?
Network automation is using software and development tools to make changes to your network devices instead of connecting via the CLI to each device separately.
Why is Python used for Network Automation?
Python is a one of the most popular programming languages in use today. Whilst not designed for automating network devices, it is very good at performing scripting tasks, which is what most network configuration is based on. Cisco even now installs Python on most of it’s switches.
Does Cisco use Python?
Many Cisco switches and routers provide an on-box Python Interpreter that can be leveraged to execute scripts and programs directly on end devices.