Do network administrators need to know any programming languages
Jon_Cisco
Member Posts: 1,772 ■■■■■■■■□□
in CCNA & CCENT
I am certain I do not want to become a programmer.
I was wondering if people that are focusing on networking should be familiar with how to program and if so what would be a good area to start. I believe I will be taking one or two classes in Basic as part of my associates degree.
Any real world feedback would be greatly appreciated.
I was wondering if people that are focusing on networking should be familiar with how to program and if so what would be a good area to start. I believe I will be taking one or two classes in Basic as part of my associates degree.
Any real world feedback would be greatly appreciated.
Comments
-
elderkai Member Posts: 279Well, Jon, if you want to avoid any time of development I'm sure you can. However, keep in mind that while you don't want to be a programmer, being able to script simple things to automate aspects of your job and solve problem temporarily is extremely beneficial.
I'm a network engineer and while I have coworkers who don't write scripts for anything who are also just fine at their job, being able to do so only helps me do things with less pain and with more efficiency.
For a few real world examples, I'm a linux guy. I think it's easy to say that BASH is the easiest shell to come across already on a system. With that, I picked BASH as my shell scripting language just for convenience sake. There are many days where there's some repetitive task and I'll write a script to automate it as much as possible. At work we have a console router at a few of our branches. To get into a device on that console router, I could either remote to the router and then connect to the console or telnet to the router on port 200X where X is the line number of the console port. I wrote a script that we'll call 'scr' and now I can just do 'scr -a 1', 'scr -b 2', etc where -a would be a specific office.
Another good one is that lately I have had to check in various large shipments. For our check-in procedure, we have to email out to a distribution list in the company with a lot of information including every items product id, serial, and mac address if applicable. They wanted the format 'PRODUCTID: MAC-X SER-Y'. Instead of taking the time to scan in PID, type the rest, scan in MAC, type, SER I decide to write a script where I can just use my barcode scanner's auto line break feature and just scan everything in order into a file and have the script go through and format all the information just like the above. Saves a lot of time and pain. -
Magic Johnson Member Posts: 414Not in my experience however as part and parcel most people do know the basics of any language but I'd find it rather strange to see a network administrator that was an expert in c# for example.
-
Jon_Cisco Member Posts: 1,772 ■■■■■■■■□□Good feedback from both of you. The scripting is a great example. Something that is going to help me be better at my job but not necessarily a required job function.
Thank you for the responses. -
Dieg0M Member Posts: 861I know a ton of the network guys come from a programming background. If you want to be a better network engineer you need to be very efficient in your time and that means knowing a little bit of scripting to take shortcuts and automate your data aggregation process. TCL is the scripting language introduced by Cisco to do this. Check my blog for some examples of some scripts you might want to learn how to write and how they can be useful to you.Follow my CCDE journey at www.routingnull0.com
-
Magic Johnson Member Posts: 414I know a ton of the network guys come from a programming background. If you want to be a better network engineer you need to be very efficient in your time and that means knowing a little bit of scripting to take shortcuts and automate your data aggregation process. TCL is the scripting language introduced by Cisco to do this. Check my blog for some examples of some scripts you might want to learn how to write and how they can be useful to you.
Hey that's a cool blog Diego! (need to spread rep before giving it again)
I do think the OP though was referring to heavy programming as opposed to scripting though. -
DirtySouth Member Posts: 314 ■□□□□□□□□□I would say its not necessary, but like others have mentioned it certainly couldn't hurt. There are times I wish I knew more about scripting, but thats not to say you can't be successful without it.
-
theodoxa Member Posts: 1,340 ■■■■□□□□□□Some scripting or web design knowledge would definitely be helpful. I created a webpage using HTML, CSS and Javascript to create my notes. I took the template (text) and inserted drop down lists for anything that had only a few possible options. There was also another place in the template where the same information (device interface) had to be entered in two different places. I simply had had it copy the information from the first entry.R&S: CCENT → CCNA → CCNP → CCIE [ ]
Security: CCNA [ ]
Virtualization: VCA-DCV [ ] -
RouteMyPacket Member Posts: 1,104Well, Jon, if you want to avoid any time of development I'm sure you can. However, keep in mind that while you don't want to be a programmer, being able to script simple things to automate aspects of your job and solve problem temporarily is extremely beneficial.
I'm a network engineer and while I have coworkers who don't write scripts for anything who are also just fine at their job, being able to do so only helps me do things with less pain and with more efficiency.
For a few real world examples, I'm a linux guy. I think it's easy to say that BASH is the easiest shell to come across already on a system. With that, I picked BASH as my shell scripting language just for convenience sake. There are many days where there's some repetitive task and I'll write a script to automate it as much as possible. At work we have a console router at a few of our branches. To get into a device on that console router, I could either remote to the router and then connect to the console or telnet to the router on port 200X where X is the line number of the console port. I wrote a script that we'll call 'scr' and now I can just do 'scr -a 1', 'scr -b 2', etc where -a would be a specific office.
Another good one is that lately I have had to check in various large shipments. For our check-in procedure, we have to email out to a distribution list in the company with a lot of information including every items product id, serial, and mac address if applicable. They wanted the format 'PRODUCTID: MAC-X SER-Y'. Instead of taking the time to scan in PID, type the rest, scan in MAC, type, SER I decide to write a script where I can just use my barcode scanner's auto line break feature and just scan everything in order into a file and have the script go through and format all the information just like the above. Saves a lot of time and pain.
Correct but "Scripting" is different from being a "Programmer". To answer the OP, "scripting" is a good little skill to have especially in System Administration. elderkai mentioned a few scenarios as to why, it keeps administrative overhead to a minimum.
Programming = No
Scripting = Sure, automation is great.
I would lean toward PowerShell but you will find VBScript still plays a major part in a lot of environments (logon scripts etc). Any Sys Admin who doesn't incorporate scripting into daily tasks is a pretty pathetic Sys Admin IMO.Modularity and Design Simplicity:
Think of the 2:00 a.m. test—if you were awakened in the
middle of the night because of a network problem and had to figure out the
traffic flows in your network while you were half asleep, could you do it? -
EdTheLad Member Posts: 2,111 ■■■■□□□□□□Absolutely, if you plan on doing any type of testing, you really need to know some scripting. You don't have to be an expert, you just need to be able to read a scripts and make modifications. Cisco has TCL built into the IOS, this runs scripts and applets. Networking is looking like its going down the SDN route, everything will be managed by servers, if thats he case, you can be guaranteed their will be lots of scripting in the future.Networking, sometimes i love it, mostly i hate it.Its all about the $$$$
-
alxx Member Posts: 755Hell yeah you need to know a programming/scripting language or few!
Most likely - tcl , python or perl and bash (and regex in one or few of those as well)
javascript and nodejs come in very handy.
Python is fairly easy to start with and is great for easy network programming and testing.
codeschool has a good easy tutorial plus lots of stuff on python and raspberrypi board on the net (the pi is also great for network test box )
I'd disagree on there being much difference between programming and scripting especially when using python or perl.
A lot depends on where you want to end up working and not limiting your opportunities.
I've end up in systems engineer/networking/IT support/dev ops position.
50% is programming ,25% networking and support, 25% modelling/simulations
Though I've come from a Computer Systems Engineering backgroundGoals CCNA by dec 2013, CCNP by end of 2014 -
rowelld Member Posts: 176I agree with alxx. You should definitely know some programming. You don't have to be an expert but it is beneficial to know programming and scripting. Especially with SDN around the corner and ACI -- from Cisco.
It's going to be more prevalent in the future.Visit my blog: http://www.packet6.com - I'm on the CWNE journey! -
Jon_Cisco Member Posts: 1,772 ■■■■■■■■□□This is why I have posted here. It is great to get the opinions of people that are actually working in the field. I am currently in the Cisco Networking academy but I realize there is a lot more to working in the field then just passing the certs.
I am trying to get a basic understanding of what is required to be successful so I can move quickly once I do transition to a Networking career. I will try to pick up a book or two on scripting that I can refer to while taking a beginners programming class. At least I will have some exposure to it.
Thanks again, I love this site. It is amazing how much negative feedback you can get from people who failed to break into the IT field. This site is full of people making things happen for themselves. -
networker050184 Mod Posts: 11,962 ModThe reason you get so many varying answers is because the networking field is huge and many different roles within it. You have enterprise, managed services, service providers, partners, vendors etc. and within those you have the support, operations, engineering etc. Some of these jobs might benefit greatly from scripting or programming and some it is of no use. Learning to write, or at least read and modify, scripts is never a bad thing though.An expert is a man who has made all the mistakes which can be made.
-
alxx Member Posts: 755This is why I have posted here. It is great to get the opinions of people that are actually working in the field. I am currently in the Cisco Networking academy but I realize there is a lot more to working in the field then just passing the certs.
I am trying to get a basic understanding of what is required to be successful so I can move quickly once I do transition to a Networking career. I will try to pick up a book or two on scripting that I can refer to while taking a beginners programming class. At least I will have some exposure to it.
Thanks again, I love this site. It is amazing how much negative feedback you can get from people who failed to break into the IT field. This site is full of people making things happen for themselves.
One important thing is to know (and say) when you don't know something and ask good questions(you're off to a good start on this one ).
Never bs a boss or supervisorGoals CCNA by dec 2013, CCNP by end of 2014