What does a Network Automation Engineer do?
As a Network Automation Engineer you will be expected to use devops methodologies and manage your network using software and not just the CLI. You will work towards reducing manual workload through automation and improve processes and tools.
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.
The term Network Automation Developer has also gained in popularity and this is someone who has a stronger focus on programming normally in Python or Golang. There is a crossover now between network engineers who know a bit of development and developers who know a bit of network engineering.
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.
If you are not even sure what network automation is – check out this post What is Network Automation?
Network automation engineer job 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.
Most roles hiring today are typically looking for a network automation engineer with strong Python skills.
If it means nothing to you, read on and it will all be explained.
Network Automation Engineer Salary
The salary of a senior network automation engineer is currently rising above that of of a senior network engineer or consultant. Mainly because they can show skills in Python, Ansible, API’s, software development and network engineering. These skills are in high demand as the number of engineers with them are rare. 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 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.
The other great benefit is that as more of the work is with software, working remote is more of an option.
Check out my Python for Network Engineers Tutorial with some simple scripts you can start using today
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.
Other interesting posts..
- Things I wish I knew before learning Network Automation – Leaders in the field share their insights.
- Python Scripts for Network Engineers
Frequently asked questions
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.
How do I become a Network Automation Engineer?
Start to learn Python or Ansible and performing some of your daily network admin tasks using these tools. Once you are doing some tasks using these tools you are a Network Automation Engineer! Just keep advancing your knowledge and learning and at some point you can progress to a full time role where this is all you do!
Will Network Engineers be replaced?
This is one of the fears that automation and AI will replace network engineers. The truth of the matter is that businesses need network engineers more, they just need them to do more and this is where automation helps.
Are Network Automation skills in demand?
In general, network automation skills are in high demand. This is especially true at larger enterprise or service provider networks. Having the ability to configure the network via automation is becoming a must have for network owners.
- What does a Network Automation Engineer do?
- Network automation engineer job description
- Network Automation Engineer Salary
- Network Automation Engineer Skills
- Network Automation Tools