+ Reply to Thread
Results 1 to 9 of 9
  1. Senior Member pitviper's Avatar
    Join Date
    May 2008
    Location
    Right Coast, US
    Posts
    1,362

    Certifications
    CCNP:Collaboration, CCNP:R+S, CCNA:R+S, CCNA:V(IIUC), CCNA:S, CCENT, CNSS 4011
    #1

    Default Programming Languages for Network Automation

    So I'm looking to add some programming languages to my resume, specifically thinking about network automation / SDN. I was a computer system major in college (long time ago lol took assembler, data structures/object oriented programming, Java, VB, and C+/C# classes) but ended up going the network route and haven't done much outside of TCL scripting for a while. Any thoughts / suggestions?
    Reply With Quote Quote  

  2. SS -->
  3. Senior Member Mitechniq's Avatar
    Join Date
    Jun 2012
    Posts
    262

    Certifications
    CCNA, GIAC G2700, VCP5-DCV C|EH, ISC2 CISSP, AWS-PSA (Most have Expired)
    #2
    Python is the non developers programming language.
    Reply With Quote Quote  

  4. Senior Member dmoore44's Avatar
    Join Date
    Sep 2010
    Location
    DFW
    Posts
    627

    Certifications
    Security+, CISSP, CEH
    #3
    I'd say Pyhton... there's a library for just about everything, so it makes accomplishing something trivial.
    Enrolled
    Carnegie Mellon University MSIT: Information Security & Assurance

    Currently Reading

    School Books
    Reply With Quote Quote  

  5. Senior Member DoubleNNs's Avatar
    Join Date
    Oct 2012
    Location
    Charlotte, NC
    Posts
    1,931

    Certifications
    A+, VCA-DCV, Linux+/LPIC-1, AWS CSA, AWS Dev, AWS SysOps, Project+ [Expired: Net+, Sec+, CCENT, CCNA]
    #4
    Python.
    Goals for 2017:
    RHCSA, RHCE, LFCS: Ubuntu | Project+ | AWS Certified DevOps Engineer | Learn Docker, Kubernetes, Prometheus, Golang | Improve Python Programming
    Reply With Quote Quote  

  6. Senior Member
    Join Date
    May 2014
    Location
    NJ
    Posts
    849

    Certifications
    CCNP: R&S, CCDA, CCNA: Security, CCNA: R&S, MTA: Networking Fundamentals, Security+, Network+, Linux+, A+, Project+
    #5
    Look into using ANSIBLE. Really have to have no idea how to program, but it uses Python I believe on the back end. I can configure a new branch router by just filling out all the variables like WAN interface IP, office subnet (which plugs into EIGRP and DHCP pool), etc. Still need to turn the router on and get it on the network and SSH capable, but aside from that you just run ANSIBLE and it is configured pretty easily and without mistake. It's not all there yet for us but a good start. I deployed AAA config to every branch router using it as well.
    Last edited by hurricane1091; 09-28-2017 at 01:10 PM.
    Reply With Quote Quote  

  7. Senior Member pitviper's Avatar
    Join Date
    May 2008
    Location
    Right Coast, US
    Posts
    1,362

    Certifications
    CCNP:Collaboration, CCNP:R+S, CCNA:R+S, CCNA:V(IIUC), CCNA:S, CCENT, CNSS 4011
    #6
    Thanks all! I was leaning towards Python so will start there. Plus it's snake related so it's a natural fit

    I've played around with ANSIBLE recently but am more so looking for a do whatever I want language.
    Reply With Quote Quote  

  8. Senior Member
    Join Date
    May 2014
    Location
    NJ
    Posts
    849

    Certifications
    CCNP: R&S, CCDA, CCNA: Security, CCNA: R&S, MTA: Networking Fundamentals, Security+, Network+, Linux+, A+, Project+
    #7
    Let me know what you come up with. I intended on learning Python but couldn't really figure out a reason to use it. I deploy configs to multiple devices through playbooks, set up new routers through playbooks, and pretty much just couldn't figure out what I would need to use traditional programming for in the network world. I'm sure there's a ton of real-world use cases, I just haven't found one for me yet.
    Reply With Quote Quote  

  9. Senior Member
    Join Date
    Oct 2014
    Location
    San Francisco
    Posts
    143

    Certifications
    CCIE#14023 (R/S, Sec), JNCIE-SP #2332
    #8
    Please go to developer.cisco.com if you haven't already. There are a number of learning labs there. We've worked hard to enable programmability features in NXOS, IOS XR, and IOS XE. The other commenters are correct, Python is the language of choice. However, that's only half the battle. Figuring out the programmable interfaces like NETCONF/YANG are a big part of it. If you have access to the Cisco Live content library, you might also check out my session BRKCRS-2451 from Las Vegas, which goes into detail on how to script IOS XE devices. (A little shameless self-promotion here.)
    Reply With Quote Quote  

  10. Went to the dark side.... Moderator networker050184's Avatar
    Join Date
    Jul 2007
    Posts
    11,644

    Certifications
    CCNA, CCNP, CCIP, JNCIA-JUNOS, JNCIS-SP, JNCIP-SP, MCA200
    #9
    Python is good long term learning. Being able to write things that can interact with your inventory systems etc. is very valuable.

    To get something useful on the resume now I'd concentrate on some automation framework like Ansible instead though. Salt is another one used in the network world but less popular. You'll likely find that much more useful personally and professionally in the short term.
    An expert is a man who has made all the mistakes which can be made.
    Reply With Quote Quote  

+ Reply to Thread

Social Networking & Bookmarks