I’ll start by saying that I am not a programmer. I’m an infrastructure engineer so you may ask what use can I have for learning python. Well it turns out plenty.
I started learning python in September 2016 as I had some hopes it could help me improve both the speed and quality of my work. I started learning the language following an excellent book by Eric Matthes:
Python Crash Course: A Hands-On, Project-Based Introduction to Programming
The book is as it’s name a great project based guide to learning the language. It really helps you get to grips with the language and it’s syntax when creating usable programs.
Some of the benefits of the language include:
- Ease of learning
- Fast and Powerful
- Works on all platforms
- Open source
Some other learning resources I’ve also used include the excellent app Sololearn Python and of course the vast wealth of information on the python.org site.
Of course if you are writing your own programs and trying to implement a specific function then Google and stack exchange will be forever useful.
My Real World Usage
If you’ve ever had had the need to do work that is both repetitive, time consuming and requiring complete accuracy then python will certainly be able to help. Some of the ways in which I have used the language to my benefit is to write programs to do the following types of jobs:
- Create Cisco Switch / Router Infrastructure access lists
- Translate NFS mount points to corresponding full paths
- Update Cisco ASA object / group configuration
- Isilon NFS Export Creation / Modification
- Isilon Quota Creation/Modification
- Isilon Quota Notification Creation
Some of my real world examples depend on related spreadsheets as per Isilon Bulk Quota Changes but most are dependent on the information provided to me via the request ticket. I will often use the method of using a text file as input with the required variable data which is then read by the program and modified for what I am trying to achieve. Working with complex strings is what most of the programs I write are doing.
If you are working in a similar role, I would definitely recommend you learn the language. It is fairly easy to pick up and once you do, it will assist you in making tasks which take many hours manually take considerably less with complete accuracy.
It is an incredibly broad language that can be used for all sorts of applications and once you start using it, you’ll start to think about all tasks you perform in your role, “how can I automate this?”. The most amazing thing is I have only just scratched the surface of what can be achieved.