Yogi Berra once said, “When you come to a fork in the road, take it.” Now, for those who don’t know Yogi Berra – he was a Hall of Fame catcher for the New York Yankees who won 10 World Series rings, the most of any player in history. Yogi’s advice, while often peculiar, seemed sound on this front.
I can honestly say in my many years of working in technology, it has been some of the best advice as there have been many roads and many forks. Learning Python, for example, has been a road with many forks – and some sporks.
Six months ago, with no previous programming experience, I set out on a quest to embrace programmability. I became a Python therapist instead, and it was yet another reminder of how amazing working at Cisco is – how did this happen? Well, let me explain.
It all began at a DevNet Express event. It was exciting, confusing, and frustrating, as most things are in the beginning. I reacted skeptically to how learning Python would make my life simpler as a network engineer. As I fumbled through the exercises and labs, I could feel my blood pressure going up.
The trouble was that I didn’t get it, and I didn’t want to get it either. The curiosity that had served me so well and drove my passionate desire with networking wasn’t there, at first, when I was introduced to Python, API’s, and IDE’s. It was easier to pretend that I didn’t need this.
I was happy to put that away and imagine it didn’t happen.
End of the story? Well, no.
A few months later, I was invited to attend another Cisco DevNet Express event. This time though, I was asked to assist as a proctor. It’s one thing to be frustrated in learning, it’s another thing all together to TEACH the thing that frustrates you.
Teaching something I didn’t know, understand, and was honestly afraid of was going to be tough and perhaps as uninspiring as a physical education coach teaching junior high physical science.
So, with my most convincing fake smile, I said: “Okay. Fine, I’ll do it.” But, I wasn’t fine.
I still hadn’t come to grips with using Python to help me fix network problems. This Python programmability is a thing that, despite my best wishes, probably isn’t going away. It was time to get over myself and figure this out.
At the DevNet event, I tried to be the best proctor I could be. To my surprise, a fellow Cisco engineer in attendance reacted the same way I did at my first event. He would never admit it. But, he expressed his frustration with an even heightened level of emotion, determination, and fear that I did.
It was at that moment, it finally snapped – I realized this is part of the learning experience!
Every now and then, we go through fundamental shifts in our careers, where we would rather bury our head in the sand, and wish it would all go away. But, that’s a shortsighted way of looking at changes in our industry. It is these shifts and turns that make this field so exciting. It dawned on me in this moment that I also now have the opportunity to help others make the adjustment!
Boom! Light bulb moment! The Python therapist was born.
This is what makes Cisco such a great place to work. Our leadership team passionately encourages us to keep up with technological transitions. They know these transitions don’t happen overnight, and that businesses and people need time to get comfortable with and respond to the change in direction and thinking.
Now I understand that this includes the shift to programmability and the new way of doing things through API’s.
So, now instead of reluctantly waiting for the student that is going to slam their fist in frustration upon their keyboard, I am going to encourage it. Because the faster we get through that phase, the quicker our natural born curiosity will help us to try it again. That incremental success is what builds comfort with this new skill.
That is what is so special about the Cisco DevNet community. It is full of Python therapists that hold our hands and have a real desire to help us get over Pythonaphobia.
I still struggle, and many times fumble through trying to get something to work in Python. But, now I know I can make it work if I just allow myself the patience to persevere. It takes real effort to get my simple little script to work and, even then, when I get it to work I rewrite it, so it’s not so embarrassing to show it to somebody else.
I can live with that though as I work on my new skill, and help the next engineer in their Python journey.
Want to work for a company that encourages you to grow? Apply now.
Aaron, this is spot info as I feel exactly as you felt.
This blog is inspiring and, well, reluctantly will start to look into scripting.
Agreed, nowadays, this is becoming a must have skill.
Paul
This is a great article Aaron. You say what most technical people hate to admit. "This is hard"…"I'm frustrated"…"I don't understand". Learning to gravitate toward achieving the desired outcome, regardless of the difficult journey, is a great quality to have. I appreciate the article and the honesty you were willing to expose to your readers.
Great post Aaron! Thanks for the inspiration to dive back in!
Aaron, loved doing the workshop with you! You have a talent for writing as well!
Very inspiring!! I've been waiting to learn this language and brush up my old programming skills for a while now and after reading your article, I'm encouraged to enroll right away!! Thanks so much for sharing your experience, Aaron!
Great write-up and pictures! Fantastic to see event leveraging multiple Cisco teams!
spot on. I used to write a lot of TCL but then when the job changed, I did very little automation. So when our team switched to python, I struggled and still struggle but I haven't given up because of my curious nature. Great encouraging post.
This makes me feel so much better about how much I STRUGGLED years ago to try to learn CCNA. I am not technical and assumed that was my issue, but it's nice to know that even technical people can struggle with something completely new to them.
Thanks for your comment, Karen.
I know exactly how you feel.
Never give up. There is no such thing as a technical person or a non-technical person. Other than breathing, you aren't born with any capability. You develop it.
Somebody was once impressed at how easy I was able to complete a particular task. I had to admit that it took me years to make that task look easy.
For a long time, it felt like somebody was spoon feeding me Python. Now I can feed myself. But, the struggle hasn't gone away.
Love it! Yes, that is natural. I got my degree in Computer Science and I can tell you with certainty that is likely never going to go away. I remember being in our labs, late at night, people yelling at their screen, but no one thought they were strange… we all did and do it. Welcome to the programming club! 😀
Very inspiring, Aaron! We see this initial reaction on a daily basis. I'm socializing your blog and hope that it will encourage other people to take this "leap of faith". Nice write-up!
Oh Lord! I'm right in the midst of this frustration. My love for CLI and all things networking is deep seated it's so hard sometimes to embrace change but I know I need to remain relevant in the field of IT. On the flip side, I'm grateful for blogs like these. It's consoling to know I'm not alone in this. Thank you Aaron!!
Thanks for this Aaron. I got into networking 30 years ago cuz i sucked at Programming!! Good to be encouraged that i need to follow the advice i give my kids… and "just get your shoulder into it..". It is more frustrating than anything i've experienced in networking before though… that's why this was a good encouraging read to me. Thanks again.
Great blog Aaron. I wish you have some plug for our DevNet Create happening at California this week !
DevNet Create is a great event. I'm hoping I will be able to attend next year.
Aaron – It's great to see you LEADING!!
Hi Aaron,
This is a good inspirational post for anyone learning a new skill and struggling to persevere when they hit a roadblock. I am wanting to learn Python, not only as a job skill for my resume, but also more immediately to improve data analysis of support tickets for Cisco TAC. I have finished Introduction to Python as a course through Data Camp, and am also working through another class on Coursera. Do you know of any good resources you could point me to here in Cisco that can help with questions or pointers? Thanks and keep on learning and helping others!
What DevNet link do you recommend for getting started?
Hi Alison! "Coding & APIs" is a great DevNet module to begin with an introduction. You can find it here: https://developer.cisco.com/startnow/#coding-apis-v0
Alison – I also found a blog post by Hank Preston with some great getting started tips. https://blogs.cisco.com/developer/how-do-i-get-started-learning-network-programmability
Thank you Aaron! Great inspiration. I find it helpful to switch between books, online text material and online videos to improve my python skills. If I don't feel like reading today, I'll watch videos; and if I get tired of watching, I ask a very specific question on a search engine. I always get great results one way or another.
Thanks for the comment, Richard. This is great advice that works for me, too. I find it useful to utilize different methods of learning. It helps to keep me interested and engaged.
Everything can't comes in a night ,it may take months or years to master anything,Programming is also exceptional
Thanks for the blog,Got inspired !