cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
740
Views
30
Helpful
16
Replies
hfakoor222
Participant

As a network engineer should I learn Linux or Python

I'm about to start applications for network engineering positions. I do litigation/cyber fraud forensics.

 

My SQL skills on a technical level are pretty decent, I have a SQL Expert cert through Oracle, although almost 0 database management experience, however I'm taking a graduate level SQL database enterprise course. I've done machine coding and routines using SQL with VBA in various positions.

 

As a network engineer I'm wondering if Linux or Python is better. I read that python is good for SD WANs and automation.

 

However I've recognized Linux can be used in the creation of virtual network functions, or virtual devices. I'm interested in learning network administration (ip addressing, SNMP, building Linux firewalls ~ I'm currently learning and refining skills using freeradius through Ubuntu).  How practical is doing all of this on Linux used in the workplace? I read online they suggest learn Python from several forums, however to me it seems the tasks mentioned above make Linux a valuable skill to have as a network engineer. And maybe the Linux skills could complement SQL in database management or call on the SQL database to be used? However I don't want to learn Linux and not use it. Python from what I've read would be readily applicable in writing various scripts that can automate tasks and be reapplied, which would make my employer appreciate those skillIs.

 

I do not wanmt to learn both right now.. Rather focus on learning and becoming good t using 1, however its really only worth it if I can apply it in the workplace.

Does any one have advice? Their thoughts or experiences or what either one is used for on a day-to-day or month-to-month use in the workplace?

16 REPLIES 16
Flavio Miranda
Advisor

If you need to choose, no doubt Python is better and way more importante for networking. 

 But, spend time in Python when you are confident in networking.  You mencioned sdwan which is realy great and python is important to automate task using vManage API, but how good are you in sdwan?

 I think Python is really important and can make huge difference for networking but dont forget about networking.  There are a lot o technology coming besides sdwam like sda and aci. If you master this technokogy, Python can or not be important.

Thank you,

 

 

more adivce would be valuable to me

 

If you have to learn just one then choose Python as it is more directly relevant at the moment to networking. 

 

That said I started my life in IT as Unix admin (Solaris) before moving across to networking and I have found it a very useful skill to have eg. all my scripts etc. run on a CentOS VM and it certainly helps to be comfortable on the command line in Linux when you do this. 

 

And it never hurts to understand how the networking works for multiple operating systems because after all the network does not exist in isolation, it is there to server a purpose of connecting end users with applications etc. 

 

Jon

hfakoor222
Participant

Hmm thank you OK,

 

 

More advice  appreciated

hfakoor222
Participant

I found Python DNA center Labs on the Devnet website, should I go ahead and focus on these? 

hfakoor222
Participant

Bump

 

 

Any more advice on which one is better, and or which areas withing Linux or Python I should be focusing on is appreciated

balaji.bandi
VIP Guru

learn Linux or Python

If you looking to learn Python, you need to know Linux too as a basic Operating system, Until you run Python scripting in Windows Box.

 

For most of the use cases - i also use Linux to use Python script, its much faster, and also you can create a lot of test environments to test your scripts (compare to Windows - my view)

 

With the network engineer experience, having other area experience/hands is also good to solve many other issues in a real environment, to prove that it was not a network and security issue.

 

Linux is a tool that is Opensource and you can build a lot of network tools for your company to save a lot of money. and Most of the Cloud-based system underlay built on top of Linux based code, which adds advantages there.

 

This is my view and suggestion based on your post only.

 

 

BB

***** Rate All Helpful Responses *****

How to Ask The Cisco Community for Help

This is in part what I was thinking as well, I may approach to just learn both

hfakoor222
Participant

Any more advice?

hfakoor222
Participant

I have another question

If I put in 3 hours a day, 21 hours a week, how long would it take for me to be able to apply Pythin meaningfully, even for basic use as a network engineer, to the point where I can put it in a resume.

 

In example LACP bundling, network logging etc.

Just want to remind you this is a Cisco technical Forum(we suggest best what we can to guide you in a good direction - we believe). If you are looking for serious learning focus on learning and improvising skills, by working on your goal. or Opt for a trainer to assess your skills.

 

It all depends on what situation you are in, it may take days to Months...so no one can assess individual capabilities. 

 

BB

***** Rate All Helpful Responses *****

How to Ask The Cisco Community for Help

 

Depends on how much general scripting/programming knowledge you already have and how quickly you learn which is impossible for us to guess. 

 

Python is not a difficult language to start with especially if you are only using objects etc. rather than designing your own classes etc. and you can become relatively productive quickly. 

 

If you are looking to automate then recommend you look into the Netmiko module which simplifies connecting to network devices etc. 

 

Jon

hfakoor222
Participant

I've started this video course which is a 107 videos course about 10-25 minutes a vid, on networking in Python through Linux mint

Python learning for Network Engineers Part 06 | First script using telnetlib in Python 2 & Python 3 - YouTube

 

In between video sets I'm reading general Linux information on some sites, and I'm practicing randomised skills in Linux from

Gary Explains - YouTube

for example disk partioning 

then will move onto a book for python or another video series as well as a good textbook for Linux for network engineers which i've already obtained and went through the contents page

 

Given from what I've seen from the 107 video set, and the Cisco Devnet website (where I practiced python in windows on a laptop vs on my Linux VM on desktop) Linux seems like a much better choice, especially if I decide to learn networking concepts aside from python.

 

 

 

Given everything I've mentioned I do have another question as I decide to dive in and spend hundreds of hours in the next few months learning this stuff.   Will Linux and Python be relevant in network engineering in 10 years from now? If so it only makes sense for me to devoe pretty much all my free time to Cisco networking and Linux/Python until I become productive.  If not it seems a bit depressing to know I have to spend hundreds of hours at least in next few months to learn Python/Linux after Ive been studying 10 hours a day on Cisco over last 4 months.

 

hfakoor222
Participant

I just got my first script to work, which I changed from python2 to 3 and now it prints output to terminal line

 

 

Does anyone have any decent recommendations python through linux scripting books for beginners for network engineers?