Junos AutomationIn order to Automate, you have to deconstruct and then rebuild…automation (and most other programming tasks) begin with task deconstruction.

If you have read my about me post, then you know I have a background in scripting (and networking as well), but for this post, we’ll just focus on the programming/scripting skill-set. So…I like to code, and I’d like to think that I have strong logic skills, and thusly, I consider myself pretty good at programming logic. That being said, I recently watched a TedTalks segment about coding (Mitch Resnik’s: Let’s Teach Kids to Code), he introduced something that I had never verbalized in the same way, but as soon as he mentioned it, I knew it was SO true. He used reading as an analogy for coding and by no means am I trying to sum up his entire talk in this one paraphrase, but he said when “we learn to read, we can then read to learn”, but he also said when “we learn to code, we can also code to learn”. That is actually an astounding observation. Most people probably don’t think about it, but when you learn to code, you have to teach a very fast (but arguably quite dumb) machine how to do something that you already know how to do, so it can do it for you, albeit much faster. But, with that being said, there is a caveat…you have to know how to do (in your mind) what you are trying to teach it.

Being an instructor, this seems a natural topic for me. I cannot teach a student how to do something if I don’t understand it myself. I have heard that Albert Einstein said that “If you cannot teach something, then you don’t understand it well enough.” That is an interesting concept. If I really, really, know something and am somewhat articulate, I hopefully can explain to someone else how to do it too. Programming a computer is the same way. You have to think about what you want it to do, and often times, it causes you to stop and actually think (gasp!) about how you do something that may even come so naturally that it is second nature to you. It’s a bit of deconstruction…how do you teach a child how to tie his shoes (yes, I know velcro pretty much negates that need now)? You have to break the process down into steps and maybe make a few hole-hopping rabbit analogies too. Once you break things down into steps, you learn more about how you think about things and in the process, you may even learn more about How You Should Think about things.

So…in efforts of finishing up this “rant”, I will leave you with the catalyst (or seed) that started this whole train of thought…

In a recent programming course, I was asked to write a program that would determine if a number was a prime number or not. While I certainly know how to tell you if a number is a prime number (it can only be divisible by 1 and itself), it certainly wasn’t as straight-forward to tell a computer how to identify if a number was a prime number. If you want to understand how you think, try to write instructions for a computer (or for a 3rd grader for that matter) to tell if a number is a prime number. Hopefully it will give you a new appreciation for coding to learn.  We have the technology and the know-how…we can rebuild anything (and everything).

6_million_Dollar_ManOh and if you’re too young to get the title, try watching the TV series opening clip – at about 0:37, you’ll hear it…We can rebuild him. We have the technology…


Leave a Reply