step four – practice coding (let’s the fun begin)

At STEP TWO I advised you to complete a programming course. If you’ve done that, you should now have a ‘framework’ in you head and let’s get started with the fun part. Apply the knew knowledge and make it serve you. That’s why you started after all.

Key takeaway:

  • You learnt coding so you can solve your problems smarter. So do it!
  • If you learnt something once, it’s not enough. You need to apply and keep it fresh.
  • Expand your knowledge. You now know about strings, if statements, for loops. Look at network specific libraries, such as ipaddress, netmiko or NAPALM.
  • Slowly build up the confidence in yourself and your code.
  • Pick up a new language

Use it or lose it

I did a CCNA course in 2006-2007. During and right after that I was sent to two Cisco networking competitions; the Hungarian national graduate competition and Cisco Olympics in Kosice, Slovakia. I actually got pretty good results and won both of them. It felt great, I believed I mastered CCNA level networking skills. Then I went to university and didn’t touch a network device about a year. In 2008 I got invited to Bruno, Czech Republic to Cisco Networking Academy Games. When I started prepping, I didn’t even remember how to log in to console! I brushed up my skills a little and attended with much confidence, as I was a winner after all. I failed soooo miserably. I placed 14th out of 16! I was very disappointed in myself.

On the way back home to Hungary I received an email that I am eligible to attend at NetRiders, an international competition organized by Cisco. After reading it, I decided straight away I will do my best to prepare. I spent 4 days, 12 hours a day just to prepare. As I crammed through all the labs and the whole CCNA course material I got back into the “networking mode”.  The results came through the next day, was in the top 5 students out of 75, from 25 countries and won a trip to Silicon Valley in California.

Learn, practice and practice again

Of course I had to review the basic networking material again and again to make it really stick and I did that many times in the past 10 years and built on top the foundations when I did my CCNP and my CCIE RS.

If you decide to through a programming course, don’t be foolish to think that that will be enough. You really need to practice and creatively use your new skills to re-wire your brain. Here are a few tips how you can find opportunities to do so:

Look at your every day tasks and see if you can solve them programatically or with a linux tool, that you would otherwise do with Excel or even manually.

  • Do you need to order a text file alphabetically? Look at sort command in linux or write a small Python script to do it. This way also practice reading and writing files, for loops, structuring code into smaller functions.
  • Need to deploy a couple new devices? Why not create a Jinja2 template, add the IP addresses, hostnames, routing specifics into a YAML or JSON file and a small code to generate the code quickly?
  • Need to create a report from text files? Parse them with a small program and generate graphs with a Javascript library represent in a website.
  • Do you have a lab? Think about how you can reset it to initial configuration using NAPALM.

Building confidence

Network Automation may seem scary to you. To be frank, it does to me too. That’s actually a good thing, this means you’re responsible. We need to build up the confidence slowly in ourselves and in our tools. The more small problems you solved, the more prepared you become to tackle bigger things. The first script you write will probably not be fit for production. Do plenty of testing, challenge your code by running it agains corner cases, to see what happens. For example:

  • TASK: You want to extract the applied access lists from your text based config backups.
    CORNER CASE: The access-list not configured according to the naming standard
  • TASK: You connect to a device via it’s fully qualified domain name.
    CORNER CASE: The host is not in DNS.

what shall I do next?

Challenge yourself. If you learnt Python first, look at another language. Find out what interests you. Do you want to build a web interface for your tools? Learn JavaScript and HTML. Want to be more efficient in Linux? Loot at shell scripting? Interested in Desktop Apps? Take a peek at C# or Java.

Don’t miss out and stay motivated by subscribing to email alerts (right on desktop, bottom in mobile) or like our Facebook page.

Till next time…


2 thoughts on “step four – practice coding (let’s the fun begin)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s